/* A single command deck. The five stations never trade places or become tabs. */
body.command-workspace{--command-console-height:324px;--command-status-height:48px;--command-workspace-height:78px}
body.command-workspace.console-visible{--command-workspace-height:384px}
#bridge-console{position:absolute;left:10px;right:10px;top:auto;bottom:10px;width:auto;max-width:none;height:var(--command-console-height);z-index:7;display:flex;flex-direction:column;box-sizing:border-box;color:#e4d9b8;background:linear-gradient(110deg,#202820fa,#101a14fc);border:1px solid #a3874d;border-top:3px solid #b3985b;box-shadow:0 -5px 22px #0008,inset 0 0 0 2px #0a1710;overflow:visible;font:12px/1.3 system-ui,sans-serif;pointer-events:auto}
#bridge-console[hidden],#bridge-console-reopen[hidden]{display:none!important}
#bridge-console .console-heading{display:flex;align-items:center;justify-content:space-between;flex:none;gap:14px;min-height:39px;padding:5px 9px;box-sizing:border-box;border-bottom:1px solid #74623d;background:linear-gradient(90deg,#344031,#17271d)}
#bridge-console .console-title{flex:none;min-width:195px}
#bridge-console h2{margin:0;color:#eddbab;font:16px/1.1 Georgia,serif;font-weight:normal}
#bridge-console .console-title small{display:block;margin-top:3px;font-size:10px;color:#b5bea8}
#bridge-console h3{display:flex;justify-content:space-between;align-items:baseline;gap:6px;margin:0 0 6px;font:600 14px/1.3 Georgia,serif;color:#ead29a}
#bridge-console small{font:11px/1.25 system-ui,sans-serif;color:#bdc5ae;letter-spacing:0;text-transform:none}
#bridge-console h3 small{text-align:right;font-size:10px;font-weight:400}
#bridge-console button,#bridge-console select{box-sizing:border-box;min-width:0;min-height:28px;margin:0;padding:4px 5px;border:1px solid #75623d;border-radius:1px;background:linear-gradient(#384332,#1c291f);color:#f2e6c7;font:11px/1.2 system-ui,sans-serif;letter-spacing:0;text-transform:none;box-shadow:inset 0 1px #b4bb8222;cursor:pointer}
#bridge-console button:hover:not(:disabled){color:#fff2c8;background:#465239;border-color:#dbba6d}
#bridge-console button.active{background:#645332;border-color:#d7b775;color:#fff1c4;box-shadow:inset 0 -2px #e4c575}
#bridge-console button.blocked{opacity:.62;cursor:help;color:#aeb7a4;border-color:#4b5745;background:repeating-linear-gradient(135deg,#1c2b21 0 7px,#19261d 7px 14px)}
#bridge-console button.blocked:hover,#bridge-console button.blocked:focus-visible{opacity:1;color:#edd7ad;border-color:#b48259;background:#342b20}
#bridge-console button:focus-visible,#bridge-console select:focus-visible,#bridge-console-reopen:focus-visible,#bridge-console summary:focus-visible{outline:3px solid #ffe18c;outline-offset:2px;position:relative;z-index:2}
#bridge-console .console-heading button{min-height:28px;border-color:#8d784a;background:#18271e;white-space:nowrap}
#bridge-console .console-heading kbd{font:10px system-ui;margin-left:5px}
#bridge-console .console-feedback{margin:0;flex:1;max-width:740px;font:11px/1.4 system-ui;color:#d2c59d;text-align:center}
#bridge-console .console-scroll{display:grid;grid-template-columns:minmax(185px,.92fr) minmax(185px,.95fr) minmax(255px,1.22fr) minmax(312px,1.4fr) minmax(225px,1.08fr);min-height:0;flex:1;overflow-x:auto;overflow-y:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ad9155 #122016;outline:none}
#bridge-console .console-group{min-width:0;padding:9px 10px 6px;box-sizing:border-box;border-right:1px solid #72644388;outline:none;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#8d7647 #122016;scroll-margin:8px;background:linear-gradient(90deg,#18231900,#39463213)}
#bridge-console .console-group:last-child{border-right:0}
#bridge-console .console-group:focus{outline:2px solid #d8bb70;outline-offset:-3px}
#bridge-console .console-group.console-focus{background:#ae914017;box-shadow:inset 0 3px #e1bd62}
#bridge-console .console-buttons{display:flex;gap:3px;min-width:0}
#bridge-console .console-buttons button{flex:1;white-space:nowrap}
#bridge-console .console-note{font:10px/1.35 system-ui,sans-serif;color:#c0c9b2;margin:4px 0 0;overflow-wrap:anywhere}
#bridge-console .console-note[hidden]{display:none}
#bridge-console .console-phase{font:10px/1.35 system-ui;color:#d4c799;min-height:14px;margin:3px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#bridge-console progress{display:block;appearance:none;width:100%;height:4px;margin:3px 0 0;border:0;background:#09150d;accent-color:#e2c270;border-radius:0}
#bridge-console progress::-webkit-progress-bar{background:#09150d}
#bridge-console progress::-webkit-progress-value{background:#d6b45f}
#bridge-console progress::-moz-progress-bar{background:#d6b45f}
#bridge-console .console-helm-live{display:grid;grid-template-columns:70px 1fr;grid-template-rows:36px 29px;gap:3px 6px;align-items:center}
#bridge-console .console-helm-live .helm{width:68px;height:65px;grid-row:1/3;margin:0}
#bridge-console .helm-ring{inset:4px 7px}
#bridge-console .helm b{font-size:23px;left:23px;top:20px}
#bridge-console .helm i{top:9px;transform-origin:center 24px;height:22px}
#bridge-console .helm #helm-order{height:19px;top:12px}
#bridge-console .helm .port-letter,#bridge-console .helm .starboard-letter{top:29px;font-size:9px}
#bridge-console .helm-buttons{display:flex;gap:3px;grid-column:2;grid-row:1}
#bridge-console .helm-buttons button{flex:1;padding:4px 2px;font-size:10px;min-width:28px}
#bridge-console #helm-status{grid-column:2;grid-row:2;white-space:normal;font:10px/1.3 system-ui;margin:0;text-align:center}
#bridge-console .speed{grid-column:1/-1;display:flex;gap:6px;align-items:baseline;margin:1px 0 3px}
#bridge-console .speed strong{font:21px Georgia;color:#ebdbaf}
#bridge-console .speed span{font:10px system-ui;max-width:none}
#bridge-console .speed small{display:block;margin-left:auto;max-width:88px;text-align:right;font-size:9px}
#bridge-console .console-steering{display:grid;gap:5px;margin-top:6px}
#bridge-console .console-gear-state{display:none}
#bridge-console .console-helm-utilities{margin-top:7px}
#bridge-console .console-helm-utilities button{width:100%}
#bridge-console .console-sweep+.console-sweep{margin-top:11px}
#bridge-console .console-row-title{display:flex;justify-content:space-between;gap:6px;align-items:baseline;margin-bottom:4px;min-height:15px}
#bridge-console .console-row-title b{font-size:11px;font-weight:600;flex:none}
#bridge-console .console-row-title small{text-align:right;font-size:10px}
#bridge-console .console-station-tip{font:10px/1.5 system-ui;color:#aeb9a1;margin:10px 0 0}
#bridge-console .console-weather{display:block;width:100%;font-size:10px;text-align:left;margin:8px 0 0;padding:4px 0;background:transparent;border:0;border-top:1px solid #5c5b3d;box-shadow:none;color:#d4c897;line-height:1.5}
#bridge-console .sail-orders{display:flex;gap:3px;margin:0 0 7px}
#bridge-console .sail-orders button{flex:1;padding:4px 2px}
#bridge-console .console-canvas-legend{display:grid;grid-template-columns:70px 1fr 72px;gap:4px;color:#aab798;font-size:9px;padding:0 0 3px}
#bridge-console .console-canvas-legend span:last-child{text-align:center}
#bridge-console .console-canvas{display:grid;grid-template-columns:55px minmax(46px,1fr) 29px 68px;gap:2px 4px;align-items:center;margin-top:4px}
#bridge-console .console-canvas label{color:#e5dabc;font-weight:600;line-height:1.15;font-size:11px}
#bridge-console .console-canvas label small{display:block;white-space:nowrap;font-size:9px;font-weight:400;margin-top:3px}
#bridge-console select{padding-left:3px;width:100%;background:#213326;color-scheme:dark}
#bridge-console .console-canvas [data-canvas]{font-size:10px;padding-left:2px;padding-right:2px}
#bridge-console .console-trims{display:flex;justify-content:center;gap:2px;color:#aabb9d;font-size:10px}
#bridge-console .console-trims button{padding:3px 0;flex:1;min-width:20px;font-size:10px}
#bridge-console .console-canvas-phase{grid-column:1/-1;display:flex;align-items:center;gap:6px;min-height:13px}
#bridge-console .console-canvas-phase small{font-size:9px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#bridge-console .console-canvas-phase progress{width:30px;flex:1;max-width:55px;height:3px;margin:0 0 0 auto}
#bridge-console .console-canvas-utilities{margin-top:6px}
#bridge-console .console-canvas-utilities button{width:100%}
#bridge-console .console-rope+.console-rope{margin-top:9px}
#bridge-console .console-rope .console-note{display:none}
#bridge-console .console-berth{border-top:1px solid #74643e80;padding-top:8px;margin-top:9px}
#bridge-console .console-berth .console-note{max-height:29px;overflow:hidden}
#bridge-console .watch-presets{display:flex;gap:3px;margin:0 0 8px}
#bridge-console .watch-presets button{flex:1;padding:4px 2px;font-size:10px}
#bridge-console .watch-presets kbd{display:none}
#bridge-console .console-core-staff{display:grid;gap:4px}
#bridge-console .console-staff-heading{display:grid;grid-template-columns:1fr 78px 78px;gap:7px;margin-bottom:5px;color:#adbc9f;font-size:10px}
#bridge-console .console-staff-heading span:nth-child(n+2){text-align:center}
#bridge-console .console-staff{display:grid;grid-template-columns:1fr 66px 25px 19px 25px;grid-template-rows:15px 15px;gap:0 2px;align-items:center;min-height:30px}
#bridge-console .console-staff>span{grid-column:1/3;grid-row:1;font-size:11px}
#bridge-console .console-staff>small{grid-column:1/3;grid-row:2;text-align:left;font:9px system-ui;font-variant-numeric:tabular-nums}
#bridge-console .console-staff>button{grid-row:1/3;padding:0;min-height:28px;font-size:17px}
#bridge-console .console-staff>b{grid-row:1/3;text-align:center;color:#efdfae;font-size:11px;font-variant-numeric:tabular-nums}
#bridge-console .console-extra-staff{color:#c5d0b4;margin-top:7px}
#bridge-console .console-extra-staff summary{font-size:11px;cursor:pointer;min-height:28px;padding:5px 0;box-sizing:border-box;color:#dec88e}
#bridge-console .console-extra-staff[open] summary{margin-bottom:3px;color:#ffe6a2}
#bridge-console .console-extra-body{border:1px solid #8c7547;background:#17241d;padding:10px;position:fixed;bottom:var(--command-workspace-height);right:10px;z-index:15;width:330px;max-width:calc(100vw - 24px);max-height:min(370px,45vh);overflow:auto;box-sizing:border-box;box-shadow:0 -6px 30px #000b}
#bridge-console .console-extra-body .console-staff{grid-template-columns:1fr 78px 27px 23px 27px;grid-template-rows:31px;gap:3px}
#bridge-console .console-extra-body .console-staff>span{grid-column:1;grid-row:1}
#bridge-console .console-extra-body .console-staff>small{grid-column:2;grid-row:1;text-align:center}
#bridge-console .console-extra-body .console-staff>button,#bridge-console .console-extra-body .console-staff>b{grid-row:1}
#bridge-console .console-watch .console-note{font-size:9px;margin:0}
#bridge-console .weapons{display:flex;align-items:center;gap:7px;margin-top:6px}
#bridge-console .weapons button{flex:1;font-size:10px}
#bridge-console .weapons span{font:9px system-ui;color:#b4bea8}
#bridge-console-reopen{position:absolute;right:16px;bottom:90px;top:auto;z-index:8;min-height:36px;padding:8px 14px;font:13px system-ui,sans-serif;color:#f2dda5;background:#233725f5;border:1px solid #b99b57;box-shadow:0 3px 16px #0008;pointer-events:auto}
.hidden-ui #bridge-console,.hidden-ui #bridge-console-reopen{opacity:0;pointer-events:none}

