.submit-main{width:100%;max-width:600px;margin:0 auto;padding-top:16px;padding-bottom:16px}
.submit-main h1{font-family:var(--D);font-size:34px;line-height:1;font-weight:400;margin-bottom:20px}
.weight-section{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--border-hi)}
.weight-section label{font-family:var(--D);font-size:18px;letter-spacing:.02em}
.input-unit{display:flex;align-items:center;border:1px solid var(--border-hi);background:var(--surface);min-width:0}
.input-unit:focus-within{border-color:#eee}
.input-unit input{min-width:0;width:100%;height:44px;background:transparent;color:var(--text);border:0;border-radius:0;padding:8px;font-family:var(--B);font-size:16px;outline:none}
.input-unit input::placeholder{color:#777}
.input-unit span{font-size:10px;color:#aaa;padding-right:8px;flex-shrink:0}
.weight-input{width:104px;flex-shrink:0}
.mark-row{display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px;align-items:center;min-height:76px;padding:14px 0;border-bottom:1px solid var(--border-hi)}
.mark-title label{display:block;font-family:var(--D);font-size:18px;letter-spacing:.01em;line-height:1.1}
.mark-number,.mark-reference{display:none}
.mark-entry{display:grid;grid-template-columns:minmax(0,1fr) 78px;gap:10px;align-items:center}
.mark-score{text-align:right;font-variant-numeric:tabular-nums}
.score-value{font-family:var(--D);font-size:25px;line-height:1}
.score-value small{font-family:var(--B);font-size:9px;color:#aaa;margin-left:3px}
.score-delta{font-size:10px;color:#aaa;min-height:12px;margin-top:3px}
.score-delta.improved{color:#7edca4}
.time-inputs{display:flex;gap:3px;align-items:center;min-width:0}
.time-inputs .input-unit{flex:1}
.time-inputs input{padding:6px 3px;text-align:center}
.time-inputs .input-unit span{padding-right:3px;font-size:9px}
.submit-footer{padding-top:20px}
.submit-footer button{display:flex;justify-content:space-between;align-items:center;min-height:44px;padding:12px 14px 10px}
.submit-message{font-size:12px;line-height:1.5;margin-top:8px;color:#ddd}
.submit-message:empty{display:none}
.input-unit:has(input[aria-invalid="true"]){border-color:#e99595}
button:focus-visible,a:focus-visible{outline:2px solid #fff;outline-offset:4px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:360px){.submit-main{padding-left:16px;padding-right:16px}.mark-row{grid-template-columns:73px minmax(0,1fr);gap:7px}.mark-title label{font-size:16px}.mark-entry{grid-template-columns:minmax(0,1fr) 66px;gap:6px}.score-value{font-size:23px}.score-delta{font-size:9px}}
@media(min-width:768px){.submit-main{padding-top:28px}}

.mark-row{row-gap:5px;padding-top:10px;padding-bottom:10px}.mark-history{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:14px}.previous-mark{font-size:10px;color:#999;white-space:nowrap}.mark-history .score-delta{margin-top:0;font-size:11px;white-space:nowrap}.mark-score .score-value{line-height:1.15}

.review-screen[hidden]{display:none}
.review-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.review-heading h2{font-family:var(--D);font-size:34px;line-height:1;font-weight:400;margin:0}
.review-back{background:none;border:0;color:var(--muted);font-family:var(--D);font-size:12px;letter-spacing:.12em;padding:4px 0;cursor:pointer}
.review-back:hover{color:var(--text)}
.review-weight{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-top:1px solid var(--border-hi);border-bottom:1px solid var(--border-hi)}
.review-weight span{font-family:var(--D);font-size:18px;letter-spacing:.02em}
.review-weight strong{font-family:var(--D);font-size:22px;font-weight:400}
.review-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--border-hi)}
.review-row-main{min-width:0}
.review-row-name{font-family:var(--D);font-size:18px;line-height:1.1}
.review-row-previous{font-size:10px;color:#999;margin-top:4px}
.review-row-values{text-align:right;white-space:nowrap}
.review-row-mark{font-family:var(--D);font-size:22px;line-height:1}
.review-row-score{font-size:10px;color:#aaa;margin-top:3px}
.review-row-score.improved{color:#7edca4}
.review-footer{padding-top:20px}
.review-footer button{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:44px;padding:12px 14px 10px}
