@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800;900;1000&display=swap');
:root{font-family:Nunito,system-ui,sans-serif;color:#143b46;background:#e8eff0;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:800 1rem Nunito,system-ui;cursor:pointer;border:2px solid #143b46;border-radius:10px;padding:12px 16px;background:#ffca52;color:#143b46;box-shadow:0 3px 0 #143b46;transition:transform .12s}button:hover:not(:disabled){transform:translateY(-2px);background:#ffda80}button:active:not(:disabled){transform:translateY(2px);box-shadow:none}button:disabled{opacity:.52;cursor:default;box-shadow:none}button:focus-visible,a:focus-visible{outline:3px solid #df681d;outline-offset:4px}header{min-height:92px;background:#143b46;color:white;padding:18px max(24px,calc((100vw - 1320px)/2));display:flex;align-items:center;gap:34px;border-bottom:5px solid #ffca52}.logo{font-weight:1000;color:#ffca52;text-decoration:none;font-size:2rem;line-height:1}.logo span{display:block;font-size:.75rem;color:white;letter-spacing:.22em;margin-top:8px}.shift{margin-right:auto;font-size:.8rem;letter-spacing:.08em}.shift b{display:block;font-size:1.5rem}.score span{display:block;font-size:.8rem;color:#b9d3d8}.score strong{font-size:1.25rem}.score:first-of-type strong{color:#ffca52}main{max-width:1368px;margin:auto;padding:26px 24px;display:grid;grid-template-columns:minmax(0,1.65fr) minmax(340px,1fr);gap:24px;align-items:start}.garage{min-width:0}.scene{height:420px;background:#51a7aa url('assets/neutral.png') center/cover;border:3px solid #143b46;border-radius:18px;position:relative;overflow:hidden;box-shadow:0 5px 0 #b8cbce;transition:filter .3s}.scene.bad{background-image:url('assets/bad.png');animation:rattle .15s 5}.scene.good{background-image:url('assets/good.png')}.scene-top{display:flex;justify-content:space-between;gap:8px;padding:14px}.pill{background:#143b46;color:white;font-size:.75rem;letter-spacing:.04em;padding:6px 10px;border-radius:6px;font-weight:900}.speech{position:absolute;left:18px;top:66px;max-width:56%;background:white;border:3px solid #143b46;border-radius:14px;padding:12px 16px;box-shadow:4px 4px 0 #143b46}.speech small{font-weight:900;color:#ac4e14;font-size:.75rem}.speech p{margin:5px 0 0;line-height:1.4;font-weight:800;font-size:1rem}.scene-caption{position:absolute;bottom:0;left:0;right:0;background:#143b46eF;color:white;padding:12px 18px;display:flex;justify-content:space-between;gap:14px;font-size:.875rem}.scene-caption b{color:#ffca52;white-space:nowrap}.status{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:24px;margin:22px 0}.status span,.status label{font-size:.875rem;display:block}.status strong{display:block;font-weight:900;margin-top:5px}.status label{display:flex;justify-content:space-between;gap:8px}progress{width:100%;height:13px;accent-color:#2c9590;margin-top:8px}progress::-webkit-progress-bar{background:#c9d9dc;border-radius:8px}progress::-webkit-progress-value{background:#2c9590;border-radius:8px}.workbench{background:#fff;border:2px solid #143b46;border-radius:18px;padding:24px;box-shadow:0 5px 0 #b8cbce}.eyebrow{font-size:.75rem;letter-spacing:.13em;font-weight:900;color:#317c83}h1{font-size:1.7rem;line-height:1.15;letter-spacing:-.035em;margin:10px 0 12px}.order-heading p{font-size:1rem;line-height:1.55;margin:0 0 22px;color:#49666e}.tabs{display:flex;background:#e8eff0;border-radius:10px;padding:4px;margin-bottom:16px;gap:4px}.tabs button{width:50%;background:transparent;border:0;box-shadow:none;padding:10px}.tabs button.active{background:#143b46;color:white}.action{display:block;width:100%;text-align:left;background:#fff;margin-bottom:11px;border-color:#bccfd3;box-shadow:0 2px 0 #bccfd3;padding:12px}.action span{display:block;font-size:.8rem;font-weight:600;color:#5c747a;margin-top:4px}.action.done{background:#e1f2ee}.secondary{background:#e8eff0;box-shadow:none}#finish{width:100%;margin-top:8px;font-size:.875rem}.hint{font-size:.8rem;color:#647b82;line-height:1.5;margin:18px 0 0}.journal,.reviews{background:#f8fbfb;border:1px solid #c2d4d7;border-radius:14px;padding:20px}.section-title{display:flex;justify-content:space-between;align-items:center;gap:12px}h2{font-size:1.05rem;margin:0}.section-title>span{font-size:.7rem;font-weight:900;letter-spacing:.05em;color:#69838a}.journal ol{padding:0;margin:16px 0 0;list-style:none;max-height:250px;overflow:auto}.journal li{border-left:3px solid #59a4a4;padding:4px 0 4px 12px;margin:12px 0;font-size:.925rem;line-height:1.5}.journal li.error{border-color:#e17341}.reviews{grid-column:1/-1}#reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:16px}.review{background:white;border:1px solid #d6e1e3;padding:16px;border-radius:10px}.review p{font-size:.925rem;line-height:1.5;margin:8px 0}.review b{color:#ac4e14}.review small{color:#627d83}.empty{font-size:.925rem;color:#627d83;margin:0}#outcome{border:2px solid #2a8b72;background:#e4f6ed;padding:18px;border-radius:12px;margin:15px 0}#outcome.fail{border-color:#c85b32;background:#fff0e5}#outcome p{line-height:1.5;font-size:.95rem}#outcome button{width:100%}footer{max-width:1320px;margin:0 auto;padding:0 24px 25px;display:flex;justify-content:space-between;gap:24px;align-items:center;font-size:.75rem;color:#647b82}footer button{font-size:.8rem;border:0;background:transparent;box-shadow:none;color:#49666e;padding:8px;white-space:nowrap}dialog{max-width:420px;width:calc(100% - 32px);border:3px solid #143b46;border-radius:16px;padding:24px;color:#143b46}dialog::backdrop{background:#143b46aa}dialog p{line-height:1.5}dialog div{display:flex;gap:10px;flex-wrap:wrap}#finish[hidden],#actions[hidden],.tabs[hidden]{display:none}@keyframes rattle{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}@media(min-width:1500px){.scene{height:460px}}@media(max-width:900px){main{grid-template-columns:1fr 1fr;gap:16px;padding:18px}.scene{height:390px}.speech{max-width:85%;left:12px;right:12px}.status{gap:12px;grid-template-columns:1fr 1fr}.status>div:first-child{grid-column:1/-1}.workbench{padding:18px}header{gap:18px;padding:18px}.score strong{font-size:1rem}.shift{display:none}.logo{margin-right:auto}#reviews{grid-template-columns:1fr 1fr}}@media(max-width:650px){header{flex-wrap:wrap;gap:12px;padding:14px 18px}.logo{font-size:1.6rem}.logo span{font-size:.65rem}.score span{font-size:.7rem}.score strong{font-size:.925rem}main{grid-template-columns:1fr;padding:14px;gap:16px}.scene{height:340px}.speech{max-width:65%;padding:10px;top:52px}.speech p{font-size:.875rem}.scene-top{padding:10px}.pill{font-size:.65rem}.scene-caption{font-size:.75rem;padding:10px}.status{grid-template-columns:1.5fr 1fr 1fr;gap:12px;margin:16px 0}.status>div:first-child{grid-column:auto}.status span,.status label{font-size:.75rem}.status label{display:block}.status label b{margin-left:5px}.journal{padding:16px}.journal ol{max-height:150px}.workbench{grid-row:2}.reviews{grid-column:auto}#reviews{grid-template-columns:1fr}footer{padding:0 18px 20px;align-items:flex-start}.section-title>span{font-size:.65rem}.hint{margin-bottom:0}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
#test-budget{padding:12px 14px;border:1px solid #c1d8d8;border-radius:10px;margin-bottom:14px;background:#eef7f5}#test-budget strong{display:flex;justify-content:space-between;font-size:.925rem}#test-budget p{font-size:.875rem;line-height:1.45;margin:5px 0 0}#test-budget.over-budget{background:#fff0df;border-color:#db9558;color:#86421c}#actions{max-height:440px;overflow-y:auto;padding:2px 5px 5px 1px;scrollbar-color:#88a7ac #e8eff0;scrollbar-width:thin}.deductions{color:#974a20}.status strong{font-size:.9rem}.hint{font-size:.875rem}#outcome p{font-size:1rem}.review small{font-size:.875rem}@media(max-width:650px){#actions{max-height:400px}}
/* Each order uses its own three-state illustrated vehicle sheet. */
.scene,.scene.bad,.scene.good{height:auto;background:#143b46;background-image:none}.scene-top{padding:8px 12px;align-items:center}.scene-top .pill{font-size:.875rem;letter-spacing:0}.scene-top .pill:first-child{color:#ffca52}#vehicle-art{width:100%;aspect-ratio:2;background-image:url('assets/vehicle-1.png');background-repeat:no-repeat;background-size:100% 306%;background-position:center .6%}.scene.bad #vehicle-art{background-position:center 50%}.scene.good #vehicle-art{background-position:center 99.4%}.scene .speech{position:static;max-width:none;margin:0;border:0;border-radius:0;padding:14px 18px;box-shadow:none;background:#fff9e9;min-height:108px}.scene .speech small{font-size:.875rem}.scene .speech p{font-size:1rem}.scene-caption{position:static;font-size:.875rem;align-items:center;flex-wrap:wrap}.garage{position:sticky;top:16px}.journal ol{max-height:225px}.scene.good .scene-top #engine{color:#8df1c7}.scene.bad .scene-top #engine{color:#ffba8f}@media(max-width:900px){.garage{position:static}.scene .speech{min-height:0}.scene-top .pill{font-size:.8rem}}@media(max-width:650px){.scene-top .pill{font-size:.75rem}.scene .speech{padding:12px}.scene-caption{font-size:.8rem}.status label,.status span{font-size:.875rem}.status{grid-template-columns:1fr 1fr}.status>div:first-child{grid-column:1/-1}.status label{display:flex}.status strong{font-size:1rem}}