/* The old duplicated command groups become one quiet hull-and-stores ribbon. */
.command-workspace #command-deck{height:48px;min-height:0;grid-template-columns:1.05fr 1fr;bottom:10px;padding:0;left:10px;right:10px;border-top-width:1px}
.command-workspace.console-visible #command-deck{bottom:calc(var(--command-console-height) + 12px)}
.command-workspace #command-deck>.helm-section,.command-workspace #command-deck>.sails-section,.command-workspace #command-deck>.duty-section{display:none}
.command-workspace #command-deck>.condition{display:grid;grid-template-columns:138px 1fr 1fr 120px 112px;grid-template-rows:auto;gap:12px;align-items:center;padding:7px 12px}
.command-workspace .hull-name{display:block;margin:0;line-height:1.1}.command-workspace .hull-name>span{font-size:9px;letter-spacing:.13em;display:block}.command-workspace .hull-name small{display:block;margin-top:3px;font-size:9px}
.command-workspace .meter-row{margin:0}.command-workspace .meter-row label{font-size:10px}.command-workspace .meter{height:3px;margin-top:3px}.command-workspace .crew-state{margin:0;display:flex;gap:3px 10px;flex-wrap:wrap;font-size:9px;justify-content:flex-start}.command-workspace .crew-state #silver-number{color:#d2bb79}
.command-workspace #instrument-reading{margin:0;min-height:28px;font-size:9px;padding:4px}
.command-workspace #command-deck>.stores{display:grid;grid-template-columns:1fr 105px;align-items:center;gap:10px;padding:7px 12px}.command-workspace .stores>.smallcaps{display:none}.command-workspace .stores #stores{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:0}.command-workspace .store{gap:5px}.command-workspace .store span{font-size:10px}.command-workspace .store b{font-size:17px}.command-workspace .stores button{font-size:10px;min-height:27px;padding:4px 6px}
.command-workspace.console-visible #response-strip{display:none}
.command-workspace #response-strip{bottom:59px;min-height:24px;box-sizing:border-box;padding:3px 10px;overflow:hidden}
.command-workspace #interaction,.command-workspace #toast{bottom:calc(var(--command-workspace-height) + 12px)}
.command-workspace #dialogue-caption{bottom:calc(var(--command-workspace-height) + 18px);left:50%;width:min(480px,40vw)}
.command-workspace #captain-view-hud{bottom:calc(var(--command-workspace-height) + 14px)}
.command-workspace #mini-chart{right:14px;top:100px;width:166px}
.command-workspace #mini-chart canvas{width:150px;height:137px}
.command-workspace #mini-chart button{font-size:10px;letter-spacing:0;padding:6px 2px}
.command-workspace.console-visible #watch-report,.command-workspace.console-visible #order-message{display:none}
.command-workspace #bridge-weather{top:112px;left:50%;transform:translateX(-50%)}
.command-workspace:not(.tutorial-active) #clock-button{top:112px;left:284px;width:106px}
.command-workspace:not(.tutorial-active) #clock-button canvas{width:90px;height:90px}
.command-workspace:not(.tutorial-active) #first-mate{left:22px;right:auto;top:auto;bottom:calc(var(--command-workspace-height) + 14px);max-height:190px;width:284px}

