/* A restrained facilitator-led tabletop interface. State is expressed through labels as well as colour. */
:root{--game-teal:#246b67;--game-gold:#c8a467}
body{background:#f0f2f3}
.sidebar{background:#172c38;padding-top:27px}
.product-name{margin:24px 13px 28px;letter-spacing:0}
.product-name strong{display:block;color:#fff;font-size:2.1rem;line-height:1;font-weight:650;letter-spacing:-.045em;margin-bottom:12px}
.product-name span{font-size:.56rem;letter-spacing:.11em;color:#b4c6ce}
nav a.active{background:#294956;box-shadow:inset 3px 0 #c8a467}
.sidebar-case{margin-top:27px}
.topbar{min-height:65px;padding-top:13px;padding-bottom:13px}
main{padding-top:27px}
.page-heading{margin-bottom:21px}
.page-heading h1{font-size:1.8rem}
.heading-actions .button{font-size:.8rem;min-height:36px;padding:8px 11px}
.mission-hud{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:0;background:#183644;color:#f5f8fa;border:1px solid #17303c;border-radius:7px;overflow:hidden;margin-bottom:18px;border-top:3px solid var(--game-gold)}
.mission-hud>div{padding:19px 22px;min-width:0}
.mission-hud>div+div{border-left:1px solid #36515e}
.hud-label{display:flex;align-items:center;justify-content:space-between;font-size:.64rem;font-weight:650;letter-spacing:.085em;color:#b7cbd3;line-height:1.5}
.hud-label b{letter-spacing:0;color:#f0d5a7;font-size:.8rem}
.mission-hud strong{display:block;font-size:1.1rem;font-weight:600;margin:9px 0 7px;line-height:1.4}
.mission-hud>div>span:last-child{display:block;font-size:.72rem;line-height:1.6;color:#bacbd4}
.mission-time strong{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:1rem;letter-spacing:-.025em}
.inject-track{display:flex;gap:5px;margin:10px 0 8px}
.inject-track span{flex:1;display:flex;align-items:center;justify-content:center;border:1px solid #516773;color:#b2c2cb;min-height:25px;border-radius:3px;font:650 .7rem ui-monospace,SFMono-Regular,Consolas,monospace}
.inject-track .released{background:#416b70;border-color:#76999a;color:#fff}
.inject-track .active{background:#e4c48e;border-color:#e4c48e;color:#273841}
.round-strip{border:1px solid #d7dfe3;background:#f8f9f9;border-radius:5px;margin-bottom:18px;overflow:hidden}
.round-step{padding:13px 14px;margin:0;border-bottom:3px solid transparent;gap:10px;line-height:1.5;font-size:.75rem}
.round-step+div{border-left:1px solid #e0e5e8}
.round-step small{display:block;font-size:.57rem;letter-spacing:.08em;font-weight:700;color:#677983;margin-bottom:3px}
.round-step.current{background:#fff;border-bottom-color:var(--game-teal)}
.round-step.current .round-number{background:var(--game-teal);border-color:var(--game-teal)}
.round-step.done .round-number{background:#e7efec;color:#365e4e;border-color:#b6c9bf}
.turn-prompt{display:flex;align-items:center;gap:14px;background:#e7efed;border:1px solid #c3d5cf;border-radius:5px;padding:15px 18px;margin-bottom:21px}
.turn-cue{font-size:1.4rem;color:var(--game-teal);width:25px;flex-shrink:0}
.turn-prompt strong{font-size:.875rem;color:#25463f;display:block;margin-bottom:3px}
.turn-prompt p{font-size:.8rem;color:#45655b;line-height:1.5;margin:0}
.turn-prompt>.button{margin-left:auto;flex-shrink:0;background:#265a54;border-color:#265a54;font-size:.8125rem;min-height:37px}
.turn-prompt>.button:hover{background:#1d4842}
.panel{border-radius:5px;box-shadow:0 2px 0 #233d4805}
.panel-head{padding:16px 21px;background:#fafbfb}
.panel-head h2{font-size:1rem}
.panel-head>.section-label{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;border:1px solid #cbd6db;background:#fff;padding:5px 8px;letter-spacing:.04em;font-size:.64rem;white-space:nowrap}
.case-title{font-family:inherit;font-weight:600;font-size:1.6rem;letter-spacing:-.035em;line-height:1.3}
.case-meta .badge{background:#f6f1e6;color:#7c622d;border-color:#ded1b2}
.play-cycle{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:21px 0}
.play-cycle span{display:flex;align-items:center;gap:10px;background:#f7f8f7;border:1px solid #dee4e0;padding:11px;font-size:.78rem;color:#43584e;border-radius:4px;line-height:1.5}
.play-cycle b{font:600 .7rem ui-monospace,SFMono-Regular,Consolas,monospace;color:#477369}
.dependency-board{background:#f2f5f5;border:1px solid #d7e0e1;border-radius:4px;padding:12px 7px 7px;margin-bottom:15px}
.dependency-board .topology .supplier{fill:#244b56;stroke:#244b56}
.dependency-board .topology text{font-size:12px}
.dependency-board .topology .node-label{font-size:13px}
.dependency-board .topology .supplier~text:nth-of-type(-n+2){fill:#fff}
.dependency-board .topology .edge{stroke:#728f98;stroke-width:1.6}
.dependency-board .topology .node{fill:#fff;stroke:#93aab3}
.service-list{grid-template-columns:1fr 1fr;gap:9px}
.service-row{border:1px solid #dce3e6;border-radius:4px;background:#fff;padding:12px 10px;gap:8px;justify-content:flex-start}
.service-row>div{min-width:0;flex:1}
.service-row strong{display:block;font-size:.74rem;font-weight:650;margin-bottom:7px}
.service-row span{display:flex;align-items:baseline;gap:5px;text-align:left;font-size:.67rem;line-height:1.5;max-width:none;color:#657680}
.service-state i{width:5px;height:5px;border-radius:50%;background:#80929d;flex-shrink:0}
.service-state.green i{background:#467c5d}.service-state.green{color:#386449}
.service-state.amber i{background:#a8772b}.service-state.amber{color:#85642c}
.service-icon{width:19px;height:19px;stroke:#4f7481;stroke-width:1.5;fill:none;flex-shrink:0}
.timeline li.current .timeline-mark{background:var(--game-teal);border-color:var(--game-teal)}
.document-link{border:1px solid #dbe3e7;border-left:3px solid #7898a1;background:#fafbfc;padding:11px;margin-bottom:9px;border-radius:3px}
.document-link:last-child{border:1px solid #dbe3e7;border-left:3px solid #7898a1;margin-bottom:0}
.document-link:hover{background:#eff4f5;border-color:#94aeb8}
.document-icon{background:#eaf0f3;color:#496a7c;border-color:#cedbe2;padding:7px 5px}
.decision-step{display:flex;gap:10px;align-items:center;margin:22px 0 15px;padding-top:20px;border-top:1px solid var(--line);font-size:.9375rem}
.decision-step span{font:650 .68rem ui-monospace,SFMono-Regular,Consolas,monospace;padding:6px;border:1px solid #b8ccc6;background:#eef4f1;border-radius:3px;color:#3b675b}
#decision-form .option{border-left:4px solid #b8c8ce;border-radius:4px;padding:15px;background:#fafbfc}
#decision-form .option:has(input:checked){border-color:#447c70;background:#edf5f0;box-shadow:0 0 0 1px #447c70}
#decision-form .option strong{color:#294650}
#decision-form textarea{min-height:82px}
.optional-record{border:1px solid #d7e0e3;border-radius:4px;margin:19px 0;background:#f9fbfb}
.optional-record>summary{cursor:pointer;padding:15px;font-size:.83rem;font-weight:600;color:#385766}
.optional-record>summary span{font-weight:400;font-size:.73rem;margin-left:7px;color:#6b7c83}
.optional-record>div{padding:8px 17px 0}
.token-budget{font:600 .8rem ui-monospace,SFMono-Regular,Consolas,monospace;padding:9px 12px;background:#183644;color:#f3dfb8;border:1px solid #254754;border-radius:4px}
.package{border-top:3px solid #c7d3d9;background:#fafbfc;position:relative;border-radius:4px}
.package:has(input:checked){border-color:#65897b;border-top-color:#3d7966;background:#edf5ef}
.package .cost{font:650 .7rem ui-monospace,SFMono-Regular,Consolas,monospace;color:#536e78;letter-spacing:.03em}
.play-guide{list-style:none;padding:0;counter-reset:play;margin:23px 0}
.play-guide li{counter-increment:play;position:relative;padding:0 0 21px 44px;font-size:.875rem;line-height:1.6}
.play-guide li:before{content:counter(play);position:absolute;left:0;top:0;background:#eaf1ed;border:1px solid #c3d2c9;border-radius:4px;width:27px;height:27px;text-align:center;line-height:27px;font-weight:650;color:#34614e}
.play-guide strong{display:block;margin-bottom:4px}.play-guide li>span{color:var(--muted)}
.control-decision{padding:0 0 17px;margin-bottom:17px;border-bottom:1px solid var(--line)}
.control-decision:last-child{padding:0;margin:0;border:0}.control-decision h3{margin:9px 0}.control-decision p{font-size:.875rem;line-height:1.6;margin-bottom:10px}.control-decision summary{font-size:.8rem;color:var(--blue);cursor:pointer}.control-decision dl{font-size:.8rem;line-height:1.6}.control-decision dt{font-weight:600;margin-top:10px}.control-decision dd{margin:3px 0;white-space:pre-wrap;overflow-wrap:anywhere}
.projection .turn-prompt{display:none}.projection .round-strip{display:grid}.projection .heading-actions{flex-wrap:wrap}
@media(max-width:1150px){.mission-hud>div{padding:17px 16px}.mission-hud strong{font-size:.94rem}.mission-time strong{font-size:.88rem}.mission-hud>div>span:last-child{font-size:.67rem}.round-step{padding:11px;font-size:.7rem}.service-list{grid-template-columns:1fr}.service-row{align-items:center}.service-row strong{margin-bottom:3px}}
@media(max-width:900px){.mission-hud{grid-template-columns:1fr 1fr}.mission-progress{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;align-items:center;column-gap:20px}.mission-hud>.mission-progress{border-left:0;border-top:1px solid #36515e;padding-top:12px;padding-bottom:12px}.mission-progress>span:last-child{grid-column:1}.mission-progress .inject-track{grid-column:2;grid-row:1/3;margin:0}.turn-prompt{align-items:flex-start;flex-wrap:wrap}.turn-prompt>div:nth-child(2){flex:1}.turn-prompt .button{margin-left:39px}.service-list{grid-template-columns:1fr 1fr}.round-step{font-size:.68rem}}
@media(max-width:640px){.sidebar{padding-top:17px}.product-name{display:inline-block;margin:0 0 0 22px;vertical-align:middle}.product-name strong{font-size:1.4rem;margin-bottom:4px}.product-name span{font-size:.46rem}.topbar{min-height:57px}.page-heading h1{font-size:1.6rem}.heading-actions{gap:7px}.heading-actions .button{font-size:.75rem}.mission-hud>div{padding:15px 13px}.mission-identity strong{font-size:.88rem}.mission-time strong{font-size:.8rem}.hud-label{font-size:.55rem}.mission-hud>div>span:last-child{font-size:.63rem}.mission-progress{column-gap:12px}.inject-track{gap:3px}.inject-track span{font-size:.6rem;min-height:23px}.round-step{padding:9px 7px;display:block;font-size:.6rem}.round-number{margin-bottom:6px;width:22px;height:22px}.round-step small{font-size:.49rem}.turn-prompt{padding:13px 12px;gap:9px}.turn-prompt .button{margin-left:34px}.turn-prompt p{font-size:.75rem}.play-cycle{gap:8px}.play-cycle span{font-size:.7rem;padding:9px}.service-row strong{font-size:.72rem}.case-title{font-size:1.5rem}.optional-record>summary{font-size:.78rem}}
@media print{.mission-hud{background:#fff;color:#000;border:1px solid #999}.mission-hud strong,.mission-hud span{color:#000!important}.turn-prompt{display:none}.optional-record>summary{display:block}.optional-record>div{display:block}.panel{box-shadow:none}}
