/* Orange power-equipment palette, inspired by the supplied reference. */
:root{--orange:#ef8b2c;--bright:#ffae54;--coal:#111111;--panel:#1b1b1b;--line:#505050;--muted:#c2c2c2}
html,body,.app{background:#111;color:#fff;font-family:Arial,Helvetica,sans-serif}
header{background:linear-gradient(105deg,#050505,#202020);border-bottom:3px solid var(--orange);box-shadow:0 3px 10px #0005}
h1{font-family:'Arial Black',Arial,sans-serif;font-weight:900;letter-spacing:-.5px}h1 span{color:var(--orange)}
.sub,.time,.run-meta,.label,.hint{color:var(--muted)}#runType{color:var(--bright);letter-spacing:.7px}.run-meta b{color:white}.round-line{color:#eee}.earnings-label b{color:var(--bright)}.total-label{color:#c2c2c2}.total-label b{color:white}
button{background:#292929;border-color:#666;border-radius:3px;color:white;font-weight:700;box-shadow:inset 0 1px #ffffff15}button:hover:not(:disabled){border-color:var(--orange);background:#3a3028}button:focus-visible{outline:2px solid var(--bright);outline-offset:2px}button:disabled{opacity:.42}
.title-row button,#rackToggle{background:#252525;border-color:#555;letter-spacing:.3px}input{accent-color:var(--orange)}input[type=number]{background:#111;color:#fff;border:1px solid #737373;border-radius:3px;padding:3px 5px}
.bottom{background:#080808;border-top:2px solid var(--orange)}.scrap-stats{color:#d7d7d7}.scrap-stats b{color:#fff}.scrap-stats>span:first-child{font-weight:700;letter-spacing:.7px}.scrap-stats #emptyBin{background:linear-gradient(#f9a64c,#dd741e);color:#17100b;border-color:#9a4e19;border-bottom-color:#71370e;box-shadow:inset 0 1px #ffd29a}.scrap-stats #emptyBin.full{background:#ffb55c;border-color:#ffdbab;box-shadow:0 0 9px #ff8b36}
.overlay{background:#080808d4}.card{background:linear-gradient(145deg,#a92c06 0,#e45e09 58px,#ee8b2d 112px,#1b1b1b 113px);border:1px solid #80502c;border-top:5px solid var(--orange);border-radius:4px;box-shadow:0 16px 50px #0009}.card small{color:#fff;font-weight:700;letter-spacing:1px}.card h2{font-family:'Arial Black',Arial,sans-serif;text-transform:uppercase;letter-spacing:-1px;font-weight:900;font-size:30px;line-height:1.02;color:white;margin:12px 0 22px;text-shadow:0 2px 3px #51210655}.card p{color:#e0e0e0}.card label{color:#eee}.card #load{color:#bfbfbf}.primary,#scrape{background:var(--orange);border-color:#f7aa5f;color:#13100d;letter-spacing:.6px;border-radius:2px}.primary:hover:not(:disabled),#scrape:hover:not(:disabled){background:#ffa047;color:#111}.primary{min-height:48px}.card #intro{padding-top:8px}
.rack-sheet{background:#171717f7;border-color:#a36636;border-top:4px solid var(--orange);border-radius:4px;box-shadow:0 -8px 35px #0009}.rack-sheet>.line>b{text-transform:uppercase;letter-spacing:.8px}.rack-summary{color:#f1f1f1}.rack-summary p{color:#c7c7c7}.rack-summary b{color:var(--bright)}.stat{border-color:#555}.value{color:var(--bright)}.bar{background:#3a3a3a}.bar i{background:var(--orange)}.message{color:#eee}.slot{background:#292929;border-color:#777}.slot.filled{background:#8c8c86;border-color:#deded6}.layers span{background:#333;color:#ddd}.layers .active{background:var(--orange);color:#15100c;font-weight:700}.layers .done{background:#704723;color:#fff}.audio-controls{border-color:#555}.audio-controls output{color:var(--bright)}.audio-controls small{color:#bbb}
#reaction{background:#171717f2;border-color:var(--orange);color:white;box-shadow:0 4px 16px #0008}#reaction:after{border-top-color:var(--orange)}#boost{color:var(--bright)}#fullWarning,#jamWarning{background:#b82b16;color:#fff}.jammed{color:#ff7f65}
.results-card{background:#181818;border-top:6px solid var(--orange)}.results-card small{color:var(--bright)}.results-card h2{text-shadow:none}.results-card dd{color:var(--bright)}.results-card td,.results-card th{border-color:#474747}.results-card th{color:var(--bright)}.arcade-total{background:linear-gradient(110deg,#b93708,#eb8325);color:#fff;border-color:#f3a358;text-shadow:0 2px #6d280a;font-size:26px}
@media(max-height:650px){.card h2{font-size:27px;margin-bottom:17px}.card{background:linear-gradient(145deg,#a92c06,#ed8527 96px,#1b1b1b 97px)}.results-card{background:#181818}}
@media(max-width:420px){.round-line{font-size:9px;gap:4px}.earnings-label{white-space:nowrap}.earnings-label b{font-size:16px}.total-label{font-size:9px;white-space:nowrap}}

#writeUps{font:9px monospace;color:#ffb65f;white-space:nowrap;margin-left:6px}.auditor-row{display:flex;align-items:center;gap:12px}.auditor-row svg{flex:none}#auditStatus{font-size:17px;color:#ffae54}#auditProgress{width:100%;height:12px;accent-color:#ef8b2c}#auditDialogue{margin:10px 0;padding:10px;border-left:3px solid #ef8b2c;background:#292521;font-weight:700}#auditDialogue:empty{display:none}#auditSummary{font:11px/1.5 monospace}.results-card{max-height:100%;overflow:auto}.sub{white-space:nowrap}@media(max-width:420px){#writeUps{font-size:8px;margin-left:3px}#runType{font-size:11px}}

#shiftEarnings,#gameEarnings{color:#63f58b;text-shadow:0 0 5px #47e87855}

/* Portrait phones allow a 12% longer conveyor while keeping the machinery scale. */
@media(max-width:600px) and (orientation:portrait){body{align-items:center}.app{height:auto;max-height:var(--viewport-height,100dvh);grid-template-rows:auto minmax(0,var(--mobile-stage-height,116.667vw)) auto;flex:none}.stage{height:var(--mobile-stage-height,116.667vw);min-height:0}}

/* Normal speed and boost share one fixed slot; activation never adds a row. */
.speed-readout{display:inline-block;flex:0 0 13ch;width:13ch;white-space:nowrap;text-align:right;line-height:16px;font:11px monospace}
.speed-readout #boost{margin:0;font:inherit;line-height:inherit}

/* Keep speed text out of flow: both states occupy the same fixed HUD slot. */
.speed-readout{position:relative;height:16px;min-height:16px;max-height:16px;vertical-align:top;font-variant-numeric:tabular-nums;overflow:hidden}
.speed-readout #boost,.speed-readout #feedSpeed{position:absolute;inset:0;margin:0;padding:0;white-space:nowrap;line-height:16px;font-size:11px;letter-spacing:0}
.difficulty-options{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:12px 0}.difficulty-options button{min-height:52px;font-weight:800;letter-spacing:1px}.difficulty-options button[aria-pressed="true"]{border-color:#d9ef82;background:#41512d;box-shadow:inset 0 0 0 2px #bfd66b;color:#f1ffc9}.difficulty-options button:disabled{opacity:.45;cursor:not-allowed}.difficulty-options small{display:block;font-size:10px;margin-top:4px}
@media(max-width:600px) and (orientation:portrait){
 .run-meta{display:grid;grid-template-columns:minmax(0,1fr) 84px 74px 78px;column-gap:2px;align-items:center;height:16px;min-height:16px;flex-wrap:nowrap}
 .run-meta>span{min-width:0;white-space:nowrap}
 .run-meta #mood{font-size:10px}
 .run-meta .speed-readout{width:78px}
}

#howToPlay{width:100%;min-height:44px;margin-top:8px}#howToDialog{width:min(540px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;border:3px outset #999;background:#242321;color:#ece8dc;box-sizing:border-box;box-shadow:0 12px 50px #000b}#howToDialog::backdrop{background:#000b}.help-title{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#172b58;padding:10px 14px}.help-title h2{margin:0;font:bold 20px monospace;color:#fff}.help-title button{min-width:44px;min-height:44px}.help-scroll{max-height:calc(100dvh - 120px);overflow:auto;padding:6px 18px 18px;font:15px/1.55 system-ui}.help-scroll strong,.help-scroll h3{color:#ffb35b}.help-scroll h3{font-size:16px}.help-scroll ul{padding-left:20px}.help-scroll li{margin:8px 0}
#auditMark{text-align:center;font:bold 60px/1 monospace;margin:8px 0}#auditProgress{appearance:none;display:block;width:100%;height:22px;border:2px inset #888;background:#101010;accent-color:var(--audit-fill,#e8c82c)}#auditProgress[hidden],#auditMark[hidden]{display:none}#auditProgress::-webkit-progress-bar{background:#101010}#auditProgress::-webkit-progress-value{background:var(--audit-fill,#e8c82c)}#auditProgress::-moz-progress-bar{background:var(--audit-fill,#e8c82c)}

/* Fill the portrait viewport: the footer occupies the bottom safe area. */
html,body{overflow:hidden}
@media(max-width:600px) and (orientation:portrait){
 .app{height:var(--viewport-height,100dvh);max-height:100dvh;grid-template-rows:auto minmax(0,1fr) auto}
 .stage{height:auto;min-height:0}
 .bottom{padding-bottom:calc(3px + env(safe-area-inset-bottom))}
}
.round-line{height:30px;min-height:30px;flex-wrap:nowrap}
.round-line>span{white-space:nowrap}
#weightHUD{display:block;flex:0 0 104px;width:104px;height:30px;object-fit:contain;pointer-events:none;border:1px solid #59615d;border-radius:2px;background:#252a29}
#clock{display:block;flex:0 0 66px;width:66px;height:28px;padding:3px 4px;border:2px inset #555;background:#080e0a;color:#ff3030;line-height:18px}
#clock svg{display:block;width:100%;height:100%;fill:currentColor;filter:drop-shadow(0 0 1px #ff3030)}
@media(max-width:360px){#weightHUD{flex-basis:96px;width:96px}.round-line{gap:3px;font-size:9px}.earnings-label b{font-size:14px}#clock{flex-basis:58px;width:58px}.title-row{gap:4px}}
