.score-run{max-width:760px}.run-board{background:var(--card-bg,#fffdf7);border:1px solid #d6d3c5;border-radius:18px;padding:clamp(18px,4vw,38px);margin:24px 0;text-align:center}.run-eyebrow{font-size:12px;letter-spacing:2px}.run-challenge{font-family:Georgia,serif;font-size:clamp(54px,12vw,88px);line-height:1.2;color:#426477}.run-tiles,.run-keys,.run-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:18px 0}.run-tiles button,.run-keys button{font:inherit;border:1px solid #c5c6b9;background:#f1eee2;color:#25382e;border-radius:8px;min-width:44px;min-height:44px;padding:8px}.run-tiles button{font-size:28px;min-width:56px}.run-entry{display:flex;gap:10px;margin-top:8px}.run-entry input{min-width:0;width:100%;font:inherit;font-size:20px;padding:12px;border:1px solid #a5afa5;border-radius:8px;background:#fff;color:#24382d}.run-entry button{min-height:48px}.run-rules{line-height:1.7;margin-bottom:26px}.run-rules h2,.score-run section h2{font-size:22px}.run-history{display:flex;flex-wrap:wrap;gap:10px;list-style-position:inside;padding:0}.run-history li{padding:9px 14px;background:#eceee5;border-radius:8px;overflow-wrap:anywhere}#runStatus{min-height:48px}#runStatus[data-error=true]{color:#9b332e}#runResult{max-width:min(460px,calc(100vw - 32px));border:1px solid #bec5b6;border-radius:18px;padding:30px;background:#faf8ee;color:#263b30}#runResult::backdrop{background:#1e312c99}#runResult .modal-btn{margin:8px 0}button:focus-visible,input:focus-visible{outline:3px solid #668baa;outline-offset:3px}@media(max-width:480px){.run-entry{flex-direction:column}.run-board{padding:18px}.score-run .batch-score-panel{gap:6px}.score-run .score-box{padding:12px 8px}}
.score-run[data-game="target"] .run-challenge{color:#9a5a70}

/* Native dialogs still need explicit margins because the shared reset removes them. */
#runResult{position:fixed;inset:0;margin:auto;width:min(440px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);overflow:auto;text-align:center;padding:30px;box-shadow:0 20px 70px #142f2840}
#runResult h2{font:600 32px/1.15 var(--font-heading,Georgia,serif);margin:0 0 16px}
#resultSummary{font-size:21px;line-height:1.4;margin:0 0 12px}
#rewardStatus{font-size:15px;line-height:1.6;margin:0 0 24px}
#runResult .modal-btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;margin:10px 0 0}

.target-calculation{margin:24px 0 10px}.expression-label{display:block;font-size:12px;letter-spacing:1.6px;text-transform:uppercase;color:#7b736b;margin-bottom:12px}
.expression-display{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:9px;min-height:94px;padding:12px 4px 18px;border-bottom:1px solid #e6ddcf;margin-bottom:20px;cursor:default}
.expression-display:focus-visible{outline:none;border-bottom-color:#bd8b9c;box-shadow:0 2px 0 #bd8b9c}.target-calculation:focus-within .expression-label{color:#99536d}.expression-placeholder{font:italic 20px/1.5 var(--font-heading,Georgia,serif);color:#a49a8a}
.expression-token{display:inline-flex;align-items:center;justify-content:center;font:500 30px/1 var(--font-heading,Georgia,serif)}.expression-number{min-width:48px;min-height:55px;padding:10px 12px;border-radius:9px;background:#f0e0e3;color:#80485c;box-shadow:0 2px 0 #d9bfc6}.expression-operator{color:#9c6679;min-width:22px;font-size:29px}.expression-bracket{color:#9b9585;font-weight:400;font-size:35px}.target-submit{display:flex;justify-content:center;margin:22px 0 14px}.target-submit #submitRun{display:inline-flex;align-items:center;justify-content:center;width:min(100%,300px);min-height:48px;margin:0;padding:12px 24px}.target-submit #submitRun:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:480px){.expression-display{gap:7px}.expression-number{min-width:40px;min-height:48px;padding:8px 10px}.expression-token{font-size:26px}.expression-bracket{font-size:30px}.expression-placeholder{font-size:18px}.target-submit #submitRun{width:100%}}
