:root{color-scheme:light;--ink:#233b35;--muted:#69736c;--paper:#f5f2e8;--line:#d6dccf;--dark:#243e3a;--green:#3c6a50;--gold:#dcb970;--red:#954838;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;color:var(--ink);background:#e5e8df}
*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}h1,h2,p{margin:0}p{line-height:1.5}h2{font-size:1.02rem;letter-spacing:-.02em}a{color:inherit;text-underline-offset:3px}button,input,select{font:inherit}
button,select,.file-button{min-height:44px;border:1px solid #bac7b9;background:#fffdf6;color:var(--ink);border-radius:7px;cursor:pointer}button{padding:10px 13px;font-weight:650}button:disabled{opacity:.55;cursor:default}button:hover:not(:disabled),.file-button:hover{background:#eef3e7;border-color:var(--green)}button:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible,.file-button:focus-within{outline:3px solid #b68732;outline-offset:3px}
.shell{max-width:1140px;min-height:100vh;margin:auto;background:var(--paper)}header{display:flex;justify-content:space-between;gap:10px;padding:18px 30px;background:var(--dark);color:#dce5d5;font-size:.72rem;letter-spacing:.07em}header a{letter-spacing:0}
.intro{padding:12px 30px 24px;background:var(--dark);color:#f5f0db}.title-row{display:flex;align-items:center;justify-content:space-between;gap:14px}h1{font:500 clamp(2.3rem,6vw,3.45rem)/1.1 ui-serif,Georgia,serif;letter-spacing:-.04em}.eyebrow{color:var(--muted);font-size:.67rem;letter-spacing:.11em;text-transform:uppercase;margin-bottom:7px}.intro .eyebrow{color:#c9cbaa}.clock{display:flex;flex-direction:column;gap:4px;text-align:right;white-space:nowrap}.clock strong{font:500 2.55rem/1 ui-monospace,monospace;color:var(--gold)}.clock span{font-size:.66rem;color:#c3d0c5}.objective{max-width:790px;margin-top:16px;font-size:.94rem;color:#e7eada}.objective strong{color:#f1cc80}
.day-line{display:flex;list-style:none;margin:18px 0 0;padding:0;border-top:1px solid #658074}.day-line li{width:50%;padding:12px 12px 0 0;font-size:.74rem;color:#c3cfc0;position:relative}.day-line li:before{content:"";position:absolute;top:-4px;left:0;width:7px;height:7px;border-radius:50%;background:#a5b99a}.day-line li.current:before{background:#f4cc7b;box-shadow:0 0 0 3px #f4cc7b26}.day-line li strong{display:block;color:#f2ecd5;margin-bottom:3px;font-size:.79rem}.day-line li.complete strong{color:#d9c087}
main>.service-board,main>.session-tools,main>.outcome,.work-layout{margin:22px 30px}.section-title{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:13px}.section-title>span{font-size:.69rem;color:var(--muted);text-align:right}.sites{display:grid;grid-template-columns:1fr 1fr;gap:16px}.site{padding:13px 15px;border:1px solid var(--line);border-left:3px solid #86a481;border-radius:7px;background:#fbfaf0}.site-title{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:7px}.site-title strong{font-size:.86rem}.site-title span{font-size:.7rem;color:var(--muted);white-space:nowrap}.site p{font-size:.76rem;color:var(--muted)}.site.completed{border-left-color:#bc9447}.site.failed{border-left-color:var(--red)}.site progress{margin:8px 0}
.work-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:24px;align-items:start}.crew{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.person{padding:18px 16px;background:#fffdf6;border:1px solid var(--line);border-radius:10px}.companion{background:#f0f2e7}.person-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.person-heading h2{font:500 1.4rem/1.1 ui-serif,Georgia,serif}.tag{font-size:.67rem;border:1px solid #cad3c1;padding:4px 8px;border-radius:14px;white-space:nowrap}.tag.busy{background:#e2eace;color:#45623b}.owned{font-size:.75rem;line-height:1.55;color:#4e6757;margin-bottom:10px}.condition{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.condition label{font-size:.69rem;color:var(--muted)}.condition span{float:right}meter{display:block;width:100%;height:8px;margin-top:3px}.current-job{padding-top:10px;border-top:1px solid var(--line)}.current-job strong,.current-job>span{display:block}.current-job strong{font-size:.8rem}.current-job>span{font-size:.7rem;color:var(--muted);margin-top:4px;line-height:1.5}
progress{appearance:none;display:block;width:100%;height:5px;border:0;border-radius:4px;background:#dce2d4;margin:10px 0}progress::-webkit-progress-bar{background:#dce2d4;border-radius:4px}progress::-webkit-progress-value{background:#64876a;border-radius:4px}
.choice-list{display:grid;gap:8px;margin-top:11px}.choice{width:100%;padding:11px;text-align:left;display:flex;flex-direction:column;gap:6px;border-color:#b9c9b1}.choice-heading{display:flex;justify-content:space-between;align-items:start;gap:8px}.choice-title{font-size:.81rem}.choice-cost{font-size:.68rem;font-weight:600;color:var(--green);white-space:nowrap;padding-top:2px}.choice-detail{font-size:.71rem;line-height:1.45;color:#61715f;font-weight:400}.choice-note{font-size:.67rem;color:var(--red);font-weight:550;line-height:1.45}.choice-note:empty{display:none}.choice.unavailable{background:#f3f1e8;border-color:#d7d9cd}.choice.capacity{border-color:#ba9652}.quiet{font-size:.72rem;min-height:38px;padding:6px 9px}.response{border-left:3px solid #77915e;padding:9px;margin-top:10px;background:#eaf1de;color:#425d35;font-size:.74rem}.response.refused{border-color:#b58a57;background:#f7eddd;color:#79563a}
.time-panel{padding:16px;border:1px solid #bbcbb3;border-radius:10px;background:#e7ecd9}.time-buttons{display:flex;flex-wrap:wrap;gap:7px}.time-buttons button{font-size:.74rem;padding:9px 11px}.time-buttons #next-event{width:100%;text-align:left}.time-buttons #next-event.primary{background:var(--dark);color:white}.time-buttons label{margin-left:auto}.time-buttons select{padding:8px;font-size:.74rem}.small{font-size:.73rem;color:var(--muted);margin:10px 0;line-height:1.5}.status{font-size:.73rem;color:#536b4b;margin-top:11px}
.carryover{padding:16px;border:1px solid #d1bb83;border-radius:10px;background:#f7efda;margin-top:18px}.carryover h2{font:500 1.15rem/1.3 ui-serif,Georgia,serif}.carryover p:not(.eyebrow),.carryover li{font-size:.75rem;color:#726345}.carryover p:not(.eyebrow){margin-top:9px}.carryover ul{padding-left:17px;margin:10px 0 0}.carryover li{line-height:1.5;margin-bottom:6px}
.journal{margin-top:22px}ol{padding:0;list-style:none}.journal ol{margin:0}.journal li{padding:10px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:38px 1fr;gap:9px;font-size:.72rem;line-height:1.5}.journal time{color:#7c846d;font:.67rem/1.6 ui-monospace,monospace}.journal strong{font-weight:650}
.outcome{padding:22px;background:#dfead7;border:1px solid #aec09d;border-radius:10px}.outcome h2{font:500 1.8rem/1.2 ui-serif,Georgia,serif;margin-bottom:10px}.outcome p{font-size:.85rem}.outcome a{display:inline-block;margin-top:12px;font-size:.8rem}.outcome.failure{background:#f3e6d8;border-color:#c5aa86}.outcome-facts{color:#576646;margin-top:12px}.save-row{display:flex;gap:9px;flex-wrap:wrap}.save-row button,.file-button{font-size:.81rem}.file-button{padding:10px 13px;display:inline-flex;align-items:center;position:relative;overflow:hidden}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
details{border-top:1px solid var(--line);padding:14px 0;margin-top:10px}summary{min-height:30px;font-size:.81rem;font-weight:600;cursor:pointer}.more-jobs{padding-bottom:0}.more-jobs summary{font-size:.73rem}.more-jobs .choice-list{margin-top:6px}details p{font-size:.8rem;color:var(--muted);margin-top:10px}.setup{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-top:14px}.setup label{font-size:.74rem;display:flex;flex-direction:column;gap:7px}.setup select{max-width:100%;padding:9px}.setup button{font-size:.8rem}.notice{margin:18px 30px;padding:14px;border:1px solid #c89f76;border-radius:8px;background:#fbeddc;color:#744d32;font-size:.82rem}.play-note{margin:22px 30px!important}footer{padding:24px 30px 30px;font:italic 1rem/1.4 ui-serif,Georgia,serif;color:#7a7d68}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:1000px){.work-layout{grid-template-columns:minmax(0,1fr) 260px;gap:18px}.crew{grid-template-columns:1fr}.person{padding:17px}.choice-title{font-size:.89rem}.choice-detail{font-size:.75rem}.choice-cost{font-size:.73rem}}
@media(max-width:680px){header{padding:15px 17px;font-size:.64rem}.intro{padding:10px 17px 19px}h1{font-size:2.35rem}.intro .eyebrow{font-size:.59rem;letter-spacing:.08em}.clock strong{font-size:2.15rem}.clock span{font-size:.58rem}.objective{font-size:.83rem;margin-top:13px}.day-line{margin-top:15px}.day-line li{font-size:.65rem;padding-top:10px}.day-line li strong{font-size:.7rem}.sites{gap:9px}.site{padding:10px}.site-title{display:block;margin-bottom:5px}.site-title strong{font-size:.76rem;display:block}.site-title span{font-size:.65rem}.site p{font-size:.67rem}.site progress{margin:7px 0}main>.service-board,main>.session-tools,main>.outcome,.work-layout{margin:17px}.section-title{margin-bottom:10px}.section-title h2{font-size:.93rem}.work-layout{display:flex;flex-direction:column;gap:17px}.crew{display:contents}.person{width:100%;padding:15px}.person:first-child{order:0}.day-sidebar{display:contents}.time-panel{order:1;width:100%}.companion{order:2}.carryover{order:3;width:100%;margin:0}.journal{order:4;width:100%;margin:0}.person-heading{margin-bottom:8px}.person-heading h2{font-size:1.24rem}.person .eyebrow{font-size:.6rem;margin-bottom:5px}.owned{font-size:.71rem;margin-bottom:8px}.condition{margin-bottom:8px}.current-job{padding-top:8px}.current-job strong{font-size:.77rem}.current-job>span{font-size:.67rem}.choice-title{font-size:.84rem}.choice-cost{font-size:.69rem}.choice-detail{font-size:.73rem}.choice-list{gap:8px;margin-top:9px}.choice{padding:11px}.time-buttons #next-event{width:auto;flex:1 0 45%}.time-buttons button{font-size:.71rem;padding:9px}.time-panel .section-title{margin-bottom:5px}.time-panel .small{margin:6px 0 10px}.time-panel{padding:14px}.outcome{padding:18px}.outcome h2{font-size:1.5rem}.notice{margin:15px 17px}.play-note{margin:17px!important}footer{padding:22px 17px}.session-tools .small{font-size:.7rem}}
@media(prefers-reduced-motion:no-preference){button{transition:background .12s,border-color .12s}}
/* Refusal reasons remain readable even when the corresponding request is unavailable. */
.choice:disabled{opacity:1}.choice:disabled .choice-note{color:#855139}
