:root{--bg:#0f1117;--bg-card:#1a1b23;--bg-input:#22232d;--text:#c9cdd3;--text-heading:#eef0f4;--text-muted:#6b7280;--accent:#6366f1;--accent-hover:#818cf8;--green:#22c55e;--yellow:#eab308;--red:#ef4444;--border:#2e303a;--radius:8px;--mono:ui-monospace, "Cascadia Code", Consolas, monospace;--sans:system-ui, -apple-system, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--sans);color:var(--text);background:var(--bg);font-size:15px;line-height:1.6}.navbar{background:var(--bg-card);border-bottom:1px solid var(--border);z-index:100;align-items:center;gap:16px;padding:12px 24px;display:flex;position:sticky;top:0}.nav-brand{color:var(--text-heading);white-space:nowrap;font-size:16px;font-weight:700}.nav-tabs{gap:4px;margin-left:24px;display:flex}.nav-tabs a{border-radius:var(--radius);color:var(--text-muted);padding:6px 16px;font-size:14px;font-weight:500;text-decoration:none;transition:all .15s}.nav-tabs a:hover{color:var(--text);background:var(--bg-input)}.nav-tabs a.active{color:var(--text-heading);background:var(--accent)}.nav-auth{align-items:center;gap:12px;margin-left:auto;display:flex}.nav-user{color:var(--text-heading);font-size:14px;font-weight:600}.container{max-width:960px;margin:0 auto;padding:32px 24px}.page h1{color:var(--text-heading);margin-bottom:8px;font-size:28px;font-weight:700}.page .subtitle{color:var(--text-muted);margin-bottom:32px;font-size:16px}.page section{margin-bottom:28px}.page section h2{color:var(--text-heading);margin-bottom:8px;font-size:18px;font-weight:600}.page ul,.page ol{margin-top:8px;padding-left:20px}.page li{margin-bottom:4px}code{font-family:var(--mono);background:var(--bg-input);border-radius:4px;padding:2px 6px;font-size:13px}.code-block{font-family:var(--mono);background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);white-space:pre;padding:12px 16px;font-size:13px;line-height:1.5;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;border-bottom:1px solid var(--border);padding:10px 12px}th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}tr:hover{background:var(--bg-input)}.highlight-row{background:#6366f11a!important}.rank{font-size:16px;font-weight:700}.mono{font-family:var(--mono);font-weight:600}.btn{border-radius:var(--radius);cursor:pointer;border:none;padding:8px 16px;font-size:14px;font-weight:600;transition:all .15s}.btn-sm{padding:5px 12px;font-size:13px}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-outline{color:var(--text);border:1px solid var(--border);background:0 0}.btn-outline:hover{background:var(--bg-input)}.btn-link{color:var(--accent);cursor:pointer;font-size:inherit;background:0 0;border:none;text-decoration:underline}input,select{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-heading);outline:none;padding:8px 12px;font-size:14px;transition:border-color .15s}input:focus,select:focus{border-color:var(--accent)}.modal-overlay{z-index:200;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;width:360px;max-width:90vw;padding:32px}.modal h2{color:var(--text-heading);margin-bottom:20px;font-size:20px}.modal form{flex-direction:column;gap:12px;display:flex}.modal input{width:100%}.modal .btn{width:100%;margin-top:4px}.error{color:var(--red);font-size:13px}.auth-toggle{color:var(--text-muted);text-align:center;margin-top:16px;font-size:13px}.submit-controls{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.editor-container{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;overflow:hidden}.submission-result{border-radius:var(--radius);margin-bottom:24px;padding:12px 16px;font-size:14px}.status-accepted{color:var(--green)}.status-running{color:var(--yellow)}.status-error{color:var(--red)}.submission-result.status-accepted{background:#22c55e1a;border:1px solid #22c55e4d}.submission-result.status-running{background:#eab3081a;border:1px solid #eab3084d}.submission-result.status-error{background:#ef44441a;border:1px solid #ef44444d}.output-details{margin-top:8px}.output-details summary{cursor:pointer;color:var(--text-muted);margin-bottom:4px;font-size:13px;font-weight:600}.output-block{font-family:var(--mono);white-space:pre-wrap;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);max-height:300px;margin:0;padding:8px 12px;font-size:12px;overflow-y:auto}.error-output{color:var(--red)}.notice{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);text-align:center;margin-bottom:24px;padding:16px}.subtask-tabs{gap:8px;margin-bottom:24px;display:flex}.tab{border-radius:var(--radius);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;padding:8px 20px;font-size:14px;font-weight:600;transition:all .15s}.tab:hover{background:var(--bg-input);color:var(--text)}.tab.active{background:var(--accent);color:#fff;border-color:var(--accent)}.empty{color:var(--text-muted);text-align:center;padding:48px 0}.download-btn{margin-top:16px;text-decoration:none;display:inline-block}.subtask-label{color:var(--text-muted);background:var(--bg-input);border-radius:var(--radius);border:1px solid var(--border);padding:8px 12px;font-size:14px;font-weight:500}
