:root{--ink:#d9d6c6;--dim:#8d9288;--amber:#e2a65a;--amber-deep:#8a5a26;--petrol:#10191b;--petrol-light:#223034;--line:#4c5a57;--title-font:"Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;--menu-font:"Trebuchet MS", "Lucida Sans", Verdana, sans-serif;--mono-font:"Courier New", monospace}html,body{background:#000;height:100%;margin:0;overflow:hidden}canvas{width:100%;height:100%;display:block}[hidden]{display:none!important}#stage{aspect-ratio:4/3;pointer-events:none;width:min(100vw,133.334vh);color:var(--ink);font-family:var(--menu-font);-webkit-user-select:none;user-select:none;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);container-type:size}#stage>*{pointer-events:auto}#stage>#hint,#stage>#toast,#stage>#fade,#stage>#shade,#stage>#prompt,#stage>#clock,#stage>#map{pointer-events:none}#fade{opacity:0;background:#000;position:absolute;inset:0}#shade{background:repeating-linear-gradient(0deg,#00000029 0 1px,#0000 1px 3px),radial-gradient(at 50% 45%,#0a121440,#040708d1);position:absolute;inset:0}#load{z-index:5;color:var(--dim);font:14px/1.4 var(--mono-font);letter-spacing:3px;background:#000;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#load-track{border:1px solid var(--line);width:240px;height:6px;margin-top:10px}#load-bar{background:var(--amber-deep);width:0;height:100%}#hint{text-align:center;letter-spacing:.14em;color:var(--ink);text-shadow:0 0 .6cqh #000,0 .2cqh .2cqh #000;font-size:2.3cqh;position:absolute;bottom:7cqh;left:0;right:0}#toast{letter-spacing:.08em;border:1px solid var(--line);border-left:.5cqh solid var(--amber);background:#0c1416e0;padding:1cqh 3cqh;font-size:2.3cqh;position:absolute;top:6cqh;left:50%;transform:translate(-50%)}#prompt{text-align:center;letter-spacing:.14em;color:var(--amber);text-shadow:0 0 .6cqh #000,0 .2cqh .2cqh #000;font-size:2.3cqh;position:absolute;bottom:12cqh;left:0;right:0}#clock{letter-spacing:.1em;color:var(--ink);text-shadow:0 0 .5cqh #000,0 .18cqh .18cqh #000;align-items:center;gap:1.2cqh;font-size:2.3cqh;display:flex;position:absolute;top:2.6cqh;right:3cqh}#clock[hidden]{display:none}#clock-time{color:var(--amber)}#clock-day{color:var(--ink)}#clock-icon{filter:drop-shadow(0 .12cqh .12cqh #000);width:2.9cqh;height:2.9cqh;display:inline-block}#clock-icon svg{width:100%;height:100%;fill:var(--ink);display:block}#clock-icon .line{fill:none;stroke:var(--ink);stroke-width:1.3px;stroke-linecap:round}#map{box-sizing:border-box;border:1px solid var(--line);border-left:.5cqh solid var(--amber);background:#0c1416f0;flex-direction:column;align-items:center;padding:1.4cqh 2cqh;display:flex;position:absolute;inset:3.5cqh 8cqh}#map svg{flex:1;width:100%;min-height:0}.map-title{font:400 3.4cqh var(--title-font);letter-spacing:.18em;text-transform:uppercase;color:var(--ink);margin-bottom:1cqh}.map-hint{letter-spacing:.08em;color:var(--dim);margin-top:.9cqh;font-size:1.9cqh}.map-paper{fill:#cfcab6}.map-district rect{fill:#b9b5a2;stroke:#cfcab6;stroke-width:1.5px}.map-district.built rect{fill:#e2ddc9}.map-street{fill:none;stroke:#a39e8b;stroke-linejoin:round;stroke-dasharray:8 6}.map-street.built{stroke:#fbf8ec;stroke-dasharray:none}.map-blocks rect{fill:#8c8778}.map-enter{fill:#a65e24}.map-name{font:400 12px var(--menu-font);letter-spacing:1.5px;fill:#6d6959}.map-name.built{font:700 14px var(--menu-font);letter-spacing:2.4px;fill:#2c3431}.map-place{font:400 8.4px var(--menu-font);fill:#1e2422;paint-order:stroke;stroke:#e2ddc9;stroke-width:2.4px}.map-marker{fill:#c11f12;stroke:#fff6da;stroke-width:2px}#menu.menu-title{padding:11cqh 9cqh 0;position:absolute;inset:0}.game-title{font:400 11cqh/1 var(--title-font);letter-spacing:.2em;text-transform:uppercase;color:#e8e4d6;text-shadow:0 0 2.4cqh #e2a65a59,0 .35cqh .3cqh #000000e6;margin:0}.game-subtitle{font:italic 2.6cqh var(--title-font);letter-spacing:.12em;color:var(--dim);margin:1.4cqh 0 0 .5cqh}.menu-title .menu-list{width:58cqh;margin-top:9cqh}.menu-title .menu-footer{letter-spacing:.04em;color:var(--dim);margin:0;font-size:1.9cqh;line-height:1.45;position:absolute;bottom:4.5cqh;left:9cqh;right:9cqh}.menu-list{margin:0;padding:0;list-style:none}.menu-list li{letter-spacing:.08em;color:var(--dim);cursor:pointer;border:1px solid #0000;justify-content:space-between;align-items:center;gap:3cqh;padding:.9cqh 2cqh .9cqh 3.4cqh;font-size:3.1cqh;display:flex;position:relative}.menu-list li.selected{color:#f4efdf;text-shadow:0 0 1cqh #e2a65a8c;background:linear-gradient(90deg,#e2a65a42,#e2a65a0d 70%,#0000);border-top-color:#e2a65a59;border-bottom-color:#e2a65a26}.menu-list li.selected:before{content:"";border-left:1.1cqh solid var(--amber);border-top:.55cqh solid #0000;border-bottom:.55cqh solid #0000;width:0;height:0;margin-top:-.55cqh;position:absolute;top:50%;left:1.2cqh}.menu-list li.disabled{opacity:.45;cursor:default}.menu-list li.info{cursor:default;font-size:2.4cqh}.item-detail{letter-spacing:.04em;color:var(--ink);opacity:.8;white-space:nowrap;font-size:2.4cqh}.slider-wrap{align-items:center;gap:1.6cqh;display:flex}.slider-wrap .item-detail{text-align:right;min-width:8cqh}.slider{border:1px solid var(--line);background:#0a1112;width:26cqh;height:1.5cqh;display:block}.slider-fill{background:linear-gradient(180deg, var(--amber), var(--amber-deep));height:100%;display:block}#menu.menu-panel{box-sizing:border-box;border:1px solid var(--line);outline-offset:.5cqh;background:linear-gradient(#223034e6,#0e1618f0);outline:1px solid #000c;flex-direction:column;padding:4cqh 5cqh 7cqh;display:flex;position:absolute;inset:12cqh;box-shadow:0 0 5cqh #000000bf,inset 0 0 0 1px #ffffff0a}.menu-panel h2{border-bottom:1px solid var(--line);font:400 4.2cqh var(--title-font);letter-spacing:.16em;color:#e8e4d6;margin:0 0 2.6cqh;padding-bottom:1.2cqh}.menu-panel .menu-footer{letter-spacing:.05em;color:var(--dim);margin:0;font-size:1.9cqh;position:absolute;bottom:2.4cqh;left:5cqh;right:5cqh}.menu-hint{letter-spacing:.03em;color:var(--amber);margin:0;font-size:2.2cqh;line-height:1.3;position:absolute;bottom:5.4cqh;left:5cqh;right:5cqh}.menu-title .menu-hint{display:none}.item-detail.choice:before{content:"‹  ";color:var(--amber)}.item-detail.choice:after{content:"  ›";color:var(--amber)}#menu.menu-panel[data-page=graphics]{width:80cqh;padding:3cqh 4cqh 11cqh;inset:3cqh auto 3cqh 3cqh}#menu[data-page=graphics] h2{margin-bottom:1.6cqh;padding-bottom:.8cqh;font-size:3.4cqh}#menu[data-page=graphics] .menu-list li{padding-top:.7cqh;padding-bottom:.7cqh;font-size:2.6cqh}#menu[data-page=graphics] .slider{width:16cqh}.menu-body{white-space:pre-wrap;min-height:0;font:1.9cqh/1.45 var(--mono-font);color:var(--ink);-webkit-user-select:text;user-select:text;flex:1;margin:0 0 2cqh;overflow:auto}#debug{box-sizing:border-box;width:46cqh;max-height:96cqh;font:1.9cqh/1.35 var(--mono-font);border:1px solid var(--line);background:#000000c7;padding:1.4cqh 1.8cqh;position:absolute;top:1cqh;left:1cqh;overflow:auto}#debug h2{color:var(--amber);margin:0 0 1cqh;font-size:2.4cqh}#debug h3{color:var(--dim);margin:1.2cqh 0 .5cqh;font-size:1.9cqh}#debug pre{font:inherit;white-space:pre-wrap;margin:0}.debug-row{flex-wrap:wrap;gap:.6cqh;display:flex}#debug button{font:inherit;color:var(--ink);background:var(--petrol-light);border:1px solid var(--line);cursor:pointer;padding:.3cqh 1cqh}#debug button:hover{border-color:var(--amber)}
