/* One application shell, shared by / and /play/. */
:root{--game-header-height:79px;--title:var(--display)}
.topbar{height:var(--game-header-height);gap:22px}.wordmark{border:0;background:transparent;padding:0;text-align:left;flex-shrink:0;display:inline-flex;align-items:center;gap:8px;min-height:44px;line-height:0;border-radius:6px}.wordmark img{display:block;object-fit:contain;pointer-events:none}.brand-lettering{width:176px;height:54px}.wordmark:focus-visible{outline:2px solid var(--green);outline-offset:5px}.edition{margin-right:auto}.edition-detail{display:none}
.game-links{display:flex;align-items:center;gap:6px;position:relative}.nav-link,.nav-buy{font:600 13px var(--body);min-height:44px;padding:12px 14px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid transparent;border-radius:var(--radius);white-space:nowrap;background:transparent;cursor:pointer}.nav-link:hover,.nav-link:focus-visible{background:var(--panel);border-color:var(--line)}.nav-buy{background:var(--green);color:var(--bg);border-color:var(--green);margin-left:5px}.nav-buy:hover{background:#ceff83}.game-links [aria-disabled=true]{cursor:not-allowed;color:var(--muted)}.game-links .nav-buy[aria-disabled=true]{color:#bfcfac;background:#253825;border-color:#455f36}.top-actions{gap:8px;padding-left:18px;border-left:1px solid var(--line)}
#game-shell{height:calc(100dvh - var(--game-header-height))}.city-tools .world-hint{display:none}.city-tools{display:none}
.camera-dock{position:absolute;z-index:2;right:22px;bottom:42px;display:flex;gap:2px;align-items:center;background:#181818ed;border:1px solid #5e5e5e;border-radius:8px;padding:4px;box-shadow:0 6px 20px #0c0c0c40}.camera-caption{font:10px var(--mono);letter-spacing:1px;color:var(--muted);padding:0 10px}.camera-dock button{border:0;background:transparent;color:var(--ink);border-radius:4px;width:40px;min-height:40px;font:23px/1 Arial}.camera-dock button:hover{background:var(--line);color:var(--green)}.camera-divider{height:20px;width:1px;background:var(--line);margin:0 4px}.movement-help{position:absolute;z-index:2;right:22px;bottom:14px;margin:0;font:11px/1.4 var(--mono);padding:3px 6px;color:#cbd9db;background:#181818d9;border-radius:3px;pointer-events:none}
body[data-mode=city] .camera-dock{bottom:181px}body[data-mode=city] .movement-help{bottom:155px}body[data-mode=work] .camera-dock,body[data-mode=work] .movement-help{display:none}
.how-steps{counter-reset:step;list-style:none;padding:0;margin:23px 0}.how-steps li{counter-increment:step;display:grid;grid-template-columns:30px 1fr;gap:14px;border-top:1px solid var(--line);padding:17px 0;font-size:14px;line-height:1.65;color:var(--muted)}.how-steps li:before{content:'0' counter(step);font:15px var(--mono);color:var(--green);padding-top:3px}.how-steps strong{display:block;color:var(--ink);font-size:16px}.how-controls{display:grid;grid-template-columns:1fr 1fr;gap:13px 22px;padding:17px;background:var(--panel-deep);border:1px solid var(--line);border-radius:var(--radius);font-size:13px;line-height:1.6}.how-controls b{display:block;color:var(--ink)}.how-controls span{color:var(--muted)}.contract-copy-fallback{position:absolute;right:0;top:100%;width:min(470px,80vw);padding:14px;background:var(--panel);color:var(--ink);border:1px solid var(--green);font:13px var(--mono);z-index:20}
.intro-center{pointer-events:none}.intro-play{pointer-events:auto}.intro{--title:var(--display)}.intro-play[hidden],.intro-tool[hidden]{display:none!important}.intro-state-label{margin:0}.intro-state-note{margin-bottom:0}
@media(max-width:1100px){.topbar{padding:0 22px;gap:14px}.edition{display:none}.game-links{margin-left:auto}.nav-link,.nav-buy{padding:11px 12px}.top-actions{padding-left:12px}}
@media(max-width:900px){:root{--game-header-height:114px}.topbar{padding:10px 16px;display:grid;grid-template-columns:1fr auto;grid-template-rows:42px 44px;gap:8px}.wordmark{justify-self:start;gap:7px}.brand-lettering{width:160px;height:42px}.game-links{grid-row:2;grid-column:1/-1;justify-content:space-between;width:100%;gap:0}.top-actions{grid-column:2;grid-row:1;border:0;padding:0}.nav-link,.nav-buy{font-size:12px;padding:9px 12px}.nav-buy{margin-left:auto}.game-links .nav-link:first-child{padding-left:0}}
@media(max-width:750px){.camera-caption{display:none}.camera-dock{right:12px;bottom:44px;padding:3px}.camera-dock button{width:36px;min-height:40px}.movement-help{font-size:10px;right:12px;bottom:13px;left:12px;text-align:right}.movement-help span{display:block}body[data-mode=city] .camera-dock{bottom:51px}body[data-mode=city] .movement-help{bottom:11px}.how-controls{grid-template-columns:1fr}.intro-edition{display:none}body.room-inspect #game-shell{height:calc(100dvh - var(--game-header-height))}body.room-inspect[data-mode=facility] #viewport{height:calc(100dvh - var(--game-header-height) - 221px)}}
@media(min-width:651px) and (max-width:750px){body[data-mode=city] .camera-dock{bottom:181px}body[data-mode=city] .movement-help{bottom:141px}}
@media(forced-colors:active){.game-links [aria-disabled=true]{color:GrayText}.camera-dock{background:Canvas;border-color:CanvasText}.camera-dock button:hover{background:Highlight;color:HighlightText}.movement-help{background:Canvas;color:CanvasText}.nav-buy{border-color:ButtonText}}

@media(max-width:480px){.brand-lettering{width:clamp(120px,36vw,160px);height:40px}}

/* Square approved wordmark is optically cropped inside the existing header slot. */
.wordmark .brand-lettering{object-fit:cover;object-position:center;}
