:root{--ink:#0b111e;--panel:#111a2b;--hot:#ff2d78;--hot-deep:#b9114d;--white:#fff;--muted:#bac4d4;--border:#43506a;--ok:#3ddc97;--bad:#ff91a5;--sans:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"JetBrains Mono",ui-monospace,SFMono-Regular,monospace;color-scheme:dark;scrollbar-color:var(--border) var(--ink);scrollbar-width:auto}
*{box-sizing:border-box}html{scrollbar-gutter:stable}body{margin:0;background:var(--ink);color:var(--white);font:16px/1.6 var(--sans)}.wrap{max-width:1160px;margin:auto;padding:0 28px}header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 0;border-bottom:1px solid var(--border)}.brand{color:var(--white);text-decoration:none;font:700 14px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.08em}.brand small{display:block;color:var(--muted);font-size:11px;margin-top:6px}nav{display:flex;flex-wrap:wrap;gap:20px;font-size:13px}a{color:var(--muted);text-underline-offset:4px}a:hover{color:var(--white)}a,button,summary{cursor:pointer}h1{font-size:clamp(38px,6vw,70px);letter-spacing:-.05em;line-height:1.03;max-width:850px;margin:16px 0 24px}h1 span{color:var(--hot)}h2{font-size:26px;line-height:1.2;letter-spacing:-.025em;margin:16px 0}p{margin:10px 0}.eyebrow{font:600 11px/1.5 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--hot);margin-top:44px}.lead{max-width:650px;color:var(--muted);font-size:19px;margin-bottom:34px}.exams{display:grid;grid-template-columns:1.2fr 1fr;gap:18px}.exam-card{border:1px solid var(--border);background:var(--panel);padding:26px}.exam-card p{color:var(--muted)}.final{background:transparent}.card-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.tag{font:600 12px var(--mono);text-transform:uppercase;letter-spacing:.08em}.badge{border:1px solid var(--ok);color:var(--ok);padding:3px 8px;font:12px var(--mono);line-height:1.6}.badge.neutral{border-color:var(--border);color:var(--muted)}.locked{margin-top:26px!important}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;gap:8px;border:1px solid var(--border);padding:11px 16px;background:transparent;color:var(--white);font:600 13px/1.4 var(--mono);text-decoration:none}.button:hover{border-color:var(--white);background:var(--panel)}.button:active{transform:translateY(1px)}.button.primary{background:var(--hot-deep);border-color:var(--hot-deep)}.button.primary:hover{background:#9c1042}.button:disabled{opacity:.55;cursor:not-allowed;transform:none}.small,.help{font-size:13px;color:var(--muted)}.small{margin-top:16px}.instructions,.submit-section{display:grid;grid-template-columns:1fr 1fr;gap:46px;padding:38px 0;border-bottom:1px solid var(--border)}.instructions .eyebrow,.submit-section .eyebrow{margin-top:0}li{margin-bottom:12px}ol{padding-left:22px}pre{overflow:auto;background:var(--panel);border:1px solid var(--border);padding:20px;font:13px/1.7 var(--mono);max-width:100%}code{font-family:var(--mono);font-size:.9em;overflow-wrap:anywhere}form{min-width:0;max-width:610px}label{display:block;font-size:14px;font-weight:600;margin-top:17px;margin-bottom:7px}input,select{width:100%;min-height:46px;padding:12px;border:1px solid var(--border);background:var(--panel);color:var(--white);font:16px var(--sans);border-radius:0}input::placeholder{color:#aab5c7}input[type=file]{font-size:14px}input::file-selector-button{cursor:pointer;border:1px solid var(--border);padding:8px;background:var(--ink);color:var(--white);margin-right:12px}.secret{display:flex}.secret input{min-width:0}.reveal{border:1px solid var(--border);border-left:0;background:var(--panel);color:var(--white);min-width:65px;font:13px var(--mono)}.reveal:hover{background:var(--ink)}.help{margin:5px 0}.field-error{color:var(--bad);font-size:13px;margin:0;min-height:20px}.feedback{font-size:14px;min-height:54px;margin-top:18px;padding:12px 0;overflow-wrap:anywhere}.feedback.error{color:var(--bad)}.feedback.success{color:var(--ok)}[aria-invalid=true]{border-color:var(--bad)}#submit{min-width:175px}#organizer{padding-bottom:28px}.table-wrap{overflow:auto;min-height:100px}table{border-collapse:collapse;width:100%;font-size:14px}th,td{padding:14px 12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}th{color:var(--muted);font-size:12px}td small{display:block;color:var(--muted)}footer{padding:26px 0;border-top:1px solid var(--border);color:var(--muted);font-size:12px}:focus-visible{outline:3px solid var(--hot);outline-offset:4px}[hidden]{display:none!important}.skip{position:absolute;top:-100px;padding:15px;background:var(--ink);z-index:2}.skip:focus{top:0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--ink)}::-webkit-scrollbar-thumb{background:var(--border);border:3px solid var(--ink)}::-webkit-scrollbar-thumb:hover{background:var(--muted)}@media(max-width:760px){.wrap{padding:0 18px}header{align-items:flex-start;flex-direction:column;gap:16px}.exams,.instructions,.submit-section{grid-template-columns:1fr;gap:24px}.exam-card{padding:20px}.instructions,.submit-section{padding:28px 0}h1{font-size:44px}nav{gap:14px}.actions .button{flex-grow:1}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media(forced-colors:active){:root{scrollbar-color:auto}.button,.badge{border:1px solid ButtonText}}

fieldset{min-width:0;border:1px solid var(--border);padding:16px;margin:20px 0}legend{font-weight:600;font-size:15px}.model-row{padding-bottom:14px;border-bottom:1px solid var(--border);margin-bottom:14px}.check-label{display:flex;align-items:flex-start;gap:12px;margin:24px 0}.check-label input{width:20px;min-height:20px;height:20px;flex-shrink:0;margin-top:2px;accent-color:var(--hot-deep)}

textarea{width:100%;padding:12px;border:1px solid var(--border);background:var(--panel);color:var(--white);font:14px/1.6 var(--mono);resize:none}input:disabled,textarea:disabled{opacity:.7}.instructions>div{min-width:0}

/* Final forms use a centered column, with instructions above the fields. */
.submit-section,.instructions{grid-template-columns:minmax(0,1fr);gap:20px;max-width:820px;margin-inline:auto}
.submit-section form{width:100%;max-width:none}
.submit-section>div>p,.instructions>div>p{max-width:72ch}
.final-page #connection:empty,.final-page #project-status:empty{display:none}

.mock-closed [aria-labelledby="mock-title"],.mock-closed .instructions,.mock-closed [aria-labelledby="upload-title"]{opacity:.5}
.mock-closed .instructions,.mock-closed [aria-labelledby="upload-title"]{display:none}
