:root{--bg:#f3f6fb;--bg-accent:#e7eef8;--panel:rgba(255,255,255,0.92);--panel-strong:#ffffff;--panel-muted:#f6f8fb;--ink:#152033;--muted:#5b6880;--muted-soft:#7b879c;--accent:#1d4ed8;--accent-strong:#1e40af;--accent-soft:rgba(29,78,216,0.1);--success:#047857;--success-soft:rgba(4,120,87,0.1);--warning:#b45309;--warning-soft:rgba(180,83,9,0.1);--danger:#b42318;--danger-soft:rgba(180,35,24,0.08);--border:rgba(139,152,176,0.22);--border-strong:rgba(139,152,176,0.35);--shadow-sm:0 10px 24px rgba(15,23,42,0.06);--shadow-md:0 24px 56px rgba(15,23,42,0.08);--shadow-lg:0 28px 64px rgba(15,23,42,0.12);--radius-lg:24px;--radius-md:18px;--radius-sm:14px}*{box-sizing:border-box}body,html{margin:0;padding:0;background:radial-gradient(circle at top left,rgba(29,78,216,.09),transparent 30%),radial-gradient(circle at top right,rgba(15,118,110,.08),transparent 28%),linear-gradient(180deg,#f8fbff,#eef3f9);color:var(--ink);font-family:Inter,Segoe UI,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,sans-serif}body{min-height:100vh;line-height:1.55}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a,button,details summary,input,select{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid rgba(29,78,216,.22);outline-offset:2px}.page-shell{width:min(1240px,calc(100vw - 40px));margin:0 auto;padding:32px 0 72px}.narrow-shell{width:min(760px,calc(100vw - 40px))}.page-stack{display:grid;grid-gap:24px;gap:24px}.assignment-card,.hero-card,.panel,.stat-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.hero-card{padding:28px;display:grid;grid-gap:20px;gap:20px;grid-template-columns:minmax(0,1.4fr) minmax(280px,.9fr);align-items:start;box-shadow:var(--shadow-md)}.assignment-card h3,.hero-card h1,.panel h2{margin:0}.hero-card h1{font-size:clamp(2rem,4vw,2.8rem);line-height:1.05;letter-spacing:-.03em}.panel{padding:22px}.panel h2{font-size:1.15rem;line-height:1.2;letter-spacing:-.02em}.assignment-card h3,.panel h3{font-size:1rem;line-height:1.3;letter-spacing:-.01em}.assignment-card p,.hero-card p,.panel p,.stat-card p{margin:0}.eyebrow{margin:0 0 10px;color:var(--accent);letter-spacing:.1em;text-transform:uppercase;font-size:.75rem;font-weight:800}.subtle-text{color:var(--muted);font-size:.95rem}.muted-text{color:var(--muted-soft);font-size:.9rem}.mono{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.hero-actions,.hero-meta,.toolbar-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.hero-meta{justify-content:flex-end}.hero-card>div,.section-heading{display:grid;grid-gap:12px;gap:12px}.section-heading{grid-template-columns:minmax(0,1fr) auto;align-items:start}.section-heading>div{display:grid;grid-gap:8px;gap:8px}.form-stack,.section-stack,.stack-sm{display:grid}.form-stack,.section-stack{gap:16px}.form-compact{max-width:420px}.stack-sm{gap:10px}.field{display:grid;grid-gap:8px;gap:8px}.field span{font-size:.92rem;font-weight:600;color:var(--muted)}.required-mark{color:var(--danger)}.field input,.field select,input[type=file]{width:100%;min-height:48px;border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;color:var(--ink);background:rgba(255,255,255,.92);transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.field input:focus,.field select:focus,input[type=file]:focus{border-color:rgba(29,78,216,.4);box-shadow:0 0 0 4px rgba(29,78,216,.08)}input[type=file]{padding:10px 12px;color:var(--muted);background:linear-gradient(180deg,#fbfcfe,#f4f7fb)}input[type=file]::-webkit-file-upload-button{border:1px solid var(--border-strong);border-radius:999px;background:white;color:var(--ink);font-weight:700;padding:9px 14px;margin-right:12px;cursor:pointer}input[type=file]::file-selector-button{border:1px solid var(--border-strong);border-radius:999px;background:white;color:var(--ink);font-weight:700;padding:9px 14px;margin-right:12px;cursor:pointer}.as-link,.ghost-button,.primary-button,.secondary-button,.segmented-option{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border-radius:999px;padding:10px 16px;font-weight:700;white-space:nowrap;cursor:pointer;border:1px solid transparent;transition:transform .16s ease,background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,opacity .16s ease}.as-link:hover,.ghost-button:hover,.primary-button:hover,.secondary-button:hover,.segmented-option:hover{transform:translateY(-1px)}.primary-button{background:linear-gradient(180deg,#2563eb,#1d4ed8);color:white;box-shadow:0 12px 24px rgba(29,78,216,.2)}.primary-button:hover{background:linear-gradient(180deg,#1d4ed8,#1e40af)}.ghost-button:disabled,.primary-button:disabled,.secondary-button:disabled,.segmented-option:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.as-link,.secondary-button{background:rgba(255,255,255,.72);border-color:var(--border);color:var(--ink)}.as-link:hover,.secondary-button:hover{border-color:rgba(29,78,216,.22);background:rgba(255,255,255,.96)}.ghost-button{background:transparent;border-color:transparent;color:var(--muted)}.key-copy-button{min-height:34px;padding:7px 12px;font-size:.9rem}.pill,.status-badge{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:6px 12px;border-radius:999px;font-size:.85rem;font-weight:800}.pill{background:var(--accent-soft);color:var(--accent);border:1px solid rgba(29,78,216,.1)}.status-badge{background:var(--panel-muted);color:var(--muted);border:1px solid var(--border)}.status-badge.is-active,.status-badge.is-completed,.status-badge.is-ready{background:var(--success-soft);color:var(--success);border-color:rgba(4,120,87,.14)}.status-badge.is-failed{background:var(--danger-soft);color:var(--danger);border-color:rgba(180,35,24,.14)}.status-badge.is-processing,.status-badge.is-queued,.status-badge.is-running{background:var(--accent-soft);color:var(--accent);border-color:rgba(29,78,216,.14)}.status-badge.is-warning{background:var(--warning-soft);color:var(--warning);border-color:rgba(180,83,9,.14)}.text-link{color:var(--accent);font-weight:700}.text-link:hover{color:var(--accent-strong)}.split-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:18px;gap:18px}.workspace-controls{display:grid;grid-gap:10px;gap:10px;justify-items:start}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:16px;gap:16px}.stats-row{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.stat-card{padding:18px;display:grid;grid-gap:10px;gap:10px;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(247,250,253,.92))}.stat-card span{color:var(--muted);font-size:.88rem;font-weight:700}.stat-card strong{font-size:1.9rem;line-height:1;letter-spacing:-.04em}.assignment-card{padding:18px;display:grid;grid-gap:14px;gap:14px;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(247,250,253,.9))}.assignment-card.is-selected{border-color:rgba(29,78,216,.26);box-shadow:0 18px 36px rgba(29,78,216,.12)}.assignment-card-top{display:grid;grid-gap:12px;gap:12px;grid-template-columns:1fr auto;align-items:start}.card-actions,.key-actions{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.key-actions{justify-self:end}.meta-line{display:flex;gap:8px;flex-wrap:wrap;align-items:center;color:var(--muted);font-size:.92rem}.meta-dot:before{content:"•";color:var(--border-strong);margin-right:8px}.surface-muted{background:var(--panel-muted);border:1px solid rgba(139,152,176,.16);border-radius:var(--radius-sm);padding:16px}.segmented-control{display:inline-flex;flex-wrap:wrap;gap:6px;padding:6px;background:rgba(241,245,249,.92);border:1px solid rgba(139,152,176,.18);border-radius:999px;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}.segmented-option{min-height:38px;padding:8px 14px;background:transparent;color:var(--muted)}.segmented-option.is-active{background:white;color:var(--ink);border-color:rgba(29,78,216,.12);box-shadow:0 6px 18px rgba(15,23,42,.08)}.alert{display:grid;grid-gap:6px;gap:6px;padding:14px 16px;border-radius:var(--radius-sm);border:1px solid transparent}.alert p{margin:0}.alert-error{background:var(--danger-soft);border-color:rgba(180,35,24,.12);color:#7f1d1d}.alert-info{background:var(--accent-soft);border-color:rgba(29,78,216,.12);color:var(--accent-strong)}.error-text{color:var(--danger)}.empty-state{display:grid;grid-gap:6px;gap:6px;padding:18px;border-radius:var(--radius-sm);border:1px dashed rgba(139,152,176,.28);background:rgba(248,250,252,.92);color:var(--muted)}.file-viewer{display:grid;grid-gap:16px;gap:16px}.artifact-header{display:grid;grid-gap:14px;gap:14px;grid-template-columns:minmax(0,1fr) auto;align-items:start}.artifact-files{display:grid;grid-gap:14px;gap:14px}.artifact-file-card{display:grid;grid-gap:12px;gap:12px;padding:16px;border-radius:var(--radius-sm);border:1px solid rgba(139,152,176,.18);background:linear-gradient(180deg,#ffffff,#f8fafc)}.artifact-file-card.is-junk{opacity:.72;background:linear-gradient(180deg,#fbfcfe,#f4f7fa)}.artifact-file-head{display:grid;grid-gap:8px;gap:8px;grid-template-columns:minmax(0,1fr) auto;align-items:start}.artifact-file-head>div{display:grid;grid-gap:4px;gap:4px}.artifact-file-path{font-weight:700;word-break:break-word}.artifact-subpath{color:var(--muted-soft);font-size:.82rem}.code-surface{overflow:hidden;border-radius:16px;border:1px solid rgba(15,23,42,.08);background:#0f172a;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}.code-surface-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid rgba(148,163,184,.18);background:rgba(15,23,42,.92);color:rgba(226,232,240,.9)}.code-surface-head .dots{display:inline-flex;gap:6px}.code-surface-head .dots span{width:9px;height:9px;border-radius:50%;background:rgba(148,163,184,.4)}.code-surface pre{margin:0;padding:16px;overflow:auto;max-height:420px;white-space:pre-wrap;word-break:break-word;color:#e2e8f0;font-size:.9rem;line-height:1.6;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.history-list{display:grid;grid-gap:12px;gap:12px}.history-item{padding:14px 16px;border-radius:var(--radius-sm);background:rgba(248,250,252,.94);border:1px solid rgba(139,152,176,.16)}.history-item,.history-top{display:grid;grid-gap:10px;gap:10px}.history-top{grid-template-columns:minmax(0,1fr) auto;align-items:start}.history-top>div{display:grid;grid-gap:4px;gap:4px}.history-message{color:var(--muted);font-size:.92rem}.history-details{color:var(--muted);font-size:.88rem}.history-details summary{cursor:pointer;list-style:none;font-weight:700;color:var(--muted)}.history-details summary::-webkit-details-marker{display:none}.history-details p{margin-top:10px;padding:12px;border-radius:12px;background:rgba(255,255,255,.8);border:1px solid rgba(139,152,176,.12);white-space:pre-wrap;word-break:break-word}.compact-list{margin:0;padding-left:18px;display:grid;grid-gap:8px;gap:8px}.pair-table{display:grid;grid-gap:10px;gap:10px}.pair-table-head,.pair-table-row{display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 150px 90px 88px;align-items:center}.pair-table-head{color:var(--muted);font-size:.85rem;font-weight:700;letter-spacing:.02em;padding:0 4px 8px}.pair-table-row{padding:14px 16px;border-radius:var(--radius-sm);background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(247,250,253,.92));border:1px solid rgba(139,152,176,.16)}.pair-value{font-weight:700}.pair-score-stack{display:grid;grid-gap:4px;gap:4px}.pair-score-line{color:var(--muted);font-size:.84rem}.pair-score-line strong{color:var(--ink);margin-right:6px}.pair-note{color:var(--muted);font-size:.9rem}.pair-review-layout{display:grid;grid-gap:18px;gap:18px}.pair-identity-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.pair-review-metrics{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.metric-card{padding:16px;border-radius:var(--radius-sm);border:1px solid rgba(139,152,176,.16);background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(247,250,253,.92));display:grid;grid-gap:8px;gap:8px}.metric-card span{color:var(--muted);font-size:.84rem;font-weight:700}.metric-card strong{font-size:1.5rem;line-height:1;letter-spacing:-.03em}.evidence-grid,.evidence-shell{display:grid;grid-gap:16px;gap:16px}.evidence-grid{grid-template-columns:1fr 1fr}.evidence-pane{display:grid;grid-gap:0;gap:0;overflow:hidden;border-radius:18px;border:1px solid rgba(139,152,176,.18);background:#0f172a;box-shadow:var(--shadow-sm)}.evidence-pane-head{display:grid;grid-gap:4px;gap:4px;padding:14px 16px;background:rgba(15,23,42,.96);border-bottom:1px solid rgba(148,163,184,.16)}.evidence-pane-head strong{color:#f8fafc;font-size:.95rem}.evidence-pane-head span{color:rgba(203,213,225,.8);font-size:.82rem}.evidence-legend{display:grid;grid-gap:14px;gap:14px}.legend-groups-layout{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.legend-group{display:grid;grid-gap:10px;gap:10px;align-content:start;min-width:0}.legend-group-left{grid-column:1}.legend-group-right{grid-column:2}.legend-group-head{align-items:center}.legend-grid,.legend-group-head{display:flex;gap:8px;flex-wrap:wrap}.legend-button{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:8px 12px;border-radius:999px;border:1px solid rgba(139,152,176,.18);background:white;color:var(--ink);font-weight:700;cursor:pointer}.legend-button:hover{border-color:rgba(29,78,216,.24);box-shadow:0 8px 18px rgba(15,23,42,.08)}.legend-button.is-active{box-shadow:0 10px 22px rgba(15,23,42,.1)}.legend-swatch{width:12px;height:12px;border-radius:50%}.viewer-empty{display:grid;grid-gap:6px;gap:6px;place-items:start}@media (max-width:920px){.artifact-header,.hero-card,.history-top,.section-heading{grid-template-columns:1fr}.hero-meta{justify-content:flex-start}.key-actions{justify-self:start}.evidence-grid,.legend-groups-layout,.pair-identity-grid{grid-template-columns:1fr}.legend-group-left,.legend-group-right{grid-column:auto}}@media (max-width:720px){.narrow-shell,.page-shell{width:min(100vw - 24px,100%)}.page-shell{padding:20px 0 48px}.assignment-card,.hero-card,.panel,.stat-card{border-radius:16px}.hero-card,.panel{padding:18px}.assignment-card-top,.pair-table-head,.pair-table-row{grid-template-columns:1fr}.pair-table-head{display:none}}