@media(min-width:1600px){body.command-workspace{--command-console-height:330px}body.command-workspace.console-visible{--command-workspace-height:390px}#bridge-console button,#bridge-console select{font-size:12px;min-height:30px}#bridge-console .console-group{padding-left:15px;padding-right:15px}#bridge-console .console-canvas{grid-template-columns:70px minmax(60px,1fr) 38px 83px;gap:3px 5px}#bridge-console .console-trims button{min-width:24px}#bridge-console .console-staff{grid-template-columns:1fr 66px 28px 26px 28px}#bridge-console .console-row-title b{font-size:12px}#bridge-console .console-note,#bridge-console .console-phase{font-size:11px}}
@media(max-width:1250px){#bridge-console .console-scroll{grid-template-columns:190px 190px 255px 312px 225px}#bridge-console .console-feedback{font-size:10px}.command-workspace #command-deck>.condition{grid-template-columns:110px 1fr 1fr 100px;gap:10px}.command-workspace .crew-state{display:none}.command-workspace .stores #stores{gap:9px}.command-workspace #bridge-weather{display:none}.command-workspace:not(.tutorial-active) #clock-button{left:250px}}
@media(max-height:800px) and (min-width:1000px){.command-workspace:not(.tutorial-active) #first-mate{max-height:155px}.command-workspace:not(.tutorial-active) #objective{max-height:95px;overflow:hidden}.command-workspace:not(.tutorial-active) #objective p{margin:5px 0}.command-workspace:not(.tutorial-active) #objective #waypoint-info{display:none}.command-workspace:not(.tutorial-active) #clock-button{top:110px}.command-workspace #mini-chart{top:90px}.command-workspace #mini-chart canvas{height:105px;width:150px;object-fit:contain}}
@media(max-width:900px){#bridge-console .console-title{min-width:155px}#bridge-console .console-title h2{font-size:14px}#bridge-console .console-feedback{font-size:9px;text-align:left}#bridge-console .console-heading{gap:8px}#bridge-console .console-scroll{scroll-snap-type:x proximity}#bridge-console .console-group{scroll-snap-align:start}.command-workspace #command-deck>.condition{grid-template-columns:95px 1fr 1fr;padding:6px 8px;gap:8px}.command-workspace #command-deck>.stores{grid-template-columns:1fr;padding:6px 8px}.command-workspace .stores button{display:none}.command-workspace .hull-name>span{font-size:8px}.command-workspace .stores #stores{gap:8px}.command-workspace .store{display:block}.command-workspace .store span{display:block;font-size:9px}.command-workspace .store b{font-size:15px}.command-workspace #mini-chart{display:none}.command-workspace:not(.tutorial-active) #first-mate{max-height:160px;width:260px;left:12px}}
@media(max-width:600px){body.command-workspace{--command-console-height:324px}body.command-workspace.console-visible{--command-workspace-height:384px}#bridge-console{left:5px;right:5px;bottom:5px}#bridge-console .console-heading{padding:5px 8px}#bridge-console .console-title{min-width:0}#bridge-console .console-title h2{font-size:13px}#bridge-console .console-title small{font-size:9px}#bridge-console .console-feedback{display:none}#bridge-console .console-heading button{font-size:10px}#bridge-console .console-scroll{grid-template-columns:190px 190px 255px 300px 225px}#bridge-console .console-group{padding-left:9px;padding-right:9px}#bridge-console .console-extra-body{right:6px}.command-workspace #command-deck{left:5px;right:5px;bottom:5px;grid-template-columns:1.15fr 1fr}.command-workspace.console-visible #command-deck{bottom:calc(var(--command-console-height) + 7px)}.command-workspace #command-deck>.condition{grid-template-columns:1fr 1fr;gap:8px}.command-workspace .hull-name{display:none}.command-workspace .stores #stores{grid-template-columns:1fr 1fr}.command-workspace .store{display:flex}.command-workspace .store span{display:inline}.command-workspace .store b{font-size:13px}.command-workspace #dialogue-caption{width:80vw;left:50%}.command-workspace:not(.tutorial-active) #clock-button{display:none}.command-workspace #response-strip{bottom:54px}.command-workspace #bridge-console-reopen{bottom:85px}}
@media(prefers-reduced-motion:reduce){#bridge-console *{scroll-behavior:auto}}
/* Navigation is framed in the unobstructed sea, so the Hulk never sits behind
   its own command deck. The renderer observes canvas size changes. */
body.command-workspace.console-visible:not(.hidden-ui) #world{height:calc(100dvh - var(--command-workspace-height))}
body.command-workspace.console-visible #interaction.console-port-interaction{display:none}
@media(max-height:800px) and (min-width:1000px){
  .command-workspace:not(.tutorial-active) #objective{max-height:51px;padding-top:10px;padding-bottom:8px}
  .command-workspace:not(.tutorial-active) #objective p,.command-workspace:not(.tutorial-active) #objective button{display:none}
  .command-workspace:not(.tutorial-active) #clock-button{left:320px}
  .command-workspace #mini-chart{width:136px;padding:6px}
  .command-workspace #mini-chart canvas{width:122px;height:86px}
  .command-workspace #mini-chart button{min-height:22px;font-size:9px;padding:3px 2px}
}
#bridge-console progress.settled{accent-color:#7f9670}
#bridge-console progress.settled::-webkit-progress-value{background:#7f9670}
#bridge-console progress.settled::-moz-progress-bar{background:#7f9670}
@media(max-height:800px){.command-workspace.console-visible #bridge-weather{display:none}}

/* Opening the same working deck in first person must also leave a usable view. */
.command-workspace.first-person.console-visible:not(.hidden-ui) #captain-reticle{top:calc((100dvh - var(--command-workspace-height)) / 2)}
.command-workspace.first-person #toast{top:102px;bottom:auto;height:auto;max-width:min(540px,85vw)}
.command-workspace.first-person:not(.tutorial-active) #first-mate{left:auto;right:194px;width:244px}
@media(max-height:800px){.command-workspace.first-person:not(.tutorial-active) #first-mate{right:164px}}
@media(max-width:900px){.command-workspace.first-person:not(.tutorial-active) #first-mate{right:12px;width:230px}}
.command-workspace #toast{transition:opacity .2s,transform .2s}
.command-workspace.first-person #dialogue-caption{width:min(460px,35vw)}
