:root { color-scheme: dark; --bg: #090b11; --panel: #11141d; --panel-2: #171b26; --panel-3: #1d2230; --border: #2a3040; --border-strong: #3a4357; --text: #e8ebf2; --muted: #99a2b3; --purple: #a78bfa; --purple-dark: #6d4ac7; --blue: #60a5fa; --green: #34d399; --amber: #fbbf24; --rose: #fb7185; --red: #f87171; --sidebar: 320px; } * { box-sizing: border-box; } html, body { min-height: 100%; margin: 0; background: var(--bg); color: var(--text); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; } button, input, select { font: inherit; } button, select { cursor: pointer; } button:disabled { cursor: not-allowed; opacity: .45; } .app-shell { display: grid; grid-template-columns: var(--sidebar) minmax(0, 1fr); min-height: 100vh; } .sidebar { position: sticky; top: 0; height: 100vh; overflow-y: auto; padding: 24px 20px; border-right: 1px solid var(--border); background: radial-gradient(circle at top left, rgba(124, 58, 237, .16), transparent 34%), #0d1017; } .brand { margin-bottom: 20px; } .brand h1 { margin: 5px 0 7px; font-size: 23px; line-height: 1.2; } .brand p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; } .eyebrow { color: var(--purple); font-size: 10px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; } .main-tabs { display: grid; grid-template-columns: repeat(2, 1fr); gap: 7px; margin-bottom: 16px; } .main-tabs button, .subtabs button, .nav-row button { border: 1px solid var(--border); border-radius: 8px; background: var(--panel-2); color: var(--muted); padding: 8px 10px; } .main-tabs button:last-child { grid-column: 1 / -1; } .main-tabs button:hover, .subtabs button:hover, .nav-row button:hover { border-color: var(--border-strong); color: var(--text); } .main-tabs button.active { border-color: var(--purple-dark); background: rgba(124, 58, 237, .17); color: #ddd6fe; } .scope-card { margin-bottom: 18px; padding: 11px 12px; border: 1px solid var(--border); border-radius: 10px; background: rgba(17, 20, 29, .8); color: var(--muted); font-size: 11px; line-height: 1.55; } .scope-card b { color: var(--text); } .scope-card code { color: #c4b5fd; overflow-wrap: anywhere; } .controls { display: flex; flex-direction: column; gap: 12px; } .controls[hidden], .view[hidden] { display: none !important; } .controls label { display: flex; flex-direction: column; gap: 5px; } .controls label > span { color: var(--muted); font-size: 10px; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; } input, select { width: 100%; min-width: 0; border: 1px solid var(--border); border-radius: 8px; outline: none; background: #0b0e14; color: var(--text); padding: 8px 9px; font-size: 12px; } input:focus, select:focus { border-color: var(--purple-dark); } select { text-overflow: ellipsis; } .filter-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; } .nav-row { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 7px; } .nav-row span { min-width: 62px; color: var(--muted); text-align: center; font-size: 11px; } .subtabs { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; } .subtabs button.active { border-color: #2563eb; background: rgba(37, 99, 235, .16); color: #bfdbfe; } #sidebarFooter { margin-top: 22px; padding-top: 14px; border-top: 1px solid var(--border); color: var(--muted); font-size: 10px; line-height: 1.55; } .main { min-width: 0; padding: 30px clamp(20px, 4vw, 64px) 60px; } .view { width: min(1180px, 100%); margin: 0 auto; } .loading, .empty-state { padding: 44px 20px; color: var(--muted); text-align: center; } .card { margin-bottom: 14px; border: 1px solid var(--border); border-radius: 13px; background: var(--panel); overflow: hidden; } .card-body { padding: 20px 22px; } .card h2, .card h3 { margin: 0; line-height: 1.45; } .card h2 { font-size: 21px; } .card h3 { font-size: 15px; } .section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 13px; } .section-heading h2, .section-heading h3 { margin: 3px 0 0; } .count-pill, .pill, .badge, .status { display: inline-flex; align-items: center; border: 1px solid var(--border-strong); border-radius: 999px; padding: 3px 8px; background: var(--panel-3); color: var(--muted); font-size: 10px; line-height: 1.3; } .badges, .pills, .metric-grid { display: flex; flex-wrap: wrap; gap: 7px; } .badges { margin-bottom: 12px; } .badge.qid { color: #c4b5fd; border-color: #5b4890; } .badge.diff { color: #fde68a; border-color: #66521d; } .badge.type { color: #bfdbfe; border-color: #294d78; } .gold-block { margin: 13px 0; padding: 10px 11px; border: 1px solid #624d16; border-radius: 9px; background: rgba(120, 82, 11, .14); } .gold-label { margin-bottom: 7px; color: var(--amber); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; } .gold-items { display: flex; flex-wrap: wrap; gap: 6px; } .gold-item { border: 1px solid #70591c; border-radius: 999px; padding: 3px 9px; background: #211b0d; color: #fde68a; font-size: 11px; } a.gold-item { cursor: pointer; text-decoration: none; } a.gold-item:hover { border-color: var(--amber); color: #fff3bd; } .field { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--border); } .field-label { margin-bottom: 6px; color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; } .field-value { color: var(--text); font-size: 13px; line-height: 1.6; } .muted { color: var(--muted); } pre { max-width: 100%; margin: 0; border: 1px solid #252b38; border-radius: 8px; background: #0b0e14; color: #d8dee9; padding: 11px 12px; white-space: pre-wrap; overflow-wrap: anywhere; overflow: auto; font: 11px/1.55 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; } .document-card { border-top: 3px solid var(--purple-dark); } .document-content { padding: 10px 24px 26px; line-height: 1.65; } .document-content h1, .document-content h2, .document-content h3 { margin-top: 1.35em; color: #ddd6fe; } .document-content a { color: #93c5fd; } .document-content table { display: block; max-width: 100%; overflow: auto; border-collapse: collapse; } .document-content th, .document-content td { border: 1px solid var(--border); padding: 6px 8px; } .metric-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)); margin-bottom: 14px; } .metric { min-width: 0; padding: 12px 13px; border: 1px solid var(--border); border-radius: 10px; background: var(--panel); } .metric-label { color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; } .metric-value { margin-top: 4px; font-size: 19px; font-weight: 750; } .metric-note { margin-top: 3px; color: var(--muted); font-size: 10px; } .status.correct { color: #a7f3d0; border-color: #247657; background: rgba(16, 185, 129, .1); } .status.partial { color: #fde68a; border-color: #755b16; background: rgba(245, 158, 11, .1); } .status.incorrect { color: #fecaca; border-color: #7f3030; background: rgba(239, 68, 68, .1); } .status.missing { color: #cbd5e1; border-color: #4b5563; } .prediction { border-left: 3px solid var(--run-accent, var(--purple)); background: rgba(13, 16, 24, .95); } .ops-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 9px; margin-top: 12px; } .ops-item { padding: 10px; border: 1px solid var(--border); border-radius: 8px; background: var(--panel-2); } .ops-item b { display: block; margin-bottom: 5px; color: var(--muted); font-size: 9px; letter-spacing: .07em; text-transform: uppercase; } .ops-item code { color: #c4b5fd; font-size: 11px; overflow-wrap: anywhere; } .structure-summary { margin-bottom: 14px; border-top: 3px solid var(--rose); } .structure-doc { margin-bottom: 12px; border: 1px solid var(--border); border-radius: 11px; background: var(--panel); overflow: hidden; } .structure-doc > summary, .structure-shape > summary, .source-text > summary { cursor: pointer; display: flex; justify-content: space-between; gap: 12px; align-items: center; } .structure-doc > summary { padding: 13px 15px; color: #fda4af; font-weight: 700; } .structure-doc > summary span:last-child { color: var(--muted); font-size: 10px; } .structure-body { padding: 0 15px 14px; } .source-ids { margin: 0 0 10px; color: var(--muted); font-size: 11px; line-height: 1.7; } .source-ids code { color: var(--text); } .structure-shape, .source-text { margin: 9px 0; border: 1px solid var(--border); border-radius: 8px; background: var(--panel-2); overflow: hidden; } .structure-shape > summary, .source-text > summary { padding: 9px 11px; } .structure-shape > summary b { color: #fda4af; font-size: 11px; } .structure-shape > summary code { color: var(--muted); font-size: 10px; } .shape-description { padding: 0 11px 9px; color: var(--muted); font-size: 11px; } .structure-shape pre, .source-text pre { max-height: 560px; border: 0; border-radius: 0; } .trajectory { margin-top: 14px; } .trajectory-steps { display: flex; flex-direction: column; gap: 9px; } .trajectory-step { border: 1px solid var(--border); border-radius: 9px; background: var(--panel); padding: 10px; } .trajectory-step header { display: flex; align-items: center; gap: 7px; margin-bottom: 7px; } .step-number, .step-kind { color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; } .trajectory-step header code { border: 1px solid #4c3b75; border-radius: 5px; padding: 2px 7px; color: #c4b5fd; background: #211d2d; font-size: 10px; } .tool-bash header code { color: #a7f3d0; border-color: #25674f; } .tool-python header code { color: #c7d2fe; border-color: #434cb3; } .step-label { margin: 7px 0 4px; color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; } .model-message { border-left: 2px solid #516078; border-radius: 5px; background: var(--panel-2); padding: 9px 10px; white-space: pre-wrap; line-height: 1.55; font-size: 12px; } .tool-output.collapsed pre { max-height: 10em; overflow: hidden; mask-image: linear-gradient(to bottom, #000 65%, transparent); } .output-toggle { margin-top: 6px; border: 1px solid #365276; border-radius: 6px; background: #172338; color: #93c5fd; padding: 4px 9px; font-size: 10px; } .compare-scores { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 9px; margin-bottom: 14px; } .compare-score { border: 1px solid var(--border); border-top: 3px solid var(--run-accent, var(--purple)); border-radius: 10px; background: var(--panel); padding: 11px 12px; } .compare-score h3 { margin: 0 0 5px; font-size: 12px; } .compare-score strong { font-size: 18px; } .compare-score span { display: block; margin-top: 3px; color: var(--muted); font-size: 10px; } .compare-run { border-left: 3px solid var(--run-accent, var(--purple)); } @media (max-width: 860px) { .app-shell { display: block; } .sidebar { position: static; width: 100%; height: auto; border-right: 0; border-bottom: 1px solid var(--border); } .main { padding: 24px 16px 50px; } .main-tabs { grid-template-columns: repeat(5, minmax(0, 1fr)); } .main-tabs button:last-child { grid-column: auto; } } @media (max-width: 560px) { .main-tabs { grid-template-columns: repeat(2, 1fr); } .main-tabs button:last-child { grid-column: 1 / -1; } .section-heading { flex-direction: column; } .metric-grid, .compare-scores { grid-template-columns: 1fr; } }