:root{font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#173c39;background:#f2f1e9;font-synthesis:none;--ink:#173c39;--muted:#61716b;--line:#d4dbcf;--paper:#fcfcf5;--accent:#c25835;--green:#326b50;--yellow:#e7c375}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select,summary,.file-button{-webkit-tap-highlight-color:transparent}button,.file-button,summary{cursor:pointer}button{min-height:44px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink);padding:10px 14px;text-align:left;transition:background .15s,border-color .15s,transform .15s}button:hover,.file-button:hover{background:#ebeee1;border-color:#849e8f}button:active{transform:translateY(1px)}button:disabled{cursor:default;opacity:.48;transform:none}button.primary{background:var(--ink);color:#fff;border-color:var(--ink)}button.primary:hover{background:#28524a}button.quiet{background:transparent}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,.file-button:focus-within{outline:3px solid var(--accent);outline-offset:4px}a{color:inherit;text-underline-offset:4px}p{line-height:1.6}h1,h2,h3,p{margin-top:0}.shell{max-width:1240px;margin:auto;padding:28px 36px 0}.topline{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px;letter-spacing:.06em;margin-bottom:56px}.topline a{text-decoration:none;font-weight:650}.topline span{color:var(--muted);font-size:10px;letter-spacing:.15em}.intro{display:flex;justify-content:space-between;align-items:center;gap:40px;margin-bottom:32px}.eyebrow{font-size:10px;letter-spacing:.17em;font-weight:750;color:var(--muted);margin-bottom:12px}h1{font-family:Georgia,"Times New Roman",serif;font-size:76px;letter-spacing:-4px;line-height:1.02;margin-bottom:18px;font-weight:500}.title-dot{color:var(--accent)}.lead{font-size:21px;margin-bottom:4px}.premise{color:var(--muted);max-width:530px;margin-bottom:0;font-size:14px}.shift-stamp{border:1px solid #aebeb1;border-radius:50%;width:145px;height:145px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(7deg);box-shadow:inset 0 0 0 6px #f2f1e9,inset 0 0 0 7px #d0d8cc}.shift-stamp span{font-size:10px;letter-spacing:.2em}.shift-stamp strong{font-family:Georgia,serif;font-weight:400;font-size:57px;line-height:1.1}.shift-stamp small{font-size:10px;letter-spacing:.03em}.scoreboard{display:grid;grid-template-columns:1fr 1fr 1.2fr;border:1px solid var(--line);border-radius:14px;background:#e7ecdf;margin-bottom:32px}.scoreboard>div{padding:20px 26px;position:relative}.scoreboard>div+div{border-left:1px solid #c9d4c4}.stat-label{display:block;font-size:9px;letter-spacing:.13em;font-weight:750;margin-bottom:7px;color:#516b5f}.scoreboard strong{font-size:30px;font-weight:500;font-variant-numeric:tabular-nums;display:block}.scoreboard small{font-size:13px;color:#506d5d;font-weight:400}.stat-note{font-size:11px;color:#516b5f;display:block;margin-top:5px}.time-track{height:3px;background:#cad7c6;margin-top:12px;max-width:190px;overflow:hidden}.time-track span{display:block;height:100%;background:#447759;transition:width .3s}.layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(310px,.85fr);gap:28px;align-items:start}.yard-column{min-width:0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.section-heading h2{font-size:17px;letter-spacing:-.3px;margin:0;font-weight:650}.section-heading>span{font-size:10px;color:var(--muted);text-align:right}.section-heading .eyebrow{text-align:left;margin:0}.muted{color:var(--muted);font-size:12px;line-height:1.6;margin-bottom:0}.board-help{margin:0 0 18px}.jobs{display:grid;gap:10px}.job{display:grid;grid-template-columns:66px minmax(0,1fr) auto;align-items:center;gap:14px;width:100%;padding:18px 18px;background:var(--paper);border-radius:12px;min-height:108px}.job.selected{border:2px solid #4c7866;padding:17px;background:#f7f9ee;box-shadow:0 3px 0 #d9e1d1}.job.running{background:#e9f0e2}.job-art{width:66px;height:62px;stroke:#718575;stroke-width:2;fill:#e1e9d9}.job-art .seal{stroke:#b38458;fill:#eee2bb}.job-art .water{stroke:#b17855;fill:none}.job-art .flow{display:none;stroke:#498373}.running .job-art .flow{display:block}.running .job-art .water{display:none}.running .job-art .seal{fill:#c2d9bb;stroke:#578265}.job-name{display:block;font-size:15px;font-weight:700;margin-bottom:6px}.job-status{display:block;font-size:11px;color:var(--muted)}.job-cost{display:block;margin-top:6px;font-size:10px;color:var(--muted)}.job-value{text-align:right;font-size:22px;font-family:Georgia,serif;min-width:50px}.job-value small{display:block;font-family:ui-sans-serif,system-ui,sans-serif;font-size:9px;letter-spacing:.06em;color:var(--muted);margin-top:3px}.here-label{display:inline-block;font-size:8px;letter-spacing:.05em;font-weight:750;color:#28583e;margin-left:5px;padding:3px 4px;background:#dce9d3;border-radius:3px;vertical-align:middle}.depot-card{display:flex;align-items:center;gap:15px;padding:17px 20px;margin-top:14px;width:100%;border-style:dashed;background:transparent}.depot-card.selected{border-style:solid;border-color:#4c7866;background:#e9eee2}.depot-symbol{font-size:30px;line-height:1;width:40px;text-align:center;color:#718575}.depot-card strong{font-size:13px;display:block}.depot-card small{font-size:11px;color:var(--muted);display:block;margin-top:5px}.location-tag{font-size:8px;margin-left:auto;text-align:right;max-width:70px;letter-spacing:.05em;color:#4d6f5b}.carrying{padding:18px 3px;display:flex;gap:17px;align-items:center;font-size:12px}.carrying span{font-size:9px;letter-spacing:.12em;color:var(--muted)}.carrying strong{font-weight:550}.worker-card{border-top:1px solid var(--line);padding:23px 0 6px;margin-top:7px}.worker-card .section-heading>span{font-size:8px;letter-spacing:.08em}.meters{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:22px 0}.meter-label{display:flex;justify-content:space-between;gap:6px;font-size:12px;margin-bottom:7px}.meter-label strong{font-weight:500;font-size:10px;color:var(--muted)}meter{display:block;width:100%;height:7px;border:0;background:#dde2d4;border-radius:9px}meter::-webkit-meter-bar{height:7px;background:#dde2d4;border:0;border-radius:9px}meter::-webkit-meter-optimum-value{background:#a99968;border-radius:9px}meter::-moz-meter-bar{background:#a99968}.skill-row{border-top:1px solid #e1e5da;padding-top:17px;margin-bottom:13px;display:flex;justify-content:space-between;gap:10px}.skill-row>div{display:flex;align-items:baseline;gap:12px;font-size:12px}.skill-row strong{font-size:22px;font-weight:500}.skill-gain{color:#537351;font-size:11px;align-self:center}.action-panel{background:#fcfcf5;border:1px solid var(--line);border-radius:16px;padding:25px;box-shadow:0 7px 22px #28422c07;position:sticky;top:20px}.action-panel h2{font-family:Georgia,serif;font-size:30px;font-weight:400;letter-spacing:-.5px;margin:19px 0 10px}.target-description{font-size:12px;color:var(--muted);margin-bottom:20px}.event{background:#edf0e3;border-left:3px solid #8ca17b;font-size:12px;line-height:1.6;padding:12px 13px;border-radius:0 6px 6px 0;margin:0 0 16px}.event.failed,.event.blocked{background:#f5e9d8;border-color:#bd7d44}.event.interrupted{border-color:#9d9e8b}.practice-change{font-size:11px;color:#526e4b;margin:-5px 0 18px;line-height:1.5}.actions{display:grid;gap:10px}.action{padding:15px;width:100%;border-color:#cbd7c8;background:#f8f9f1}.action-main{display:flex;align-items:center;justify-content:space-between;gap:10px}.action-name{font-weight:650;font-size:13px}.action-time{font-size:11px;white-space:nowrap;color:var(--muted)}.action-description{display:block;font-size:11px;line-height:1.5;color:var(--muted);margin-top:7px}.action-forecast{display:block;font-size:11px;color:#3b6e54;margin-top:9px;font-weight:600}.action-forecast.warning{color:#a05b31}.action.travel{background:var(--ink);border-color:var(--ink);color:white}.action.travel .action-time,.action.travel .action-description{color:#d1dfce}.action.rest{background:transparent}.action.inspect{border-style:dashed;background:transparent}.hints{border-top:1px solid var(--line);margin-top:22px;padding-top:15px}.hints summary{font-size:11px;color:var(--muted)}.hints p{font-size:12px;color:var(--muted)}.inline-buttons{display:flex;flex-wrap:wrap;gap:8px}.inline-buttons button,.file-button{font-size:11px;min-height:40px}.end-shift{padding:10px 0;border:0;background:transparent;font-size:11px;color:var(--muted);margin-top:14px;text-decoration:underline;text-underline-offset:4px}.end-shift:hover{background:transparent;color:var(--ink)}#route-note{margin-top:14px}#pending-panel h3{font-size:16px;margin-bottom:15px}.pending-clock{display:flex;justify-content:space-between;gap:12px;font-size:12px;margin-bottom:10px}.pending-clock span+span{font-size:9px;color:var(--muted)}progress{display:block;width:100%;height:8px;margin-bottom:15px;accent-color:var(--green)}.interval-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.interval-buttons button{font-size:11px}.session{margin-top:36px;border-top:1px solid var(--line)}.save-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0}.save-bar>span{font-size:11px;color:var(--muted)}.file-button{position:relative;display:inline-flex;align-items:center;padding:10px 14px;border:1px solid var(--line);border-radius:9px;background:var(--paper)}.file-button input{position:absolute;inset:0;width:100%;opacity:0;cursor:pointer}.session details{border-top:1px solid var(--line);padding:16px 0}.session summary{font-size:12px;color:#466454}.session details p{max-width:850px;font-size:12px;color:var(--muted);margin-top:15px;margin-bottom:0}.session details button{font-size:12px}.setup-grid{display:grid;grid-template-columns:110px minmax(220px,1fr) auto;gap:15px;align-items:end;max-width:700px;margin:20px 0}.setup-grid label{display:grid;gap:8px;font-size:11px;color:var(--muted)}input[type=number],select{width:100%;min-height:44px;border:1px solid var(--line);border-radius:8px;padding:10px;background:#fcfcf5;color:var(--ink)}.check-option{font-size:12px;display:flex;gap:10px;align-items:center;margin:14px 0;color:var(--muted);line-height:1.5}.check-option input{accent-color:var(--ink);width:17px;height:17px;flex-shrink:0}.notice{border:1px solid #c3cfb8;background:#edf3e0;padding:12px 16px;border-radius:9px;font-size:12px;line-height:1.5;margin-bottom:20px}.outcome{border:1px solid #aec8a3;background:#e4edda;padding:28px 30px;border-radius:15px;margin-bottom:28px}.outcome h2{font-family:Georgia,serif;font-weight:400;font-size:35px;margin-bottom:12px}.outcome>p:not(.eyebrow){font-size:13px;color:#3b6048;max-width:700px}.outcome-jobs{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.outcome-job{padding:10px 13px;border:1px solid #c1d2b7;border-radius:8px;font-size:11px}.outcome-job strong{display:block;margin-bottom:5px;font-size:12px}.outcome-job.unfinished{color:#6e7466;background:#eef0e5}.outcome .primary{font-size:12px}footer{padding:25px 0 30px;margin-top:15px;color:#718273;font-size:10px;letter-spacing:.02em}[hidden]{display:none!important}@media(max-width:900px){.shell{padding:22px 25px 0}.layout{gap:20px;grid-template-columns:minmax(0,1fr) minmax(290px,.85fr)}.job{grid-template-columns:48px minmax(0,1fr) auto;padding:15px 12px;gap:10px}.job.selected{padding:14px 11px}.job-art{width:48px;height:52px}.job-name{font-size:13px}.job-value{font-size:20px}.action-panel{padding:20px}.here-label{margin:3px 0 0}.topline{margin-bottom:40px}}@media(max-width:710px){.shell{padding:20px 18px 0}.topline{gap:10px;margin-bottom:32px}.topline span{font-size:8px}.topline a{font-size:11px}.intro{gap:12px;align-items:flex-start;margin-bottom:24px}h1{font-size:56px;letter-spacing:-2.8px;margin-bottom:12px}.intro .eyebrow{font-size:8px}.lead{font-size:17px;line-height:1.4}.premise{font-size:12px;max-width:310px;line-height:1.6}.shift-stamp{width:79px;height:79px;margin-top:25px;box-shadow:inset 0 0 0 4px #f2f1e9,inset 0 0 0 5px #d0d8cc}.shift-stamp strong{font-size:31px}.shift-stamp span{font-size:7px}.shift-stamp small{font-size:6px}.scoreboard{grid-template-columns:.85fr 1fr 1.18fr;border-radius:10px;margin-bottom:26px}.scoreboard>div{padding:15px 11px}.stat-label{font-size:7px;letter-spacing:.07em;margin-bottom:8px}.scoreboard strong{font-size:25px}.scoreboard small{font-size:9px}.stat-note{font-size:8px;line-height:1.4}.time-track{margin-top:12px}.layout{display:flex;flex-direction:column;gap:23px}.yard-column,.action-panel{width:100%}.action-panel{position:static;padding:23px 20px}.section-heading h2{font-size:16px}.section-heading>span{font-size:9px}.board-help{font-size:11px;margin-bottom:15px}.job{grid-template-columns:55px minmax(0,1fr) auto;min-height:98px;padding:14px 15px;gap:12px}.job.selected{padding:13px 14px}.job-art{width:55px;height:58px}.job-name{font-size:14px}.here-label{margin:0 0 0 4px;font-size:7px}.job-cost{font-size:9px}.job-status{font-size:10px}.job-value{font-size:22px}.job-value small{font-size:8px}.depot-card{margin-top:12px;padding:14px 16px}.worker-card{padding-top:20px}.meters{margin:18px 0}.worker-card .muted{font-size:11px}.carrying{padding:15px 3px}.action-panel h2{margin-top:16px}.save-bar{align-items:flex-start;flex-direction:column;gap:14px}.save-bar .inline-buttons{width:100%}.save-bar button,.save-bar .file-button{flex:1;text-align:center;justify-content:center}.setup-grid{grid-template-columns:90px minmax(0,1fr)}.setup-grid button{grid-column:1/-1;text-align:center}.session{margin-top:25px}.outcome{padding:23px 20px}.outcome h2{font-size:29px}.outcome-jobs{display:grid;grid-template-columns:1fr;width:100%;gap:8px}.outcome-job{display:flex;justify-content:space-between;gap:10px}.outcome-job strong{margin:0}.skill-row>div{font-size:11px}.skill-gain{font-size:10px}footer{font-size:9px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.mobile-jump{display:none}@media(max-width:710px){.mobile-jump{display:block;font-size:11px;text-align:right;color:#466454;margin:-12px 0 24px;min-height:30px;padding:8px 0;text-underline-offset:4px}.board-return{margin:0 0 10px;padding:7px 0;text-align:left;font-size:10px}}
.hints summary,.session summary{min-height:44px;padding:14px 0}.inline-buttons button,.file-button{min-height:44px}
