:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:#0f172a;background:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body,#root{margin:0;width:100%;height:100%}button,input,select,textarea{font-family:inherit}.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;inset:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;inset:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{font-family:monospace;-webkit-user-select:text;user-select:text;white-space:pre}.xterm .xterm-accessibility-tree>div{transform-origin:left;width:fit-content}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;background:#0000;transition:opacity .1s linear;z-index:11}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{position:absolute;display:none}.xterm .xterm-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow, #000) 0 6px 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.assessment-results{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:60}.assessment-results-card{width:min(560px,92vw);background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:24px}.assessment-results-card h2{margin:0 0 8px}.assessment-results-card p{margin:0 0 16px;color:#475569}.assessment-results-card button{height:36px;padding:0 14px;border:none;border-radius:6px;background:#7c3aed;color:#fff;cursor:pointer}:root{--top-nav-height: 42px;--workspace-top-gap: 3px;--violet-50: #f5f3ff;--violet-100: #ede9fe;--violet-200: #ddd6fe;--violet-300: #c4b5fd;--violet-400: #a78bfa;--violet-500: #8b5cf6;--violet-600: #7c3aed;--violet-700: #6d28d9;--violet-800: #5b21b6;--violet-900: #4c1d95;--slate-50: #f8fafc;--slate-100: #f1f5f9;--slate-200: #e2e8f0;--slate-300: #cbd5e1;--slate-400: #94a3b8;--slate-500: #64748b;--slate-600: #475569;--slate-700: #334155;--slate-800: #1e293b;--slate-900: #0f172a;--emerald-600: #10b981;--emerald-700: #059669;--red-600: #dc2626;--red-700: #b91c1c;--amber-500: #f59e0b;--amber-600: #d97706}*{box-sizing:border-box}.platform-root{height:100vh;width:100%;background:#fff;color:var(--slate-900);overflow:hidden;font-family:Inter,SF Pro Text,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.auth-screen{min-height:100vh;background:#f8fafc;display:flex;align-items:center;justify-content:center;padding:24px}.auth-card{width:100%;max-width:440px;background:#fff;border:1px solid var(--slate-200);border-radius:10px;padding:20px}.auth-card h2{margin:0 0 8px;font-size:20px}.auth-card p{margin:0 0 16px;color:var(--slate-600)}.begin-card{max-width:560px}.precheck-card{max-width:860px}.begin-subtitle{margin-top:-6px;margin-bottom:14px;font-size:13px;color:var(--slate-500)}.begin-list{display:grid;gap:8px;margin-bottom:14px;padding:12px;border-radius:8px;border:1px solid var(--slate-200);background:var(--slate-50);font-size:13px;color:var(--slate-700)}.terms-checkbox{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--slate-700);margin-bottom:14px}.terms-checkbox input{margin-top:2px}.precheck-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}.precheck-item{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:0 10px;border:1px solid var(--slate-300);border-radius:8px;background:#fff;font-size:13px;color:var(--slate-700);font-weight:600}.precheck-item.ok{border-color:#86efac;background:#f0fdf4;color:#166534}.camera-preview-wrap{border:1px solid var(--slate-200);border-radius:8px;overflow:hidden;margin-bottom:12px}.camera-preview-head{height:34px;display:flex;align-items:center;padding:0 12px;border-bottom:1px solid var(--slate-200);background:#fafafa;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--slate-600)}.camera-preview-stage{background:#020617;padding:12px}.camera-preview{display:block;width:min(100%,560px);margin:0 auto;border-radius:8px;border:1px solid #0f172a;aspect-ratio:16 / 9;object-fit:cover}.mic-meter{display:grid;gap:6px;margin-bottom:12px}.mic-meter span{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--slate-500)}.mic-meter-track{height:8px;border-radius:999px;background:var(--slate-200);overflow:hidden}.mic-meter-fill{height:100%;background:linear-gradient(90deg,#22c55e,#f59e0b 60%,#dc2626);transition:width .12s linear}.precheck-actions{display:inline-flex;gap:8px;margin-bottom:12px}.auth-card form,.admin-form{display:grid;gap:12px}.auth-card label,.admin-form label{display:grid;gap:6px;font-size:12px;font-weight:600;color:var(--slate-700);text-transform:uppercase;letter-spacing:.06em}.auth-card input,.admin-form input{height:36px;border-radius:6px;border:1px solid var(--slate-300);padding:0 10px;font-size:14px}.admin-form select{height:36px;border-radius:6px;border:1px solid var(--slate-300);padding:0 10px;font-size:14px;background:#fff}.auth-submit{width:100%;height:36px}.auth-error{color:var(--red-700);background:#fee2e2;border:1px solid #fecaca;border-radius:6px;padding:8px 10px;font-size:13px}.auth-badge{display:inline-block;background:var(--violet-100);color:var(--violet-700);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600;margin-bottom:12px}.admin-root{min-height:100vh;background:#f8fafc;padding:16px}.admin-head{height:48px;background:#fff;border:1px solid var(--slate-200);border-radius:8px;padding:0 12px;display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.admin-title{display:inline-flex;align-items:center;gap:8px;font-weight:700}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.admin-card{background:#fff;border:1px solid var(--slate-200);border-radius:8px;padding:14px;min-height:180px}.admin-card h3{margin:0 0 10px;font-size:15px}.admin-span-2{grid-column:span 2}.admin-table-wrap{max-height:320px;overflow:auto;border:1px solid var(--slate-200);border-radius:6px}.admin-table{width:100%;border-collapse:collapse;font-size:12px}.admin-table th,.admin-table td{border-bottom:1px solid var(--slate-200);padding:8px 10px;text-align:left}.admin-table th{position:sticky;top:0;background:#f8fafc;font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.06em}.admin-report-meta{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:10px;font-size:12px;color:var(--slate-600)}.admin-table code{font-size:11px;white-space:pre-wrap;word-break:break-word}.admin-actions{display:flex;gap:8px;flex-wrap:wrap}.invite-link-box{display:flex;gap:10px;align-items:center;justify-content:space-between;border:1px solid var(--slate-200);border-radius:6px;background:#f8fafc;padding:10px;margin-top:12px;font-size:12px;word-break:break-all}.profile-modal p{margin:0 0 8px;color:var(--slate-700);font-size:14px}.top-nav{position:fixed;top:0;left:0;right:0;z-index:50;height:var(--top-nav-height);background:#f8fafc;border-bottom:1px solid var(--slate-200);display:grid;grid-template-columns:auto 1fr auto;align-items:center;column-gap:14px;padding:0 14px}.brand{display:flex;align-items:center;gap:8px;flex-shrink:0}.brand-copy{display:flex;flex-direction:column;justify-content:center;line-height:1.1}.logo{width:24px;height:24px;border-radius:8px;object-fit:cover;display:block;flex-shrink:0}.brand-text{font-size:14px;font-weight:700;color:var(--slate-900)}.brand-subtext{margin-top:1px;font-size:10px;font-weight:500;color:var(--slate-500);white-space:nowrap}.question-nav{display:flex;align-items:center;gap:8px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}.question-nav.compact{flex:0 0 auto;min-width:0;overflow:visible;gap:4px}.top-center{justify-self:center;display:inline-flex;align-items:center;gap:6px}.top-right{display:inline-flex;align-items:center;gap:12px;justify-self:end}.profile-btn{width:30px;height:30px;border:1px solid var(--slate-300);border-radius:8px;background:#fff;color:var(--slate-600);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.profile-btn:hover{border-color:var(--violet-600);color:var(--violet-600);background:#fafaff}.question-nav::-webkit-scrollbar{display:none}.grid-toggle,.q-cell{width:36px;height:36px;min-width:36px;min-height:36px;border-radius:6px;display:grid;place-items:center;flex-shrink:0;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease}.grid-toggle.standalone{width:28px;height:28px;min-width:28px;min-height:28px;border:0;border-radius:6px;background:transparent;color:var(--slate-600)}.grid-toggle{border:0;background:var(--slate-100);color:var(--slate-500)}.q-cell{border:2px solid transparent}.q-cell.default{background:var(--slate-100);color:var(--slate-500)}.q-cell.current{background:var(--violet-600);color:#fff;border-color:var(--violet-600)}.q-cell.answered{background:#fff;color:var(--violet-600);border-color:var(--violet-600)}.grid-toggle:hover,.q-cell.default:hover,.q-cell.answered:hover{background:var(--slate-200);transform:scale(1.05)}.grid-toggle.standalone:hover{background:var(--slate-100);color:var(--slate-900);transform:none}.nav-arrow{width:28px;height:28px;border:0;border-radius:6px;background:transparent;color:var(--slate-600);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.nav-arrow:hover:not(:disabled){color:var(--slate-900);background:var(--slate-100)}.nav-arrow:disabled{opacity:.35;cursor:not-allowed}.question-inline{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-width:126px;text-align:center;line-height:1.05;font-variant-numeric:tabular-nums}.question-inline-label{font-size:12px;font-weight:600;color:var(--slate-500)}.question-inline strong{font-size:15px;font-weight:750;color:var(--slate-900)}.timer{display:inline-flex;align-items:center;gap:5px;padding:0;border-radius:0;font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--slate-500)}.timer.normal{color:var(--slate-900)}.timer.warning{color:#92400e}.timer.critical{color:#991b1b;animation:pulse 1.5s infinite}.timer.expired{color:var(--red-600)}.save-pill{font-size:11px;color:var(--emerald-700);min-width:0;text-align:left;font-weight:500}.neura-eye-indicator{display:inline-flex;align-items:center;gap:6px;color:var(--slate-700);font-size:11px;font-weight:700;letter-spacing:.03em}.neura-eye-dot{width:8px;height:8px;border-radius:999px;background:#94a3b8;box-shadow:0 0 0 2px #94a3b82e}.neura-eye-dot.safe{background:#22c55e;box-shadow:0 0 0 2px #22c55e2e}.neura-eye-dot.warning{background:#f59e0b;box-shadow:0 0 0 2px #f59e0b33}.neura-eye-dot.danger{background:#ef4444;box-shadow:0 0 0 2px #ef444433}.submit-btn{height:30px;padding:0 12px;background:var(--violet-600);color:#fff;border-radius:6px;border:0;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease}.submit-btn:hover:not(:disabled),.run-btn:hover:not(:disabled),.nav-btn.next:hover:not(:disabled){background:var(--violet-700);transform:translateY(-1px);box-shadow:0 4px 12px #7c3aed40}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.workspace{display:grid;grid-template-columns:minmax(360px,var(--left-panel-width, 40%)) 8px minmax(420px,1fr);height:calc(100vh - var(--top-nav-height));margin-top:var(--top-nav-height);border-top:var(--workspace-top-gap) solid var(--slate-200);overflow:hidden}.left-panel{grid-column:1;height:100%;background:#fff;border-right:1px solid var(--slate-200);display:flex;flex-direction:column;min-width:0;min-height:0}.workspace-divider{grid-column:2;width:8px;background:var(--slate-100);border-left:1px solid var(--slate-200);border-right:1px solid var(--slate-200);cursor:col-resize;transition:background .15s ease}.workspace-divider:hover{background:var(--slate-300)}.workspace.resizing,.workspace.resizing *{cursor:col-resize!important;-webkit-user-select:none;user-select:none}.question-header{height:48px;padding:0 24px;background:#fafafa;border-bottom:1px solid var(--slate-200);flex-shrink:0;display:flex;align-items:center}.q-meta{font-size:11px;font-weight:700;color:var(--violet-600);text-transform:uppercase;letter-spacing:.08em;margin-bottom:0}.q-type{display:inline-flex;padding:4px 10px;background:var(--violet-100);color:var(--violet-700);border-radius:4px;font-size:10px;font-weight:700;letter-spacing:.05em}.question-title-wrap{padding:20px 24px;background:#fff;border-bottom:1px solid var(--slate-200);flex-shrink:0}.question-title-wrap h2{font-size:20px;font-weight:600;color:var(--slate-900);line-height:1.4;margin:0 0 10px}.title-pills{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.difficulty{display:inline-flex;padding:3px 10px;border-radius:4px;font-size:11px;font-weight:700}.difficulty.easy{background:#d1fae5;color:#065f46}.difficulty.medium{background:#fef3c7;color:#92400e}.difficulty.hard{background:#fee2e2;color:#991b1b}.question-content{padding:24px;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;background:#fff}.sql-left-tabs{display:flex;gap:18px;margin:0 0 18px;padding-bottom:0;border-bottom:1px solid var(--slate-200)}.sql-left-tab{border:0;background:transparent;color:var(--slate-500);font-size:14px;font-weight:600;padding:10px 2px 12px;border-radius:0;border-bottom:3px solid transparent;cursor:pointer;transition:all .15s ease}.sql-left-tab:hover{color:var(--slate-700)}.sql-left-tab.active{color:var(--violet-600);border-bottom-color:var(--violet-600)}.sql-tab-placeholder{border:1px solid var(--slate-200);background:var(--slate-50);border-radius:8px;padding:16px;color:var(--slate-600);font-size:13px;margin:0 0 18px}.question-content p{font-size:14px;color:var(--slate-700);line-height:1.7;margin:0 0 20px}.problem-description{font-size:14px;color:var(--slate-700);line-height:1.7;margin:0 0 16px}.sql-section-card{border:1px solid var(--slate-200);border-radius:8px;background:#fff;padding:16px;margin:0 0 20px}.sql-section-card.notes{background:var(--slate-50)}.code-block{background:var(--slate-800);color:var(--slate-200);border-radius:6px;padding:16px;font-size:13px;overflow-x:auto;margin:16px 0}.example-block,.testcase-item{background:var(--slate-50);border-left:3px solid var(--violet-600);border-radius:6px;padding:12px;margin:10px 0;font-size:13px}.testcases h4,.instructions-list h4{margin:20px 0 12px;font-size:11px;font-weight:700;color:var(--slate-900);text-transform:uppercase;letter-spacing:.08em}.instructions-list ol{margin:0;padding:0;list-style:none}.instructions-list li{margin:0 0 8px;padding-left:4px;font-size:13px;color:var(--slate-600);line-height:1.8}.section-label{margin:0 0 12px;font-size:11px;font-weight:700;color:var(--slate-900);text-transform:uppercase;letter-spacing:.08em}.sql-question-title{margin:6px 0 12px;font-size:20px;line-height:1.1;color:var(--slate-900)}.sql-meta-row{display:flex;align-items:center;gap:10px;margin-bottom:18px}.meta-pill{display:inline-flex;align-items:center;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:700;border:1px solid var(--slate-200)}.meta-pill.neutral{background:var(--slate-100);color:var(--slate-700)}.meta-pill.difficulty.medium{background:#fff8df;border-color:#f2d27a;color:#ca8200}.meta-pill.difficulty.easy{background:#ecfdf5;border-color:#a7f3d0;color:#047857}.meta-pill.difficulty.hard{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.meta-time{font-size:13px;font-weight:600;color:var(--slate-500)}.schema-card{border:1px solid var(--slate-200);border-radius:8px;overflow:hidden;background:#fff;margin:0 0 20px}.schema-card-head{height:52px;padding:0 16px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--slate-200);color:var(--slate-900);font-size:14px;font-weight:700}.schema-card-head svg{color:var(--violet-600)}.schema-card-body{padding:16px;background:var(--slate-50)}.schema-container{background:var(--slate-50);border:1px solid var(--slate-200);border-radius:6px;padding:16px;margin-bottom:20px}.schema-table-card{margin-bottom:18px;background:#fff;border:1px solid var(--slate-200);border-radius:8px;padding:12px}.schema-table-card:last-child{margin-bottom:0}.schema-table-card:not(:last-child){padding-bottom:12px}.schema-table-header{margin-bottom:10px}.schema-table-name{display:inline-block;font-family:Monaco,Menlo,Consolas,monospace;font-size:14px;font-weight:700;color:var(--violet-700);margin-bottom:8px}.schema-columns{margin-left:0}.schema-table-grid{display:grid;grid-template-columns:1.1fr 1fr .5fr;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--slate-200);font-size:14px;line-height:1.4}.schema-table-grid:last-child{border-bottom:0}.schema-head-row{font-size:13px;color:var(--slate-500);font-weight:700;border-bottom:1px solid var(--slate-200);padding-top:4px;padding-bottom:10px}.schema-head-row span{text-transform:none}.schema-column-row{font-family:Monaco,Menlo,Consolas,monospace}.column-name{color:#2b3039;font-weight:600;font-family:Monaco,Menlo,Consolas,monospace;font-size:13px}.column-type{color:#8b94a7;font-weight:700;font-family:Monaco,Menlo,Consolas,monospace;font-size:13px}.column-description{color:var(--slate-500);font-weight:400;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.column-key{text-align:left;color:#3b3f46;font-size:13px}.key-badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;border-radius:8px;padding:2px 8px;font-size:11px;font-weight:700}.key-badge.pk{background:#e8f0ff;color:#3d6ded}.key-badge.fk{background:#f3e8ff;color:#8b3dff}.example-section{margin:0}.example-data{margin-bottom:14px;border:1px solid var(--slate-200);border-radius:8px;padding:12px;background:#fff}.example-title{font-size:14px;font-weight:700;color:var(--slate-900);margin-bottom:10px}.example-label{font-size:12px;font-weight:700;color:var(--slate-900);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.example-label.output-label{color:var(--emerald-700);margin-top:16px}.example-table-container{background:var(--slate-50);border:1px solid var(--slate-200);border-radius:6px;padding:12px;overflow-x:auto;margin-bottom:12px}.example-table{width:100%;border-collapse:collapse;font-size:11px;font-family:Monaco,Menlo,Consolas,monospace}.example-table th{background:var(--slate-200);padding:6px 10px;text-align:left;font-weight:700;color:var(--slate-900);border:1px solid var(--slate-300);white-space:nowrap;font-size:10px;text-transform:uppercase;letter-spacing:.03em}.example-table td{padding:6px 10px;border:1px solid var(--slate-200);color:var(--slate-700)}.example-table tbody tr:hover{background:#fafafa}.example-raw{margin:0;background:var(--slate-50);border:1px solid var(--slate-200);border-radius:6px;padding:12px;color:var(--slate-700);font-size:12px;line-height:1.6;font-family:Monaco,Menlo,Consolas,monospace;white-space:pre-wrap;overflow-x:auto}.bulleted-list{margin:0 0 16px 20px;padding:0}.bulleted-list li{margin-bottom:6px;font-size:13px;color:var(--slate-600);line-height:1.8}.constraints-section{margin:0}.constraints-list{margin:0 0 0 20px;padding:0}.constraints-list li{margin-bottom:6px;font-size:13px;color:var(--slate-600);line-height:1.8}.constraints-list code,.constraints-list .inline-code{background:var(--slate-100);color:var(--slate-900);border:0}.notes-section{margin:0}.notes-container{background:#eff6ff;border:1px solid #bfdbfe;border-left:3px solid #3b82f6;border-radius:6px;padding:16px}.notes-list{list-style:none;margin:0;padding:0}.notes-list li{font-size:13px;color:#1e3a8a;line-height:1.7;margin-bottom:10px}.notes-list li:last-child{margin-bottom:0}.notes-list strong{color:#1e40af}.notes-list code,.notes-list .inline-code{background:#dbeafe;color:#1e40af;border:0}.ins-index{font-weight:700;color:var(--slate-700)}.inline-code{display:inline-block;font-family:Monaco,Menlo,Consolas,monospace;font-size:12px;color:var(--slate-900);background:var(--slate-50);border:1px solid var(--slate-200);border-radius:4px;padding:1px 6px;line-height:1.5}.status-line{margin-top:12px;font-size:12px;color:var(--slate-500)}.env-note{margin-top:20px;font-size:12px;color:var(--slate-400);font-style:italic}.left-footer{padding:16px 24px;background:#fafafa;border-top:1px solid var(--slate-200);display:flex;justify-content:space-between;gap:12px;flex-shrink:0}.nav-btn{height:38px;padding:0 18px;border-radius:6px;border:1px solid var(--slate-300);background:#fff;color:var(--slate-700);font-size:14px;font-weight:500;display:inline-flex;align-items:center;gap:6px;cursor:pointer;transition:all .15s ease}.nav-btn.prev:hover:not(:disabled){border-color:var(--violet-600);color:var(--violet-600);background:var(--slate-50)}.nav-btn.review:hover:not(:disabled){border-color:#fbbf24;color:var(--amber-600)}.nav-btn.next{background:var(--violet-600);border-color:var(--violet-600);color:#fff;font-weight:600}.nav-btn:disabled{opacity:.4;cursor:not-allowed}.nav-btn.danger{border-color:#ef4444;color:#b91c1c}.nav-btn.danger:hover:not(:disabled){background:#fee2e2}.right-panel{grid-column:3;height:100%;min-width:0;background:#fff;display:flex;flex-direction:column;position:relative;overflow:hidden}.right-empty{height:100%;display:grid;place-items:center;color:var(--slate-500)}.git-mode,.editor-mode,.sql-mode,.pipeline-mode,.ide-mode,.mcq-mode,.numeric-mode{height:100%;display:flex;flex-direction:column;position:relative}.panel-head{height:48px;background:#fafafa;border-bottom:1px solid var(--slate-200);display:flex;align-items:center;justify-content:space-between;padding:0 20px;flex-shrink:0}.panel-head.dark{height:44px;background:var(--slate-900);border-bottom:1px solid var(--slate-700);color:var(--slate-200)}.head-left{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:600;color:var(--slate-900)}.panel-head.dark .head-left{color:var(--slate-300);font-size:13px;font-weight:500}.head-right{display:inline-flex;align-items:center;justify-content:center;gap:8px}.head-left em{background:var(--violet-100);color:var(--violet-700);border-radius:3px;padding:3px 8px;font-size:11px;font-weight:700;letter-spacing:.02em;font-style:normal}.database-icon{color:var(--violet-600)}.database-badge{background:var(--violet-100);color:var(--violet-700);padding:3px 10px;border-radius:4px;font-size:11px;font-weight:700;letter-spacing:.02em}.run-btn,.action-btn{height:34px;padding:0 18px;border-radius:5px;border:0;font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:6px;cursor:pointer;transition:all .15s ease}.run-btn:hover:not(:disabled){background:var(--violet-700);transform:translateY(-1px);box-shadow:0 4px 12px #7c3aed4d}.run-btn{background:var(--violet-600);color:#fff}.action-btn.slate{height:32px;padding:0 14px;background:var(--slate-600);color:#fff}.action-btn.slate:hover{background:var(--slate-700)}.action-btn.outline{height:34px;padding:0 14px;border:1px solid var(--slate-300);background:#fff;color:var(--slate-700)}.action-btn.outline:hover:not(:disabled){border-color:var(--violet-600);color:var(--violet-600);background:#fafaff}.action-btn.icon-reset{width:34px;min-width:34px;padding:0;justify-content:center;border:1px solid var(--slate-300);background:#fff;color:var(--slate-600)}.action-btn.icon-reset:hover:not(:disabled){border-color:var(--violet-600);color:var(--violet-600);background:#fafaff}.action-btn:disabled,.run-btn:disabled{opacity:.65;cursor:not-allowed;transform:none;box-shadow:none}.terminal-lights{display:inline-flex;align-items:center;gap:6px;margin-left:8px}.sql-lights{margin-left:10px}.python-lights{margin-left:8px}.terminal-light{width:8px;height:8px;border-radius:50%;opacity:.3;transition:opacity .15s ease,transform .15s ease,box-shadow .15s ease}.terminal-light.red{background:#dc2626}.terminal-light.orange{background:#f59e0b}.terminal-light.green{background:#10b981}.terminal-light.active{opacity:1;transform:scale(1.1)}.terminal-light.red.active{box-shadow:0 0 6px #dc2626b3}.terminal-light.orange.active{box-shadow:0 0 6px #f59e0bb3}.terminal-light.green.active{box-shadow:0 0 6px #10b981b3}.terminal-wrap{flex:1;background:var(--slate-800);padding:8px 10px 10px 12px}.editor-split{flex:1;display:grid;grid-template-rows:var(--python-editor-height, 60%) 5px calc(100% - var(--python-editor-height, 60%));min-height:0}.editor-top{min-height:0}.resize-handle{height:5px;background:var(--slate-100);cursor:row-resize;position:relative}.resize-handle:hover{background:var(--slate-300)}.sql-mode.resizing-sql .resize-handle,.editor-mode.resizing-python .resize-handle{background:var(--violet-600)}.resize-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:3px;border-radius:2px;background:var(--slate-400);pointer-events:none}.editor-bottom{min-height:0;display:flex;flex-direction:column;background:#fafafa}.sql-editor-wrap{height:var(--sql-editor-height, 35%);min-height:150px}.output-head,.sql-result-head{height:40px;border-bottom:1px solid var(--slate-200);padding:0 20px;display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:700;color:var(--slate-500);text-transform:uppercase;letter-spacing:.05em}.output-head{background:var(--slate-100)}.sql-result-head{background:var(--slate-50);letter-spacing:.08em}.rows-returned.ok{color:var(--emerald-700)}.rows-returned.empty{color:var(--slate-400)}.sql-result-tabs{display:inline-flex;align-items:center;gap:12px}.sql-result-tab{border:0;background:transparent;color:var(--slate-500);font-size:16px;font-weight:600;line-height:1;padding:8px 12px;border-radius:10px;cursor:pointer;transition:all .15s ease}.sql-result-tab:hover{color:var(--slate-700);background:#eef2f7}.sql-result-tab.active{color:#2a2f38;background:#e9edf3}.output-head button{border:0;background:transparent;color:var(--slate-500);font-size:12px;cursor:pointer}.output-head button:hover{color:var(--red-600)}.python-output-head{text-transform:none;letter-spacing:0}.python-output-content{padding:14px 16px}.python-testcase-wrap,.python-testresult-wrap{display:flex;flex-direction:column;gap:12px}.python-case-tabs{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.python-case-tab{border:1px solid var(--slate-300);background:#fff;color:var(--slate-700);height:34px;border-radius:10px;padding:0 14px;font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:6px;cursor:pointer;transition:all .15s ease}.python-case-tab:hover{border-color:var(--violet-600);color:var(--violet-600);background:#fafaff}.python-case-tab.active{background:#eef2f7;border-color:#e1e7ef;color:#2a2f38}.python-case-tabs.result .python-case-tab{height:32px}.python-testcase-fields{display:flex;flex-direction:column;gap:10px}.python-testcase-field label{display:block;margin-bottom:6px;font-size:11px;font-weight:700;color:var(--slate-500);letter-spacing:.05em;text-transform:lowercase}.python-testcase-field pre{margin:0;background:#f3f5f8;border:1px solid #e7ebf0;border-radius:10px;padding:12px 14px;color:#2f3744}.python-result-status{display:inline-flex;align-items:center;gap:14px;font-size:17px}.python-result-status strong{color:var(--slate-700)}.python-result-status span{font-size:14px;font-weight:600;color:var(--slate-500)}.python-result-status.ok strong{color:var(--emerald-700)}.python-result-status.fail strong{color:var(--red-700)}.python-testresult-section h5{margin:0 0 8px;font-size:13px;font-weight:700;color:var(--slate-600)}.python-testresult-section pre{margin:0;padding:12px 14px;border-radius:10px;border:1px solid #e7ebf0;background:#f3f5f8;color:#2f3744}.python-testresult-section .error{background:#fef2f2;border-left:3px solid var(--red-600);border-color:#fecaca;color:#991b1b}.python-submission-note{border:1px solid var(--slate-300);border-radius:10px;background:#fff;padding:10px 12px;display:flex;flex-direction:column;gap:3px;font-size:12px}.python-submission-note.ok{border-color:#86efac;background:#f0fdf4}.python-submission-note.fail{border-color:#fca5a5;background:#fef2f2}.python-submission-note strong{font-size:13px}.score-inline{font-weight:700}.python-no-run{height:100%;display:grid;place-items:center;color:var(--slate-500);font-size:18px;font-weight:600;font-family:Inter,SF Pro Text,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.output-content,.sql-result-body{flex:1;overflow:auto;padding:16px 20px;font-family:Monaco,Menlo,Consolas,monospace;font-size:13px;line-height:1.6;color:var(--slate-900);white-space:pre-wrap}.question-content::-webkit-scrollbar,.sql-result-body::-webkit-scrollbar,.output-content::-webkit-scrollbar{width:8px;height:8px}.question-content::-webkit-scrollbar-track,.sql-result-body::-webkit-scrollbar-track,.output-content::-webkit-scrollbar-track{background:var(--slate-100)}.question-content::-webkit-scrollbar-thumb,.sql-result-body::-webkit-scrollbar-thumb,.output-content::-webkit-scrollbar-thumb{background:var(--slate-300);border-radius:4px}.question-content::-webkit-scrollbar-thumb:hover,.sql-result-body::-webkit-scrollbar-thumb:hover,.output-content::-webkit-scrollbar-thumb:hover{background:var(--slate-400)}.output-content pre,.sql-result-body pre{margin:0 0 10px}.empty{color:var(--slate-400);font-style:italic}.empty-results{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;font-style:normal;gap:8px}.empty-results svg{color:#d7deea}.empty-results-title{color:#8491a6;font-size:20px;font-weight:500;line-height:1.1}.empty-results-text{color:#8491a6;font-size:14px;font-weight:500}.error{color:var(--red-600);background:#fee2e2;border-left:3px solid var(--red-600);border-radius:4px;padding:8px 12px}.meta,.message{color:var(--slate-600);margin-bottom:8px}.sql-result-body table{width:100%;border-collapse:collapse;font-size:13px;font-family:Monaco,Menlo,Consolas,monospace}.sql-result-body th{position:sticky;top:0;background:var(--slate-50);border-bottom:2px solid var(--slate-300);padding:12px 16px;text-align:left;font-size:11px;font-weight:700;color:var(--slate-500);text-transform:uppercase;letter-spacing:.05em}.sql-result-body td{padding:12px 16px;border-bottom:1px solid var(--slate-100);color:var(--slate-700)}.sql-result-body tr:hover td{background:var(--slate-50)}.mcq-mode,.numeric-mode{padding:48px;justify-content:center;align-items:center;overflow-y:auto}.mcq-list{width:min(640px,100%);display:flex;flex-direction:column;gap:12px}.mcq-item{position:relative;min-height:56px;padding:16px 44px 16px 20px;background:#fff;border:2px solid var(--slate-200);border-radius:8px;display:flex;align-items:center;gap:16px;cursor:pointer;text-align:left;transition:all .2s ease}.mcq-item:hover{border-color:var(--slate-300);background:var(--slate-50);transform:translate(4px)}.mcq-item.selected{border-color:var(--violet-600);background:var(--violet-50);box-shadow:0 0 0 3px #7c3aed1a}.radio{width:20px;height:20px;border-radius:999px;border:2px solid var(--slate-300);display:grid;place-items:center;flex-shrink:0}.mcq-item.selected .radio{border-color:var(--violet-600);background:var(--violet-600)}.radio span{width:8px;height:8px;border-radius:999px;background:#fff}.mcq-item .text{flex:1;font-size:15px;color:var(--slate-700);line-height:1.5}.mcq-item .badge{position:absolute;top:8px;right:12px;width:24px;height:24px;background:var(--slate-100);color:var(--slate-500);border-radius:4px;display:grid;place-items:center;font-size:11px;font-weight:700}.mcq-item.selected .badge{background:var(--violet-600);color:#fff}.numeric-box{width:min(520px,100%);text-align:center}.numeric-box label{display:block;margin-bottom:12px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.numeric-box input{width:100%;height:64px;padding:0 20px;border:2px solid var(--slate-200);border-radius:8px;text-align:center;font-size:24px;font-weight:600;color:var(--slate-900);font-variant-numeric:tabular-nums}.numeric-box input:focus{outline:none;border-color:var(--violet-600);box-shadow:0 0 0 3px #7c3aed1a}.numeric-box p{margin-top:16px;font-size:13px;color:var(--slate-500)}.pipeline-mode{background:#fafafa;padding:48px 32px;overflow-y:auto}.pipeline-list{max-width:680px;margin:0 auto;display:flex;flex-direction:column;gap:12px}.pipeline-item{position:relative;min-height:72px;background:#fff;border:2px solid var(--slate-200);border-radius:8px;padding:16px 20px 16px 56px;display:flex;align-items:center;cursor:grab;transition:all .2s ease;box-shadow:0 1px 3px #0000000d}.pipeline-item:hover{border-color:var(--slate-300);box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.pipeline-item.dragging{border-color:var(--violet-600);opacity:.8}.drag-handle{position:absolute;left:16px;color:var(--slate-300)}.step-number{position:absolute;left:36px;top:12px;width:24px;height:24px;border-radius:50%;background:var(--slate-100);color:var(--slate-500);display:grid;place-items:center;font-size:12px;font-weight:700}.pipeline-content{font-size:15px;font-weight:600;color:var(--slate-900)}.reset-floating{position:fixed;bottom:32px;right:32px;height:40px;padding:0 20px;border-radius:8px;border:1px solid var(--slate-200);background:#fff;color:var(--slate-500);font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:8px;cursor:pointer;box-shadow:0 4px 12px #0000001a}.reset-floating:hover{border-color:var(--red-600);color:var(--red-600)}.ide-mode{justify-content:center;align-items:center;padding:48px}.ide-card{width:min(560px,100%);background:#fff;border:1px solid var(--slate-200);border-radius:8px;padding:24px}.ide-card h3{margin-top:0;font-size:18px}.modal-backdrop{position:fixed;inset:0;background:#0f172a59;z-index:80;display:grid;place-items:center;padding:16px}.grid-modal,.confirm-modal{background:#fff;border:1px solid var(--slate-200);border-radius:8px;box-shadow:0 8px 32px #0000001f}.grid-modal{width:min(760px,100%);max-height:80vh;overflow:auto}.grid-modal-head{padding:14px 16px;border-bottom:1px solid var(--slate-200);display:flex;align-items:center;justify-content:space-between}.grid-modal-head h3,.confirm-modal h3{margin:0}.grid-modal-head button{border:1px solid var(--slate-200);background:#fff;border-radius:6px;cursor:pointer}.grid-modal-body{padding:16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(36px,1fr));gap:8px}.confirm-modal{width:min(460px,100%);padding:20px}.confirm-modal p{color:var(--slate-600)}.confirm-actions{display:flex;justify-content:flex-end;gap:10px}.confirm-actions button{height:34px;padding:0 14px;border-radius:6px;border:1px solid var(--slate-300);background:#fff;cursor:pointer}.submitting-overlay{position:fixed;inset:0;background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:90;display:grid;place-items:center;padding:16px}.submitting-card{width:min(520px,100%);text-align:center}.submitting-card h3{margin:8px 0;font-size:18px;font-weight:600}.submitting-card p{margin:0;font-size:14px;color:var(--slate-600)}.progress-track{margin:18px 0 12px;height:4px;background:var(--slate-200);border-radius:999px;overflow:hidden}.progress-fill{height:100%;background:var(--violet-600);transition:width .7s ease-out}.step-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;text-transform:uppercase;letter-spacing:.05em}.step{display:inline-flex;align-items:center;gap:4px;color:var(--slate-400)}.step.active{color:var(--slate-900)}.step.done{color:var(--violet-600)}.step .dot{width:6px;height:6px;border-radius:50%;background:var(--slate-300)}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@media(max-width:1279px){.workspace{grid-template-columns:minmax(320px,var(--left-panel-width, 44%)) 8px minmax(360px,1fr)}}@media(max-width:900px){.top-nav{gap:10px;padding:0 10px}.brand-text,.save-pill{display:none}.precheck-grid{grid-template-columns:1fr}.workspace{grid-template-columns:1fr;grid-template-rows:48% 52%}.workspace-divider{display:none}.left-panel{grid-column:auto;border-right:0;border-bottom:1px solid var(--slate-200)}.right-panel{grid-column:auto}}
