:root{--nc-bg: #1a1a1a;--nc-surface: #262626;--nc-surface-2: #2d2d2d;--nc-surface-3: #363636;--nc-border: #3e3e3e;--nc-border-strong: #525252;--nc-text: #eff2f6;--nc-text-secondary: #b3b3b3;--nc-text-muted: #808080;--nc-accent: #ffa116;--nc-accent-hover: #ffb84d;--nc-green: #00b8a3;--nc-green-bg: rgba(0, 184, 163, .1);--nc-yellow: #ffc01e;--nc-yellow-bg: rgba(255, 192, 30, .1);--nc-red: #ff375f;--nc-red-bg: rgba(255, 55, 95, .1);--nc-blue: #0fa3ff;--nc-blue-bg: rgba(15, 163, 255, .1);--nc-purple: #b289f4;color:var(--nc-text);background:var(--nc-bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;font-synthesis:none;letter-spacing:0;text-rendering:optimizeLegibility;color-scheme:dark}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--nc-bg)}a{color:inherit;text-decoration:none}a:hover{color:var(--nc-accent)}button,input,select,textarea{font:inherit;color:inherit}button{background:transparent;border:0;cursor:pointer;display:inline-flex;align-items:center;gap:6px}button:disabled{cursor:not-allowed;opacity:.55}code,pre,.mono{font-family:Menlo,Cascadia Code,SFMono-Regular,Consolas,monospace}.app-shell{display:flex;flex-direction:column;min-height:100vh;background:var(--nc-bg)}.app-main{flex:1;min-width:0}.topnav{align-items:center;background:var(--nc-surface);border-bottom:1px solid var(--nc-border);display:flex;gap:24px;height:50px;padding:0 20px;position:sticky;top:0;z-index:30}.topnav-logo{align-items:center;display:inline-flex;font-size:18px;font-weight:700;gap:8px;letter-spacing:-.02em}.topnav-logo .logo-mark{background:var(--nc-accent);border-radius:6px;color:#1a1a1a;display:inline-flex;align-items:center;justify-content:center;font-weight:800;height:26px;width:26px}.topnav-links{align-items:center;display:flex;flex:1;gap:4px}.topnav-link{color:var(--nc-text-secondary);font-size:14px;font-weight:500;padding:6px 10px;border-radius:6px}.topnav-link:hover{background:var(--nc-surface-2);color:var(--nc-text)}.topnav-link.active{color:var(--nc-text)}.topnav-right{align-items:center;display:flex;gap:10px}.topnav-search{align-items:center;background:var(--nc-surface-2);border:1px solid transparent;border-radius:8px;display:flex;gap:6px;padding:6px 10px;width:200px}.topnav-search:focus-within{border-color:var(--nc-border-strong)}.topnav-search input{background:transparent;border:0;flex:1;min-width:0;outline:none;font-size:13px;color:var(--nc-text)}.topnav-search input::placeholder{color:var(--nc-text-muted)}.topnav-icon-btn{align-items:center;background:transparent;border-radius:6px;color:var(--nc-text-secondary);display:inline-flex;justify-content:center;height:32px;width:32px}.topnav-icon-btn:hover{background:var(--nc-surface-2);color:var(--nc-text)}.user-pill{align-items:center;background:var(--nc-surface-2);border-radius:999px;display:inline-flex;gap:8px;padding:4px 10px 4px 4px}.user-pill:hover{background:var(--nc-surface-3)}.user-avatar{background:linear-gradient(135deg,var(--nc-accent),var(--nc-red));border-radius:50%;color:#1a1a1a;display:inline-flex;align-items:center;font-weight:700;height:26px;justify-content:center;width:26px}.user-name{font-size:13px;font-weight:500}.btn-primary{background:var(--nc-accent);border-radius:8px;color:#1a1a1a;font-weight:600;justify-content:center;min-height:36px;padding:8px 14px}.btn-primary:hover:not(:disabled){background:var(--nc-accent-hover)}.btn-secondary{background:var(--nc-surface-2);border:1px solid var(--nc-border);border-radius:8px;color:var(--nc-text);font-weight:500;min-height:36px;padding:8px 12px}.btn-secondary:hover:not(:disabled){background:var(--nc-surface-3)}.btn-ghost{background:transparent;border-radius:6px;color:var(--nc-text-secondary);font-weight:500;padding:6px 10px}.btn-ghost:hover{background:var(--nc-surface-2);color:var(--nc-text)}.btn-success{background:var(--nc-green);border-radius:8px;color:#fff;font-weight:600;min-height:36px;padding:8px 14px}.btn-success:hover:not(:disabled){background:#15a294}input,select,textarea{background:var(--nc-surface-2);border:1px solid var(--nc-border);border-radius:8px;color:var(--nc-text);outline:none;padding:8px 10px}input:focus,select:focus,textarea:focus{border-color:var(--nc-accent)}.hero{background:linear-gradient(135deg,#181818,#2a1f0e);padding:80px 32px 60px;text-align:center}.hero h1{font-size:56px;font-weight:800;letter-spacing:-.03em;line-height:1.05;margin:0 auto 16px;max-width:900px}.hero h1 .accent{color:var(--nc-accent)}.hero p{color:var(--nc-text-secondary);font-size:18px;margin:0 auto 28px;max-width:620px}.hero-actions{display:inline-flex;gap:12px}.home-section{margin:0 auto;max-width:1200px;padding:40px 24px}.home-section h2{font-size:22px;font-weight:700;margin:0 0 16px}.feature-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.feature-card{background:var(--nc-surface);border:1px solid var(--nc-border);border-radius:12px;padding:20px}.feature-card .feat-icon{align-items:center;background:var(--nc-surface-2);border-radius:10px;color:var(--nc-accent);display:inline-flex;height:40px;justify-content:center;margin-bottom:12px;width:40px}.feature-card h3{font-size:16px;margin:0 0 6px}.feature-card p{color:var(--nc-text-secondary);font-size:13px;line-height:1.5;margin:0}.page-container{margin:0 auto;max-width:1280px;padding:24px}.problems-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.toolbar-chips{display:flex;flex-wrap:wrap;gap:8px}.chip{background:var(--nc-surface-2);border:1px solid transparent;border-radius:999px;color:var(--nc-text-secondary);font-size:12px;font-weight:600;padding:6px 12px}.chip:hover{background:var(--nc-surface-3);color:var(--nc-text)}.chip.active{background:var(--nc-accent);color:#1a1a1a}.chip.difficulty-easy.active{background:var(--nc-green);color:#0f1d1c}.chip.difficulty-medium.active{background:var(--nc-yellow);color:#2a1f0e}.chip.difficulty-hard.active{background:var(--nc-red);color:#fff}.search-bar{align-items:center;background:var(--nc-surface-2);border:1px solid var(--nc-border);border-radius:8px;display:flex;flex:1;gap:8px;min-width:200px;padding:6px 12px}.search-bar input{background:transparent;border:0;flex:1;font-size:14px;outline:none;padding:4px 0}.problems-stats{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:18px}.stat-card{background:var(--nc-surface);border:1px solid var(--nc-border);border-radius:12px;flex:1;min-width:160px;padding:14px 16px}.stat-card .stat-label{color:var(--nc-text-secondary);font-size:12px;text-transform:uppercase;letter-spacing:.05em}.stat-card .stat-value{display:block;font-size:22px;font-weight:700;margin-top:4px}.problems-table{background:var(--nc-surface);border:1px solid var(--nc-border);border-radius:12px;overflow:hidden}.problems-table table{border-collapse:collapse;width:100%}.problems-table th,.problems-table td{padding:12px 16px;text-align:left;font-size:14px}.problems-table th{background:var(--nc-surface-2);border-bottom:1px solid var(--nc-border);color:var(--nc-text-secondary);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.problems-table tbody tr{border-bottom:1px solid var(--nc-border)}.problems-table tbody tr:last-child{border-bottom:0}.problems-table tbody tr:nth-child(2n){background:#ffffff04}.problems-table tbody tr:hover{background:var(--nc-surface-2)}.problems-table a.problem-link{color:var(--nc-text);font-weight:500}.problems-table a.problem-link:hover{color:var(--nc-accent)}.problem-title-cell{align-items:center;display:flex;gap:10px;min-width:220px}.problem-thumb{background:var(--nc-surface-2);border:1px solid var(--nc-border);border-radius:6px;flex:0 0 auto;height:40px;object-fit:cover;width:64px}.cell-status{width:50px}.status-icon{align-items:center;display:inline-flex;justify-content:center}.status-icon.solved{color:var(--nc-green)}.status-icon.attempted{color:var(--nc-yellow)}.status-icon.unattempted{color:var(--nc-text-muted)}.difficulty-pill{font-weight:600;font-size:13px}.difficulty-pill.easy{color:var(--nc-green)}.difficulty-pill.medium{color:var(--nc-yellow)}.difficulty-pill.hard{color:var(--nc-red)}.tag-list{display:flex;flex-wrap:wrap;gap:4px}.tag-pill{background:var(--nc-surface-2);border-radius:999px;color:var(--nc-text-secondary);font-size:11px;padding:3px 8px}.profile-grid{display:grid;gap:20px;grid-template-columns:280px minmax(0,1fr)}.profile-card{background:var(--nc-surface);border:1px solid var(--nc-border);border-radius:12px;padding:20px}.profile-avatar{align-items:center;background:linear-gradient(135deg,var(--nc-accent),var(--nc-red));border-radius:50%;color:#1a1a1a;display:flex;font-size:32px;font-weight:800;height:80px;justify-content:center;margin:0 auto 12px;width:80px}.profile-card h2{font-size:20px;margin:0 0 4px;text-align:center}.profile-card .muted{color:var(--nc-text-secondary);font-size:13px;text-align:center}.profile-form{display:grid;gap:10px;margin-top:16px}.profile-form label{color:var(--nc-text-secondary);display:grid;font-size:12px;gap:4px}.solve-summary{display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.solve-tile{background:var(--nc-surface-2);border:1px solid var(--nc-border);border-radius:10px;padding:14px;text-align:center}.solve-tile .stat-value{font-size:24px;font-weight:700}.solve-tile .stat-label{color:var(--nc-text-secondary);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.solve-tile.easy .stat-value{color:var(--nc-green)}.solve-tile.medium .stat-value{color:var(--nc-yellow)}.solve-tile.hard .stat-value{color:var(--nc-red)}.recent-submissions{background:var(--nc-surface);border:1px solid var(--nc-border);border-radius:12px;margin-top:18px}.recent-submissions h3{border-bottom:1px solid var(--nc-border);font-size:14px;margin:0;padding:14px 16px}.recent-submissions ul{list-style:none;margin:0;padding:0}.recent-submissions li{align-items:center;border-bottom:1px solid var(--nc-border);display:flex;gap:12px;justify-content:space-between;padding:12px 16px;font-size:13px}.recent-submissions li:last-child{border-bottom:0}.recent-submissions .submission-title{display:flex;flex-direction:column;min-width:0}.recent-submissions .submission-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-submissions .submission-title .muted{color:var(--nc-text-secondary);font-size:11px}.submission-status{font-weight:600}.problem-page{display:grid;grid-template-rows:44px minmax(0,1fr);height:calc(100vh - 50px)}.problem-bar{align-items:center;background:var(--nc-surface);border-bottom:1px solid var(--nc-border);display:flex;gap:12px;padding:0 16px}.problem-bar .crumbs{color:var(--nc-text-secondary);font-size:13px}.problem-bar .spacer{flex:1}.problem-bar .run-buttons{display:flex;gap:8px}.split-pane{display:grid;gap:6px;grid-template-columns:minmax(280px,1fr) 6px minmax(380px,1fr);min-height:0;padding:6px;background:var(--nc-bg)}.split-handle{background:transparent;cursor:col-resize}.split-handle:hover{background:var(--nc-border-strong)}.panel{background:var(--nc-surface);border-radius:8px;display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden}.panel-tabs{align-items:center;background:var(--nc-surface-2);border-bottom:1px solid var(--nc-border);display:flex;gap:0;padding:0 4px;flex-shrink:0}.panel-tab{background:transparent;border-radius:0;color:var(--nc-text-secondary);font-size:13px;font-weight:500;padding:10px 14px;position:relative}.panel-tab:hover,.panel-tab.active{color:var(--nc-text)}.panel-tab.active:after{background:var(--nc-accent);bottom:0;content:"";height:2px;left:8px;position:absolute;right:8px}.panel-body{flex:1;min-height:0;overflow:auto;padding:16px 20px}.panel-body.tight{padding:0}.problem-heading{margin-bottom:12px}.problem-heading h1{font-size:22px;margin:0 0 8px}.problem-meta{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.problem-statement{color:#d8dee9;font-size:14px;line-height:1.7}.problem-figure{background:var(--nc-surface-2);border:1px solid var(--nc-border);border-radius:8px;margin:0 0 16px;overflow:hidden}.problem-figure img{aspect-ratio:16 / 9;display:block;object-fit:cover;width:100%}.problem-statement code{background:var(--nc-surface-2);border-radius:4px;font-size:12px;padding:2px 6px}.example-block{background:var(--nc-surface-2);border-radius:8px;margin:12px 0;padding:12px 14px}.example-block .example-label{color:var(--nc-text-secondary);font-size:12px;margin-bottom:4px;text-transform:uppercase;letter-spacing:.04em}.example-block pre{background:transparent;font-size:13px;margin:0;white-space:pre-wrap;word-break:break-word}.editor-toolbar{align-items:center;background:var(--nc-surface-2);border-bottom:1px solid var(--nc-border);display:flex;gap:8px;padding:6px 10px}.editor-toolbar select{background:var(--nc-surface);border:1px solid var(--nc-border);font-size:12px;font-weight:600;padding:4px 8px}.editor-shell{flex:1;min-height:0;position:relative}.fallback-editor{background:#1e1e1e;border:0;color:#d4d4d4;font-family:Menlo,Cascadia Code,Consolas,monospace;font-size:13px;height:100%;line-height:1.5;outline:none;padding:12px 16px;resize:none;width:100%}.console-panel{border-top:1px solid var(--nc-border);flex-shrink:0;max-height:40%;min-height:140px;display:flex;flex-direction:column}.console-tabs{align-items:center;background:var(--nc-surface-2);border-bottom:1px solid var(--nc-border);display:flex;gap:0;padding:0 4px;flex-shrink:0}.console-body{flex:1;min-height:0;overflow:auto;padding:12px 16px}.testcase-grid{display:grid;gap:8px;grid-template-columns:1fr}.testcase-chip-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.testcase-chip{background:var(--nc-surface-2);border-radius:6px;font-size:12px;padding:5px 10px}.testcase-chip.active{background:var(--nc-surface-3);color:var(--nc-accent)}.testcase-box{background:var(--nc-surface-2);border-radius:8px;padding:10px 12px}.testcase-box .label{color:var(--nc-text-secondary);font-size:11px;margin-bottom:4px;text-transform:uppercase;letter-spacing:.04em}.testcase-box code{background:transparent;font-size:13px;word-break:break-all}.run-result{border-radius:8px;padding:12px}.run-result.accepted{background:var(--nc-green-bg);border:1px solid rgba(0,184,163,.3)}.run-result.failed{background:var(--nc-red-bg);border:1px solid rgba(255,55,95,.3)}.run-result-header{align-items:center;display:flex;gap:8px;margin-bottom:8px}.run-result-header strong{font-size:18px}.run-result-header strong.accepted{color:var(--nc-green)}.run-result-header strong.failed{color:var(--nc-red)}.run-result-detail{color:var(--nc-text-secondary);font-size:12px}.test-result-row{align-items:flex-start;background:var(--nc-surface-2);border-radius:6px;display:grid;gap:8px;grid-template-columns:24px 1fr;margin-top:8px;padding:8px 10px}.test-result-row code{font-size:12px}.test-result-row .label{color:var(--nc-text-secondary);font-size:11px;margin-top:2px}.subs-list{border-collapse:collapse;width:100%}.subs-list th,.subs-list td{border-bottom:1px solid var(--nc-border);font-size:13px;padding:10px 12px;text-align:left}.subs-list th{color:var(--nc-text-secondary);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.empty-state{align-items:center;background:var(--nc-surface);border:1px dashed var(--nc-border);border-radius:12px;color:var(--nc-text-secondary);display:flex;flex-direction:column;gap:10px;min-height:200px;justify-content:center;padding:20px;text-align:center}.error-banner{align-items:center;background:var(--nc-red-bg);border:1px solid rgba(255,55,95,.3);border-radius:8px;color:var(--nc-red);display:flex;gap:10px;margin-bottom:12px;padding:10px 12px}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.signin-overlay{align-items:center;background:#0009;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;position:fixed;z-index:50}.signin-card{background:var(--nc-surface);border:1px solid var(--nc-border);border-radius:12px;max-width:360px;padding:28px;width:90%}.signin-card h2{margin:0 0 16px;text-align:center}.signin-card .muted{color:var(--nc-text-secondary);font-size:12px;margin-top:14px;text-align:center}.auth-page{align-items:center;display:flex;justify-content:center;min-height:calc(100vh - 50px);padding:24px}.auth-panel{background:var(--nc-surface);border:1px solid var(--nc-border);border-radius:12px;display:grid;gap:14px;max-width:420px;padding:28px;text-align:center;width:100%}.auth-mark{align-items:center;background:var(--nc-accent);border-radius:8px;color:#1a1a1a;display:inline-flex;font-size:24px;font-weight:800;height:42px;justify-content:center;justify-self:center;width:42px}.auth-panel h1{font-size:24px;margin:0}.auth-panel p{color:var(--nc-text-secondary);line-height:1.5;margin:0}.auth-actions{display:grid;gap:10px;margin-top:4px}.auth-actions button{justify-content:center}.auth-disabled,.auth-provider-note{background:var(--nc-surface-2);border:1px solid var(--nc-border);border-radius:8px;color:var(--nc-text-secondary);font-size:13px;padding:10px 12px}.admin-panel{background:var(--nc-surface);border:1px solid var(--nc-border);border-radius:12px;display:grid;gap:12px;margin-bottom:16px;padding:18px}.admin-panel-heading,.admin-field-row,.admin-case-title,.admin-inline-actions{align-items:center;display:flex;gap:8px}.admin-field-row,.admin-case-title{justify-content:space-between}.admin-panel-heading{color:var(--nc-text)}.admin-panel label{display:grid;gap:6px;font-size:12px;color:var(--nc-text-secondary)}.admin-label{color:var(--nc-text-secondary);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.admin-field-group{display:grid;gap:10px}.admin-chip-grid{display:flex;flex-wrap:wrap;gap:8px}.admin-image-preview{align-items:center;background:var(--nc-surface-2);border:1px solid var(--nc-border);border-radius:8px;display:grid;gap:12px;grid-template-columns:24px minmax(0,220px);padding:10px}.admin-image-preview img{aspect-ratio:16 / 9;border-radius:6px;display:block;object-fit:cover;width:100%}.admin-panel textarea{font-family:Menlo,Cascadia Code,Consolas,monospace;font-size:12px;min-height:120px;resize:vertical}.admin-code-label{position:relative}.admin-code-label svg{color:var(--nc-text-muted);position:absolute;right:10px;top:29px}.admin-code-label textarea{min-height:180px}.admin-case-list{border:1px solid var(--nc-border);border-radius:8px;overflow:hidden}.admin-case-row{display:grid;gap:10px;padding:12px}.admin-case-row+.admin-case-row{border-top:1px solid var(--nc-border)}.admin-check-label{align-items:center;display:inline-flex!important;grid-auto-flow:column;gap:6px!important}.admin-check-label input{height:14px;width:14px}.admin-remove{justify-self:end;min-height:28px;padding:4px 8px}.admin-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}@media(max-width:1024px){.profile-grid,.split-pane{grid-template-columns:1fr}.split-handle{display:none}.problem-page{height:auto;min-height:calc(100vh - 50px)}.panel-body{max-height:none}}@media(max-width:720px){.topnav{flex-wrap:wrap;gap:8px;height:auto;padding:8px 12px}.topnav-search{width:100%}.hero{padding:60px 16px 40px}.hero h1{font-size:38px}.problems-table th:nth-child(4),.problems-table td:nth-child(4){display:none}}
