.start-grading-btn{font-size:1.25rem;padding:1rem 2.5rem;width:100%;max-width:400px;margin:1.5rem auto 0;display:block;background:#2563eb;color:#fff;border-radius:.5rem;font-weight:700;box-shadow:0 2px 8px #2563eb26;transition:background .2s}.start-grading-btn:hover:not(:disabled){background:#1d4ed8}:root{color-scheme:light;--ink: #221b3d;--paper: #faf7fd;--paper-deep: #efe8f8;--card: #ffffff;--line: #d8cce8;--line-strong: #b8a3d4;--accent: #5b2fa3;--accent-strong: #472481;--accent-soft: #efe6fb;--success-soft: #e1f4ed;--warn-soft: #fbe8cc;--danger-soft: #f9e1e5}*{box-sizing:border-box}body{margin:0;font-family:IBM Plex Sans,Segoe UI,Helvetica Neue,sans-serif;color:var(--ink);background:radial-gradient(circle at 8% 12%,#e5daf7 0%,transparent 34%),radial-gradient(circle at 92% 8%,#f8dbb6 0%,transparent 28%),linear-gradient(140deg,#fcf9ff 0%,var(--paper-deep) 100%),var(--paper)}.page{width:100%;max-width:1200px;margin:0 auto;padding:2.2rem 1.2rem 3rem;display:grid;gap:1.15rem}.page>*{min-width:0}.hero h1{margin:.1rem 0 0;font-size:clamp(1.8rem,4vw,2.8rem);letter-spacing:-.02em}.hero-kicker{margin:0;font-size:.76rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#5d358f}.hero p{margin:.55rem 0 0;color:#334a68;max-width:72ch}.auth-hero{text-align:left}.auth-hero p{margin-left:auto;margin-right:auto}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1.05rem;box-shadow:0 20px 40px #1c437817,0 2px 6px #14325a0a;min-width:0}.nav-card{padding:.72rem}.auth-toolbar{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.7rem;padding-bottom:.55rem;border-bottom:1px solid var(--line)}.auth-user{font-size:.9rem;color:#4f2a77}.auth-card{max-width:560px;width:100%;margin:0 auto}.auth-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-bottom:.85rem}.auth-form{gap:.75rem}.top-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;width:min(560px,100%);background:#f3ebfa;border:1px solid #decaef;border-radius:14px;padding:.4rem}.nav-btn{min-width:128px;width:100%;text-align:center;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;padding:.65rem .75rem;line-height:1}.nav-btn-active{background:var(--accent);color:#fff;border-color:#4a2588;box-shadow:0 6px 14px #381a6740}.nav-btn-active:hover{background:var(--accent)}.form{display:grid;gap:.95rem}label{display:grid;gap:.4rem;font-weight:600}.reuse-hint{font-size:.82rem;font-weight:500;color:#6b6355}.or-divider{text-align:center;font-size:.85rem;color:#999;margin:.25rem 0;-webkit-user-select:none;user-select:none}.upload-steps{display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:1rem}.upload-step{display:grid;gap:.55rem}.upload-step-header{display:flex;align-items:center;gap:.5rem}.upload-step-number{display:inline-flex;align-items:center;justify-content:center;width:1.65rem;height:1.65rem;border-radius:50%;background:var(--accent);color:#fff;font-size:.82rem;font-weight:700;flex-shrink:0;transition:background .2s}.upload-step-number-done{background:#2d9e6e;font-size:1rem}.upload-step-title{font-weight:700;font-size:.97rem}.upload-step-desc{margin:0;font-size:.78rem;color:#888;font-weight:400}.upload-step-arrow{font-size:1.4rem;color:var(--line-strong);padding-top:2.4rem;text-align:center;-webkit-user-select:none;user-select:none}.drop-zone{display:grid;place-items:center;gap:.3rem;padding:1.3rem .9rem;border:2px dashed var(--line-strong);border-radius:12px;background:#f8f4fc;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s;text-align:center;min-height:115px;outline:none}.drop-zone:hover,.drop-zone:focus-visible{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 3px #5b2fa31f}.drop-zone-over{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 4px #5b2fa32e}.drop-zone-filled{border-color:#2d9e6e;border-style:solid;background:var(--success-soft)}.drop-zone-filled:hover,.drop-zone-filled:focus-visible{border-color:#22845c;background:#cceddf;box-shadow:0 0 0 3px #2d9e6e26}.drop-zone-icon{font-size:1.7rem;line-height:1}.drop-zone-cta{font-size:.87rem;font-weight:600;color:var(--ink)}.drop-zone-hint{font-size:.76rem;color:#999}.drop-zone-filename{font-size:.82rem;font-weight:600;color:#2d9e6e;word-break:break-all;padding:0 .5rem}@media (max-width: 600px){.upload-steps{grid-template-columns:1fr}.upload-step-arrow{transform:rotate(90deg);padding-top:0;justify-self:center}}.reuse-banner{margin:0;padding:.75rem .9rem;border:1px solid var(--line);border-radius:10px;background:#f5edf9;color:#4f2a77;font-size:.9rem}.submission-picker{display:grid;gap:.65rem;border:1px solid var(--line);border-radius:10px;padding:.85rem;background:#f8f4fc}.submission-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.submission-actions{display:flex;gap:.45rem;flex-wrap:wrap}.submission-list{display:grid;gap:.45rem;max-height:280px;overflow:auto;padding-right:.2rem}.submission-option{display:flex;align-items:center;gap:.6rem;padding:.45rem .55rem;border-radius:8px;background:#fff;border:1px solid #e7dcf3;font-weight:500}.submission-option:hover{background:#f3ebfa}.submission-option input{margin:0}.submission-empty{margin:0;color:#6b6355;font-size:.9rem}input[type=file]{font:inherit}input[type=number],input[type=email],input[type=password],input[type=text],select{font:inherit;padding:.52rem .62rem;border-radius:10px;border:1px solid var(--line);background:#fff}input[type=number]:focus,input[type=email]:focus,input[type=password]:focus,input[type=text]:focus,select:focus,textarea:focus,input[type=file]:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid #a88ad7;outline-offset:1px}textarea{font:inherit;border:1px solid var(--line);border-radius:10px;padding:.62rem .7rem;resize:vertical;min-height:120px}textarea.textarea-filled{border-color:#2d9e6e;background:var(--success-soft);color:var(--ink)}button{width:fit-content;background:var(--accent);color:#fff;border:none;border-radius:999px;padding:.62rem 1.02rem;font-weight:700;cursor:pointer;transition:background-color .15s ease,transform .08s ease}button:hover:not(:disabled){background:var(--accent-strong)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.6;cursor:not-allowed}.status strong{text-transform:capitalize}.error{color:#a0271d;background:var(--danger-soft);border:1px solid #f3b8b1;border-radius:8px;padding:.58rem}a{color:var(--accent)}.options-grid{display:grid;gap:.7rem;border:1px solid var(--line);border-radius:10px;padding:.8rem;background:#f6faff}.options-grid legend{font-weight:700;padding:0 .35rem}.inline-checkbox{display:inline-flex;align-items:center;gap:.45rem}.stream-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.stream-header h3{margin:0}.stream-switch{display:inline-flex;align-items:center;gap:.4rem;font-size:.9rem;font-weight:600}.stream-switch input{margin:0}.stream-panel{margin:.45rem 0 0;padding:.75rem;width:100%;max-width:100%;border-radius:10px;border:1px solid var(--line);background:#22173f;color:#f1e9ff;font-family:SF Mono,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.78rem;line-height:1.35;max-height:320px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.status-heading{display:flex;align-items:center;gap:.6rem}.status-heading h2{margin:0}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.3)}}.pulse-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#f0a500;animation:pulse 1.4s ease-in-out infinite}.job-id-line code{font-family:SF Mono,Menlo,Monaco,Consolas,monospace;font-size:.8rem;background:#f1e9fb;border-radius:4px;padding:.1em .4em;word-break:break-all}.badge{display:inline-block;padding:.2em .65em;border-radius:999px;font-size:.75rem;font-weight:700;text-transform:capitalize;white-space:nowrap}.badge-running{background:var(--warn-soft);color:#7c4f00;border:1px solid #f0cf84;animation:pulse 1.8s ease-in-out infinite}.badge-done{background:var(--success-soft);color:#1f6a44;border:1px solid #8fddb4}.badge-fail{background:var(--danger-soft);color:#a0271d;border:1px solid #f3b8b1}.badge-idle{background:#e9eef5;color:#41556f;border:1px solid var(--line)}.btn-ghost{background:#f7f0fd;color:var(--accent);border:1px solid #d9c6ef;border-radius:999px;padding:.4rem .85rem;font-weight:600;font-size:inherit;cursor:pointer;width:fit-content}.btn-ghost:hover{background:#eddff9}.btn-ghost:disabled{opacity:.5;cursor:default}.btn-sm{padding:.25rem .6rem;font-size:.8rem}.btn-link{display:inline-block;color:#5a2e97;text-decoration:none;border:1px solid #d9c6ef;border-radius:999px;padding:.25rem .6rem;font-size:.8rem;font-weight:600;white-space:nowrap}.btn-link:hover{background:#f0e5fb}.btn-danger{background:#c62828;color:#fff;border:1px solid #9f1f1f}.btn-danger:hover{background:#a61d1d}.artifact-list{display:flex;flex-direction:column;gap:.4rem;margin:.4rem 0}.artifact-item{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.5rem;border-radius:6px;transition:background-color .15s ease}.artifact-item:hover{background:#f1e8fb}.artifact-name{flex:1;font-size:.85rem;word-break:break-all;min-width:0}.history-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.history-header h2{margin:0}.history-empty{color:#888;font-style:italic}.history-table{width:100%;border-collapse:collapse;font-size:.88rem}.history-table th{text-align:left;padding:.55rem .65rem;border-bottom:2px solid var(--line-strong);font-weight:700;color:#56357f;white-space:nowrap}.history-row td{padding:.58rem .65rem;border-bottom:1px solid var(--line);vertical-align:middle;transition:background-color .15s ease}.history-row:last-child td{border-bottom:none}.history-row:hover td,.history-row:focus-within td{background:#f1e8fb}.history-row-active{background:#f4ecfc}.history-time{white-space:nowrap;color:#715d8f}.history-eval{font-size:.82rem;word-break:break-word}.history-assignment{font-size:.83rem;word-break:break-word}.history-actions{display:flex;gap:.4rem;flex-wrap:nowrap;justify-content:flex-end;align-items:center}.history-actions button,.history-actions a{white-space:nowrap}.history-expand-row td{padding:.6rem .8rem .8rem;background:#faf6fd;border-bottom:1px solid var(--line)}.history-loading,.history-empty-text{font-size:.85rem;color:#6e6283;font-style:italic}.section-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem;flex-wrap:wrap}.section-title{margin:0;font-size:1.02rem;font-weight:700;color:#4c2f75}.section-title-sm{font-size:.92rem}.sort-select{padding:.38rem .54rem;font-size:.85rem;border-radius:8px;border:1px solid #d5c2eb;background:#fff;font-family:inherit;cursor:pointer}.report-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:100;display:flex;align-items:center;justify-content:center;padding:0}.report-modal{background:#fff;border-radius:0;box-shadow:0 20px 60px #00000059;display:flex;flex-direction:column;width:100vw;max-width:none;height:100vh;overflow:hidden}.report-modal-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem 1rem;border-bottom:1px solid var(--line);flex-shrink:0}.report-modal-title{font-weight:600;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-frame{flex:1;width:100%;border:none}@media (max-width: 640px){.stream-header{flex-direction:column;align-items:flex-start}}
