.department-hub{padding-top:4px}.hub-director{border-radius:16px;background:linear-gradient(120deg,#174f42,#287b60);color:#fff;padding:16px 20px}.hub-director>div{display:flex;align-items:center;gap:14px}.hub-director img{width:52px;height:52px;object-fit:contain}.hub-director span{font-size:10px;font-weight:800;letter-spacing:1px}.hub-director h3{font-size:20px;margin:5px 0}.hub-director p{margin:0;font-size:12px;color:#dbeee4}.hub-next{display:flex;justify-content:space-between;align-items:center;gap:14px;background:#fff5dc;border:1px solid #e8d7ac;border-radius:14px;padding:12px 16px;margin:12px 0}.hub-next p{margin:5px 0 0;font-size:13px}.hub-next button{flex-shrink:0}.hub-departments{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.hub-department{padding:15px 18px;border:1px solid #dce4dc;border-left:4px solid var(--dept,#298365);border-radius:15px;background:#fffdf8;display:flex;flex-direction:column;align-items:flex-start;box-shadow:0 4px 10px #26443606}.hub-dept-0{--dept:#9b70c6}.hub-dept-1{--dept:#3c88c7}.hub-dept-2{--dept:#27856b}.hub-dept-3{--dept:#d69d36}.hub-dept-4{--dept:#ce8153}.hub-dept-5{--dept:#5b93a0}.hub-dept-head{display:flex;align-items:center;gap:10px;color:var(--dept);font-weight:800}.hub-dept-head img{width:38px;height:38px;object-fit:contain}.hub-department h4{margin:8px 0 5px;font-size:16px}.hub-department p{margin:0 0 8px;font-size:12px;color:#65746a}.hub-department small{font-size:11px;color:#52665b;margin-bottom:12px}.hub-department .hub-open{margin-top:auto;padding:8px 12px;min-height:36px;background:#e6f2eb;color:#1d624d;border:1px solid #c8e2d3;border-radius:10px;font-weight:700;transition:transform .15s,background .15s}.hub-open:hover{background:#d2e9db;transform:translateY(-1px)}.hub-open:active{transform:translateY(1px)}.hub-flow{font-size:12px;text-align:center;line-height:1.8;color:#64766c;margin:14px 0 0}.hub-flow span{color:#268362;margin:0 4px}.dark .hub-department{background:#162b27;border-color:#355048}.dark .hub-department p,.dark .hub-department small,.dark .hub-flow{color:#bcd0c4}.dark .hub-next{background:#3b3420;border-color:#655737}.dark .hub-open{background:#24483b;color:#e3f3e9;border-color:#37654f}@media(max-width:600px){.hub-departments{gap:8px}.hub-department{padding:12px 10px}.hub-department h4{font-size:14px}.hub-dept-head{font-size:13px;gap:6px}.hub-dept-head img{width:30px;height:30px}.hub-next{align-items:flex-start;flex-direction:column}.hub-director{padding:13px}.hub-director h3{font-size:17px}.hub-flow{font-size:11px}}@media(max-width:360px){.hub-departments{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.hub-open{transition:none;transform:none!important}}

.hub-next>button{padding:11px 14px;background:#e4f2e9;color:#1d624d;border:1px solid #b8d8c6;border-radius:10px;font-weight:700;cursor:pointer;flex-shrink:0}.hub-next>button:hover{background:#d2e9db}.hub-next>button:active{transform:translateY(1px)}

/* Shared presentation only: retain every route, control and layout. */
#content.department-style{--department-accent:#28795f;--department-soft:#e4f2e9}
#content.department-style .game-section-tabs{border-radius:16px;border-color:#e5d8c4;background:#fffdf9}
#content.department-style .game-section-tabs button{transition:background .15s,box-shadow .15s,transform .15s}
#content.department-style .game-section-tabs button[aria-current="page"]{background:var(--department-accent);color:#fff;box-shadow:0 3px 0 #18563f}
#content.department-style :is(.panel,.worker-card,.machine-visual-card,.fc-card,.metric-card){border-radius:16px;box-shadow:0 4px 14px #2a503b08;border-color:#e5d8c4}
#content.department-style :is(.section-title,.fc-heading,.workshop-desk>header){border-left:4px solid var(--department-accent);padding-left:14px}
#content.department-style :is(button.primary,.hub-open){background:var(--department-accent);color:#fff;border-color:var(--department-accent)}
#content.department-style button:not(:disabled):hover{box-shadow:0 3px 10px #245a3920}
#content.department-style button:not(:disabled):active{transform:translateY(1px)}
#content.department-style :is(button,input,select,textarea):focus-visible{outline:3px solid #6ab895;outline-offset:3px}
#content.department-style :is(input,select,textarea){border-radius:10px}
#content.department-style :is(details,.workshop-step){border-radius:14px}
#content.department-style summary{cursor:pointer}
.dark #content.department-style .game-section-tabs{background:#162b27;border-color:#355048}
.dark #content.department-style :is(.panel,.worker-card,.machine-visual-card,.fc-card,.metric-card){border-color:#355048;box-shadow:0 4px 14px #0002}
@media(prefers-reduced-motion:reduce){#content.department-style button{transition:none!important;transform:none!important}}

.game-return-bar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:14px;padding:10px 12px;margin-bottom:8px;background:#fffdf9;border:1px solid #e5d8c4;border-radius:14px;box-shadow:0 3px 12px #244d3410}.game-return-bar .game-section-home{flex-shrink:0;padding:12px 16px;border:1px solid #1d694f;border-radius:10px;background:#28795f;color:#fff;font-weight:800;cursor:pointer;white-space:nowrap}.game-return-bar>span{font-size:13px;color:#53645a;overflow-wrap:anywhere}.game-return-bar button:focus-visible{outline:3px solid #6ab895;outline-offset:3px}.dark .game-return-bar{background:#162b27;border-color:#355048}.dark .game-return-bar>span{color:#c6dacb}@media(max-width:480px){.game-return-bar{flex-wrap:wrap;gap:7px}.game-return-bar>span{font-size:12px}.game-return-bar .game-section-home{padding:11px 14px}}

/* Keep one document scroll container so sticky return remains in view. */
body:has(.game-return-bar){overflow:visible!important}
