:root{font-family:'MS Sans Serif',Tahoma,Arial,sans-serif;font-size:12px;color:#000;background:#808080;--face:#c0c0c0;--light:#fff;--shadow:#808080;--dark:#000080}*{box-sizing:border-box}body{margin:0;border:4px ridge #c0c0c0;height:100dvh;overflow:hidden;background:var(--face)}button,input,select{font:inherit;color:inherit}button{cursor:pointer;background:var(--face);border:2px outset #fff;border-radius:0;padding:2px 7px;box-shadow:none}button:hover{background-color:#c0c0c0}button:active,button.selected{border-style:inset}button:focus-visible{outline:1px dotted #000;outline-offset:-4px}button:disabled{color:#808080;text-shadow:1px 1px #fff;cursor:default}h1,h2,h3,p{margin:0}small{font:inherit;color:inherit;letter-spacing:0}strong{font-weight:normal}.window-title{height:22px;background:#000080;color:#fff;display:flex;align-items:center;gap:5px;padding:1px 2px;font-size:13px;font-weight:bold;border-bottom:1px solid #000}.window-title .system{width:19px;height:18px;padding:0;color:#000;font-size:16px;line-height:12px;background:#c0c0c0;border:2px outset #fff}.window-title .caption{flex:1}.window-title .maximize{font-size:10px}.topbar{height:23px;border-bottom:1px solid #808080;display:flex;align-items:center;padding:0;background:#c0c0c0;position:relative;z-index:8}.wordmark,.live{display:none}.topbar nav{display:flex;gap:0;height:22px}.menu-button{border:0;height:22px;padding:0 10px;font-size:12px}.menu-button.active{background:#000080;color:#fff}.menu-dropdown{position:absolute;top:22px;left:0;min-width:200px;padding:3px;background:#c0c0c0;border:2px outset #fff;box-shadow:1px 1px #000;display:none}.menu-dropdown.open{display:block}.menu-dropdown button{border:0;width:100%;display:block;text-align:left;padding:4px 22px;font-size:12px}.menu-dropdown button:hover{background:#000080;color:#fff}.menu-dropdown hr{border:0;border-top:1px solid #808080;border-bottom:1px solid #fff;margin:4px}.menu-dropdown .shortcut{float:right;margin-left:28px}.statusbar{height:45px;background:#c0c0c0;border-bottom:2px outset #fff;display:flex;align-items:center;gap:10px;padding:3px 6px}.tower-title{display:none}.clock-face{height:36px;display:flex;align-items:center;border:2px inset #fff;padding:2px 7px;gap:5px;background:#a0a0a0;min-width:155px}.clock-face img{width:32px;height:31px;image-rendering:pixelated}.clock-face .clock-text{display:flex;flex-direction:column;gap:2px}.time{display:flex;gap:5px;align-items:center}.time strong{font-size:12px}.time small{font-size:11px}.fund-pop{display:flex;flex-direction:column;gap:1px;min-width:205px;margin-left:auto}.stat{display:flex;justify-content:space-between;gap:10px;border:1px inset #fff;padding:1px 4px;background:#a0a0a0;height:18px;align-items:center}.stat strong{font-family:Arial,sans-serif;font-size:12px;min-width:90px;text-align:right}.stat strong span{display:none}.rating-stat{margin-left:5px}.rating-stat small{display:none}.rating-stat strong{display:flex;gap:3px}.rating-stat img{width:24px;height:19px;image-rendering:pixelated}.speed{display:flex;gap:4px;margin-left:6px}.speed button{height:32px;width:32px;padding:0;font:11px Arial,sans-serif}.speed button:first-child{font-weight:bold}.speed button.selected{background:#aaa}.speed .original-control{background-image:url('/simtower/assets/bitmaps/600.png');width:32px;height:32px;border:0;background-position:0 0;image-rendering:pixelated}.speed .original-control.pause{background-image:url('/simtower/assets/bitmaps/602.png')}main{height:calc(100dvh - 123px);position:relative;display:flex}.build-panel{position:absolute;left:5px;top:5px;width:72px;max-height:calc(100% - 10px);background:#c0c0c0;border:3px ridge #c0c0c0;display:flex;flex-direction:column;z-index:4}.panel-heading{height:18px;padding:0;background:#000080;color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.panel-heading h1{font-size:11px;font-weight:normal;white-space:nowrap}.panel-heading>span{display:none}.tool-modes{height:24px;display:flex;flex-shrink:0;background:url('/simtower/assets/bitmaps/604.png') no-repeat 0 1px;image-rendering:pixelated}.tool-modes button{height:23px;min-width:21px;width:22px;font-size:0;padding:0;background:transparent;border:1px solid transparent}.tool-modes button.selected{border:1px inset #fff;background:#ffffff33}.tool-modes kbd{display:none}.catalog{overflow:auto;scrollbar-width:none;flex:1;min-height:0}.catalog-section{display:contents}.catalog-heading{display:none}.catalog-items{display:contents}.catalog{display:grid;grid-template-columns:32px 32px;align-content:start;gap:1px;background:#808080;padding:0}.build-tool{height:32px;width:32px;min-height:32px;border:0;padding:0;display:block;position:relative;background:#c0c0c0}.build-tool .icon{display:block;width:32px;height:32px;background-image:url('/simtower/assets/bitmaps/300.png');image-rendering:pixelated}.build-tool.selected .icon{background-image:url('/simtower/assets/bitmaps/301.png')}.build-tool.locked .icon{background-image:url('/simtower/assets/bitmaps/302.png')}.build-tool>span:not(.icon){display:none}.selected-tool{display:none}.sidebar-bottom{display:none}.viewport{width:100%;height:100%;position:relative;overflow:hidden;background:#fff;border:2px inset #fff}.viewport>canvas{width:100%;height:100%;display:block;image-rendering:pixelated;touch-action:none;outline:0}.view-title{display:none}.view-controls{position:absolute;left:83px;top:5px;display:flex;align-items:center;height:24px;background:#c0c0c0;border:2px outset #fff;padding:0;z-index:2}.view-controls button{height:20px;min-width:23px;border:0;font-size:12px;padding:0 4px}.view-controls button.selected{background:#808080}.view-controls span{display:none}.view-controls output{font-size:11px;min-width:36px;text-align:center}.view-controls #evaluation{font-size:11px;border-left:1px solid #808080}.map-window{position:absolute;right:5px;top:5px;bottom:auto;width:206px;background:#c0c0c0;border:3px ridge #c0c0c0;box-shadow:none;padding:0;z-index:3}.map-heading{background:#000080;color:#fff;height:18px;font-size:12px;padding:2px 4px;font-weight:normal}.map-heading span{float:right;font-size:10px}.map-window canvas{display:block;width:200px;height:264px;image-rendering:pixelated;cursor:pointer}.view-help{display:none}.toast{position:absolute;left:50%;top:38px;transform:translateX(-50%);background:#ffffe1;color:#000;border:1px solid #000;padding:5px 9px;font-size:12px;opacity:0;pointer-events:none;max-width:65%;text-align:center;z-index:6;box-shadow:1px 1px #000}.toast.show{opacity:1}.toast.error{color:#800000}.inspector{position:absolute;right:218px;top:5px;width:236px;background:#c0c0c0;border:3px ridge #c0c0c0;padding:24px 10px 12px;box-shadow:none;z-index:5}.inspector:before{content:'Information';position:absolute;left:0;right:0;top:0;height:18px;background:#000080;color:#fff;padding:2px 5px;font-size:12px}.inspector .close{position:absolute;right:1px;top:1px;height:16px;width:18px;padding:0;font-size:13px;z-index:2}.inspector h3{font-size:13px;font-weight:normal;margin:6px 0}.inspector p{font-size:11px;line-height:1.4;margin:5px 0}.inspector .metric{display:flex;justify-content:space-between;font-size:11px;border-bottom:1px solid #808080;padding:5px 0}.inspector .action{width:100%;margin-top:9px;font-size:11px;padding:4px 2px}.inspector select{font-size:11px;width:100%;border:2px inset #fff;padding:3px;background:#fff}.inspector label{font-size:11px}.stops{display:flex;flex-wrap:wrap;gap:3px}.stops button{font-size:10px;padding:2px 5px}.stops .selected{background:#808080;color:#fff}footer{height:25px;display:flex;align-items:center;justify-content:space-between;padding:2px;gap:4px;background:#c0c0c0;border-top:2px outset #fff;font-size:11px;color:#000}footer>div{border:1px inset #fff;padding:2px 4px;height:19px;white-space:nowrap}footer>div:first-child{flex:1;overflow:hidden;text-overflow:ellipsis}footer>div:last-child{display:flex;align-items:center;gap:7px}footer button{border:0;font-size:11px;padding:0}.footer-separator{display:none}dialog{border:4px ridge #c0c0c0;border-radius:0;background:#c0c0c0;color:#000;box-shadow:2px 2px #000;max-width:min(700px,95vw);max-height:95dvh;padding:30px 15px 15px;overflow:auto}dialog:before{content:attr(data-title);position:absolute;left:0;right:0;top:0;height:20px;background:#000080;color:#fff;padding:2px 5px;font-size:13px;line-height:16px}dialog::backdrop{background:#0003;backdrop-filter:none}.dialog-close{position:absolute;right:2px;top:2px;padding:0;height:17px;width:18px;background:#c0c0c0;font-size:13px;z-index:2}.dialog-eyebrow{display:none}dialog h2{font-size:14px;font-weight:bold;margin-bottom:10px;letter-spacing:0}dialog h3{font-size:12px;font-weight:bold;margin:8px 0}.dialog-copy{line-height:1.5;color:#000;font-size:12px;margin-top:10px;max-width:560px}.dialog-buttons{display:flex;gap:10px;justify-content:center;margin-top:15px}.primary,.secondary{border:2px outset #fff;border-radius:0;min-width:80px;min-height:25px;background:#c0c0c0;color:#000;font-size:12px;padding:3px 12px;box-shadow:none}.primary{outline:1px solid #000;outline-offset:1px}.title-dialog{display:block;text-align:center}.title-art{width:640px;max-width:100%;height:auto;display:block;image-rendering:pixelated;margin:0 auto}.title-dialog h2,.title-dialog>.dialog-copy{display:none}.title-dialog .dialog-copy{font-size:11px}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.help-grid p{font-size:12px;line-height:1.5}.help-grid kbd{font:11px monospace;border:1px solid #808080;background:#ddd;padding:0 2px}.finance-stats{display:flex;gap:20px;margin:15px 0}.finance-stats strong{display:block;font-size:14px;margin-top:5px}.ledger{width:100%;font-size:12px;border-collapse:collapse}.ledger th{text-align:left;padding:3px}.ledger td{border-top:1px solid #808080;padding:4px}.ledger td:last-child{text-align:right}.positive{color:#008000}.negative{color:#800000}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:50vh;overflow:auto;margin-top:12px}.gallery-item{border:2px inset #fff;padding:5px;background:#c0c0c0;overflow:hidden}.gallery-item img{max-width:100%;image-rendering:pixelated}.gallery-item small{display:block;font-size:11px;margin-bottom:4px}.sound-list{display:flex;gap:4px;flex-wrap:wrap}.sound-list button{font-size:11px;padding:2px 5px}.dialog-section{margin-top:15px}#loading{position:fixed;inset:0;background:#c0c0c0;color:#000;display:flex;align-items:center;justify-content:center;font:12px Arial,sans-serif;z-index:12}@media(max-width:800px){.statusbar{gap:4px}.clock-face{min-width:125px}.fund-pop{min-width:155px}.rating-stat{margin-left:0}.rating-stat img{width:18px;height:15px}.speed{gap:2px}.speed button{width:25px}.map-window{width:146px}.map-window canvas{width:140px;height:185px}.inspector{right:155px}.map-heading span{display:none}.help-grid{grid-template-columns:1fr}.view-controls{left:80px}.clock-face img{display:none}}@media(max-width:580px){.rating-stat{display:none}.speed button[data-speed='3'],.speed button[data-speed='8']{display:none}.clock-face{min-width:105px;padding:2px 3px}.fund-pop{min-width:130px}.stat strong{min-width:60px}.map-window{display:none}.inspector{right:5px}footer #occupancy{display:none}footer #save-status{font-size:10px}}
.submenu{position:relative}.submenu-items{display:none;position:absolute;left:100%;top:0;min-width:140px;background:#c0c0c0;border:2px outset #fff;padding:3px;box-shadow:1px 1px #000}.submenu:hover>.submenu-items,.submenu.open>.submenu-items{display:block}.tool-modes{background:none}.tool-modes button{width:21px;height:21px;background-image:url('/simtower/assets/bitmaps/604.png');border:0;image-rendering:pixelated}.tool-modes button:nth-child(2){background-position:-21px 0}.tool-modes button:nth-child(3){background-position:-42px 0}.tool-modes button.selected{background-image:url('/simtower/assets/bitmaps/605.png');background-color:transparent;border:0}.speed .original-control.selected{background-image:url('/simtower/assets/bitmaps/601.png')}.speed .original-control.pause.selected{background-image:url('/simtower/assets/bitmaps/603.png')}.speed button[data-speed='3'],.speed button[data-speed='8']{display:none}
/* Native Tabl slots: five at one star, seven at two, eight thereafter. */
.catalog{flex:none;overflow:visible;gap:0}
.build-tool{flex-shrink:0}
.construction-popup{position:absolute;z-index:9;background:#c0c0c0;border:2px outset #fff;padding:2px;box-shadow:1px 1px #000}
.construction-popup button{display:flex;align-items:center;gap:4px;width:100%;height:34px;padding:0 8px 0 0;text-align:left;border:0;font:12px Arial,sans-serif;white-space:nowrap}
.construction-popup button:hover,.construction-popup button:focus{background:#000080;color:#fff;outline:0}
.menu-icon{width:32px;height:32px;flex-shrink:0;background-image:url('/simtower/assets/bitmaps/300.png');image-rendering:pixelated}
.elevator-range{display:flex;gap:6px;align-items:end;margin-top:7px}
.elevator-range label{width:50%}.elevator-range select{width:100%}
.build-panel{padding-bottom:5px}
.tool-modes{height:32px;padding-top:5px;padding-bottom:6px}
@media(max-width:800px){.clock-face{min-width:155px}.clock-face img{display:block}}
.clock-face #clock{display:block;flex-shrink:0;width:32px;height:31px;image-rendering:pixelated}
/* IDA 0xEDF9 / 0xCB0D: one 64x32 play/pause image, above the tool row. */
.build-panel{width:68px;border:2px outset #fff;padding:4px 0 0;overflow:visible}
.build-panel .panel-heading{display:none}
.time-control{display:block;width:64px;height:32px;min-height:32px;flex-shrink:0;border:0;padding:0;background:#c0c0c0 url('/simtower/assets/bitmaps/602.png') no-repeat 0 0;image-rendering:pixelated}
.time-control:active{background-image:url('/simtower/assets/bitmaps/603.png')}
.time-control.paused{background-image:url('/simtower/assets/bitmaps/600.png')}
.time-control.paused:active{background-image:url('/simtower/assets/bitmaps/601.png')}
.build-panel .tool-modes{height:21px;padding:0}

/* Original dialog layouts; DTMP coordinates are pixels, not CSS-scaled DUs. */
dialog.native-dialog{padding:0;border:0;max-width:98vw;max-height:98dvh;overflow:hidden;background:#ccc;box-shadow:none}
dialog.native-dialog[data-template]:not([data-template=""]){width:var(--native-outer-width);height:var(--native-outer-height)}
dialog.native-dialog:not(.native-caption){border:0;box-shadow:none}
dialog.native-dialog:before,dialog.native-dialog>.dialog-close{display:none}
dialog.native-dialog::backdrop{background:transparent}
dialog.native-dialog.native-caption{padding-top:18px;border:3px ridge #c0c0c0}
dialog.native-dialog.native-caption[data-template]:not([data-template=""]){border:1px solid #000}
dialog.native-caption:before{display:block;height:18px;padding:0 2px;font:700 13px/18px var(--system-font);background:#00007c;color:#fff}
.native-panel{position:relative;overflow:hidden;background-repeat:no-repeat;image-rendering:pixelated;font:var(--native-text-size,13px) Arial,sans-serif}
.native-panel>*{position:absolute;margin:0;box-sizing:border-box}
.native-panel>.native-client-frame{left:0;top:0;pointer-events:none}
.native-panel .native-default-button{outline:1px solid #000;outline-offset:0}
.native-panel .native-default-button:focus-visible{outline:1px solid #000;box-shadow:inset 0 0 0 3px #c0c0c0}
.native-panel span{white-space:pre-wrap;line-height:16px;overflow:hidden}
.native-panel button{padding:0;font:var(--native-text-size,13px) Arial,sans-serif;border:2px outset #fff;background:#c0c0c0}
.native-panel input,.native-panel select{padding:0 2px;border:2px inset #fff;background:#fff;font:var(--native-text-size,13px) Arial,sans-serif}
.native-panel .native-hotspot{border:0;padding:0;background-color:transparent;background-image:var(--normal-image,none)}
.native-panel .native-hotspot:active{background-image:var(--pressed)}
.native-panel .native-field{padding:1px 2px}
.native-panel .native-grid{background:#fff;border:1px solid #000;overflow-y:auto;font:10px Arial,sans-serif}
.native-panel .native-schedule-grid{overflow:hidden;border-right:0;border-bottom:0}
.native-schedule-scrollbar:focus{outline:0}
.native-grid-row{display:flex;height:13px;border-bottom:1px solid #000}
.native-grid-row button{flex:0 0 13px;width:13px;height:13px;min-height:13px;line-height:13px;border:0;border-right:1px solid #000;background:#fff;font:13px Arial,sans-serif;color:#000}
.native-grid-row button[data-floor="99"]{font-size:9px}
.native-grid-row button.stop{background:#000;color:#fff}
.native-grid-row button.park{background:#000;color:#fff}
.native-panel .native-grid-row button:active{background:#c0c0c0}
.native-occupants{display:flex;flex-wrap:wrap;align-content:start;gap:0}
.native-occupants button{width:16px;height:18px;overflow:hidden;border:0;background:transparent}
.native-occupants canvas{width:12px;height:18px;image-rendering:pixelated}
/* Native floating window sizes and Info Bar artwork: 0x2777B / 0x26C9C. */
main{height:calc(100dvh - 53px)}
footer{display:none}
.statusbar{position:absolute;z-index:5;top:5px;left:5px;width:435px;height:53px;padding:0;display:block;background:#999 url('/simtower/assets/bitmaps/320.png') no-repeat 0 8px;border:2px outset #fff}
.statusbar .clock-face{position:absolute;left:5px;top:13px;min-width:0;width:31px;height:31px;border:0;padding:0;background:transparent;display:block}
.statusbar .clock-face #clock{width:31px;height:31px}
.statusbar .clock-text{position:absolute;left:146px;top:0;width:152px;height:16px;display:block;font:14px Arial;white-space:nowrap}
.statusbar .time{display:none}
.statusbar .rating-stat{position:absolute;left:43px;top:11px;margin:0}
.statusbar .rating-stat strong{gap:0}
.statusbar .rating-stat img{width:21px;height:19px;object-fit:none;object-position:left top}
.statusbar .fund-pop{position:absolute;left:337px;top:13px;width:90px;min-width:0;margin:0;display:block}
.statusbar .stat{border:0;background:transparent;padding:0;height:18px;display:block}
.statusbar .stat small{display:none}
.statusbar .stat strong{display:block;font:13px Arial;text-align:right;width:90px;min-width:0}
.native-window-handle{position:relative;height:8px;min-height:8px;background:#fff;cursor:move;touch-action:none;flex-shrink:0}
.native-window-handle>button{position:absolute;left:4px;top:1px;width:6px;height:6px;min-width:0;padding:0;border:1px solid #000;background:#fff}
.native-window-handle:active{background:#000080}
.statusbar>.native-window-handle{position:absolute;left:0;top:0;width:431px}
.build-panel{top:64px;left:5px;padding:0;width:68px}
.map-window{top:64px;right:5px;width:204px;height:318px;padding:0;border:2px outset #fff}
.map-heading{display:none}
.map-window canvas{width:200px;height:288px}
.native-map-modes{display:flex;width:200px;height:18px;background:url('/simtower/assets/bitmaps/310.png');image-rendering:pixelated}
.native-map-modes button{width:50px;height:18px;min-width:0;border:0;padding:0;background:transparent}
.native-map-modes button.selected{background-image:url('/simtower/assets/bitmaps/311.png')}
.native-map-modes button:nth-child(2){background-position:-50px 0}
.native-map-modes button:nth-child(3){background-position:-100px 0}
.native-map-modes button:nth-child(4){background-position:-150px 0}
@media(max-width:580px){.map-window{display:block}.statusbar .rating-stat{display:block}.statusbar .fund-pop{min-width:0}.statusbar .clock-face{min-width:0}.statusbar{max-width:calc(100% - 10px)}}
.statusbar #message{position:absolute;left:41px;top:33px;width:262px;height:11px;overflow:hidden;font:12px Arial;line-height:11px;white-space:nowrap;background:#d9d9d9}
.statusbar .fund-pop{width:86px}.statusbar .stat strong{width:86px}
/* GDI calendar/fund/population text uses recovered baseline anchors. Keep
   their DOM equivalents available to accessibility without double painting. */
.statusbar #native-info-text{position:absolute;left:0;top:0;width:431px;height:49px;pointer-events:none}
.statusbar .clock-text,.statusbar .fund-pop{clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}
.original-about{position:relative;background:#e6e6e6;border:1px outset #fff}
.original-about>img{position:absolute;left:10px;top:10px;image-rendering:pixelated}
.original-credits{position:absolute;right:10px;top:10px;width:240px;border:2px inset #fff;overflow:hidden;background:#e6e6e6}
.original-credits>div{width:236px;white-space:pre;text-align:center;font:12px Arial;line-height:16px}

.manual-help{width:min(660px,85vw);height:min(550px,80vh);display:flex;flex-direction:column;gap:6px}.manual-help nav{display:flex;gap:4px}.manual-help label{display:flex;gap:8px;align-items:center}.manual-help input{flex:1}.manual-columns{display:grid;grid-template-columns:190px 1fr;gap:6px;flex:1;min-height:0}.manual-columns>div{overflow:auto;display:flex;flex-direction:column;align-items:stretch;gap:3px}.manual-columns button{text-align:left}.manual-columns article{background:#fff;border:2px inset #fff;overflow:auto;padding:8px;white-space:pre-wrap;font:12px Arial;line-height:1.4}.rating-stat img[src$="327.png"]{width:106px;height:22px}

.native-grid-row button.park{background-color:#fff;color:#000;box-shadow:inset 0 0 0 1px #000}.native-grid-row button.waiting-floor{color:red}.native-grid-row button:not(.stop):not([data-car]):not([data-car-slot]){background:#fff;color:#000;background-image:linear-gradient(45deg,transparent 43%,red 44%,red 53%,transparent 54%),linear-gradient(-45deg,transparent 43%,red 44%,red 53%,transparent 54%)}

/* Original desktop placements from2777B, clamped only on smaller viewports. */
.statusbar{left:clamp(0px,204px,calc(100% - 435px));top:4px}.map-window{left:2px;right:auto;top:4px}.build-panel{left:134px;top:178px}

.construction-popup{padding:0;width:36px}.construction-popup button{width:32px;height:32px;padding:0}.construction-popup .menu-icon{display:block;width:32px;height:32px;flex:0 0 32px}.construction-popup button:hover{background:#c0c0c0;color:#000}
.construction-popup{width:32px;border:0;box-shadow:none}.construction-popup button.native-hover .menu-icon{background-image:url('/simtower/assets/bitmaps/301.png')}
/*4A572 registers CmdBtnWndProc with IDC_ARROW;BE B2 selects the same
  stock cursor for its held palette. These are bitmap regions, not links. */
.build-panel button,.construction-popup,.construction-popup button,.menu-button,.menu-dropdown button,[data-hide]{cursor:default}
.native-main-window button,.native-panel button,.native-panel select,.native-system-menu button,.native-dialog-system-menu button,.native-app-icon,.native-window-handle{cursor:default}
#native-window-outline{position:fixed;z-index:100;pointer-events:none;mix-blend-mode:difference}
.native-departure-menu{z-index:30;image-rendering:pixelated}.native-departure-highlight{position:absolute;left:0;width:82px;height:22px;background-image:url('/simtower/assets/bitmaps/406.png');pointer-events:none}

.native-save-guard{width:355px;padding:16px;font:12px Arial}.native-save-guard p{min-height:36px}.native-save-guard button{width:78px;height:24px}
.native-browser-save{width:355px;padding:16px;font:12px Arial}.native-browser-save label{display:block;margin-bottom:6px}.native-browser-save input{width:100%;height:24px;background:#fff;border:2px inset #fff;padding:2px 4px}.native-browser-save .dialog-buttons{margin-top:16px}.native-browser-save button{width:78px;height:24px}

/* Win3.1 Edit client: original 1:1 pixels and nonclient system scrollbars. */
.viewport>canvas{position:absolute;left:0;top:0;width:calc(100% - 16px);height:calc(100% - 16px)}
.native-scrollbar{position:absolute;display:flex;background:#c0c0c0;z-index:7;touch-action:none}
.native-scrollbar.horizontal{left:0;right:16px;bottom:0;height:16px}
.native-scrollbar.vertical{top:0;right:0;bottom:16px;width:16px;flex-direction:column}
.native-scrollbar .scroll-arrow{width:16px;height:16px;min-width:16px;flex:0 0 16px;padding:0;border:2px outset #fff;position:relative}
.native-scrollbar .scroll-arrow:active{border-style:inset}
.native-scrollbar .scroll-arrow:after{content:'';position:absolute;left:4px;top:3px;width:0;height:0;border:4px solid transparent}
.horizontal .back:after{border-left:0;border-right-color:#000;left:3px;top:2px}
.horizontal .forward:after{border-right:0;border-left-color:#000;left:4px;top:2px}
.vertical .back:after{border-top:0;border-bottom-color:#000;left:2px;top:3px}
.vertical .forward:after{border-bottom:0;border-top-color:#000;left:2px;top:4px}
.scroll-track{flex:1;position:relative;background-color:#fff;background-image:repeating-conic-gradient(#c0c0c0 0% 25%,#fff 0% 50%);background-size:2px 2px}
.scroll-thumb{position:absolute;padding:0;border:2px outset #fff;background:#c0c0c0}
.horizontal .scroll-thumb{height:16px;top:0}
.vertical .scroll-thumb{width:16px;left:0}
.scroll-corner{position:absolute;right:0;bottom:0;width:16px;height:16px;background:#c0c0c0;z-index:7}

/* Win3.1 desktop:27A7E normal main window and2777B independent palettes. */
body{border:0;position:relative;background:#808080}
.native-main-window{position:absolute;border:4px ridge #c0c0c0;background:#c0c0c0;overflow:hidden}
.native-main-window>.window-title{height:18px;font-size:13px;line-height:16px}
.native-main-window .window-title .system{height:16px;width:18px;line-height:10px}
.native-main-window>.topbar,.native-main-window .topbar nav,.native-main-window .menu-button{height:18px}
.native-main-window .menu-dropdown{top:18px}
.native-main-window>main{height:calc(100% - 36px)}
.native-main-window .viewport{border:0}
.native-main-window.maximized .native-resize-edge{display:none}
.native-resize-edge{position:absolute;z-index:10}
.native-resize-edge.north,.native-resize-edge.south{height:4px;left:4px;right:4px;cursor:ns-resize}
.native-resize-edge.north{top:-4px}.native-resize-edge.south{bottom:-4px}
.native-resize-edge.east,.native-resize-edge.west{width:4px;top:4px;bottom:4px;cursor:ew-resize}
.native-resize-edge.east{right:-4px}.native-resize-edge.west{left:-4px}
.native-resize-edge.southeast,.native-resize-edge.southwest,.native-resize-edge.northeast,.native-resize-edge.northwest{width:8px;height:8px}
.native-resize-edge.southeast{right:-4px;bottom:-4px;cursor:nwse-resize}.native-resize-edge.northwest{left:-4px;top:-4px;cursor:nwse-resize}
.native-resize-edge.southwest{left:-4px;bottom:-4px;cursor:nesw-resize}.native-resize-edge.northeast{right:-4px;top:-4px;cursor:nesw-resize}
.native-system-menu{position:absolute;width:168px;padding:3px;background:#c0c0c0;border:2px outset #fff;box-shadow:1px 1px #000;z-index:30}
.native-system-menu button{display:block;width:100%;border:0;padding:3px 8px;text-align:left}
.native-system-menu button span{float:right}.native-system-menu button:hover:enabled{background:#000080;color:#fff}
.native-system-menu hr{border:0;border-top:1px solid #808080;border-bottom:1px solid #fff;margin:3px}
.native-app-icon{position:absolute;left:0;bottom:4px;width:80px;height:58px;padding:0;border:0;background:transparent;z-index:20}
.native-app-icon img{display:block;width:32px;height:32px;margin:auto;image-rendering:pixelated}
.native-app-icon span{background:#fff;color:#000;padding:0 2px}
.native-app-icon[hidden]{display:none}
.desktop-minimized .native-main-window,.desktop-minimized>.statusbar,.desktop-minimized>.map-window,.desktop-minimized>.build-panel{visibility:hidden;pointer-events:none}
.statusbar{z-index:7}.map-window{z-index:8}.build-panel{z-index:9}

.native-main-window{overflow:visible}

.native-main-window .topbar{z-index:20}
.menu-dropdown button:focus,.native-system-menu button:focus{outline:0;background:#000080;color:#fff}
.submenu.open>button,.submenu:hover>button{background:#000080;color:#fff}
.menu-dropdown button:disabled:focus,.native-system-menu button:disabled:focus{color:#808080}
dialog[data-modeless="true"]{position:absolute;z-index:25}

/*12478: modeless schedule disables the other game windows; Win16 does not dim them. */
dialog::backdrop{background:transparent}
.native-modeless-caption{position:absolute;left:0;right:0;top:0;height:18px;z-index:2;touch-action:none;cursor:default}
.window-title .system.active{border-style:inset}

/* User-supplied Windows fonts. System is a bold face; native game dialogs
   explicitly use Arial and retain their resource-defined typography. */
@font-face{font-family:Win31System;src:url('/simtower/assets/fonts/vgasys.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
:root{--system-font:Win31System,'MS Sans Serif',sans-serif}
.window-title,.topbar,.menu-dropdown,.native-system-menu,.native-dialog-system-menu,.native-app-icon span,.manual-window-caption,dialog:before{font-family:var(--system-font);font-weight:700;font-synthesis:none}
.window-title,.native-main-window>.window-title,dialog:before,.manual-window-caption{font-size:13px}
.menu-button,.menu-dropdown button,.native-system-menu button,.native-dialog-system-menu button{font:700 13px var(--system-font);font-synthesis:none;white-space:nowrap}
.menu-dropdown,.submenu-items{width:max-content}
.submenu-items{min-width:140px}
.native-main-window{z-index:1;isolation:isolate}
#manual-help-window{position:absolute;margin:0;max-width:none;max-height:none;min-width:280px;min-height:180px;padding:20px 0 0;z-index:40;overflow:visible}
#manual-help-window:before{display:none}
.manual-window-caption{position:absolute;left:0;right:0;top:0;height:20px;line-height:18px;padding:0 24px 0 5px;background:#000080;color:#fff;cursor:move;touch-action:none;white-space:nowrap;overflow:hidden}
#manual-help-window iframe{display:block;width:100%;height:100%;border:0;background:#fff}
#manual-help-window.window-gesture iframe{pointer-events:none}
#manual-help-window .dialog-close{font:13px Arial;right:1px;top:1px}
.native-resize-edge{touch-action:none}

/* Win3.1's four-pixel sizing frame: black / two gray / black.
   Use explicit pixel bands instead of the browser's platform ridge bevel. */
.native-main-window,#manual-help-window{border:4px solid #c0c0c0;box-shadow:none}
.native-main-window::after,#manual-help-window::after{content:'';position:absolute;inset:-4px;border:1px solid #000;box-shadow:inset 0 0 0 2px #c0c0c0,inset 0 0 0 3px #000;pointer-events:none;z-index:21}
.native-main-window>.window-title{gap:0;padding:0;border-bottom:1px solid #000}
.window-title .caption{text-align:center;white-space:nowrap;overflow:hidden}
.native-main-window .window-title .system{position:relative;flex:0 0 18px;width:18px;height:18px;border:1px solid #000;box-shadow:inset 1px 1px #fff,inset -1px -1px #808080;padding:0;color:transparent}
.native-main-window .window-title .system:active{box-shadow:inset 1px 1px #808080,inset -1px -1px #fff}
.window-title [aria-label="System menu"]::after{content:'';position:absolute;left:4px;top:6px;width:9px;height:3px;border:1px solid #000;background:#fff}
.window-title [aria-label="Minimize"]::after,.window-title [aria-label="Maximize"]::after,.window-title [aria-label="Restore"]::after{content:'';position:absolute;left:4px;top:5px;border:4px solid transparent}
.window-title [aria-label="Minimize"]::after{border-bottom:0;border-top-color:#000;top:7px}
.window-title [aria-label="Maximize"]::after,.window-title [aria-label="Restore"]::after{border-top:0;border-bottom-color:#000}
.window-title [aria-label="Restore"]::before{content:'';position:absolute;left:4px;top:10px;border:4px solid transparent;border-bottom:0;border-top-color:#000}
.manual-window-caption{text-align:center}
.native-alert{width:250px;padding:10px 14px;font:700 13px var(--system-font)}
.native-alert button{min-width:75px;height:25px}

/* Corner segments and caption cells measured from the user's Win3.1 crops. */
.native-main-window{background:#c3c3c3;border-color:#c3c3c3}
.native-main-window::after{box-shadow:inset 0 0 0 2px #c3c3c3,inset 0 0 0 3px #000}
.native-main-window>.window-title{position:relative;background:#00007c}
.native-main-window>.window-title::before{content:'';position:absolute;left:-4px;right:-4px;top:-4px;height:4px;background:linear-gradient(#000,#000) 20px 0/1px 4px no-repeat,linear-gradient(#000,#000) calc(100% - 20px) 0/1px 4px no-repeat;pointer-events:none;z-index:22}
.native-main-window>.window-title::after{content:'';position:absolute;left:-4px;right:-4px;top:17px;height:1px;background:#000;pointer-events:none;z-index:22}
.native-main-window .window-title .system{height:19px;margin-top:-1px;align-self:flex-start;background:#c3c3c3;box-shadow:inset 1px 1px #fff,inset -2px -2px #828282}
.native-main-window .window-title [aria-label="System menu"]{margin-left:-1px;box-shadow:none}
.native-main-window .window-title [aria-label="Maximize"],.native-main-window .window-title [aria-label="Restore"]{margin-left:-1px;margin-right:-1px}
.window-title [aria-label="System menu"]::after{left:2px;top:7px;width:12px;height:3px}
.window-title [aria-label="Minimize"]::after,.window-title [aria-label="Maximize"]::after,.window-title [aria-label="Restore"]::after{left:5px;top:6px;width:7px;height:4px;border:0;background:linear-gradient(#000,#000) center 0/1px 1px no-repeat,linear-gradient(#000,#000) center 1px/3px 1px no-repeat,linear-gradient(#000,#000) center 2px/5px 1px no-repeat,linear-gradient(#000,#000) center 3px/7px 1px no-repeat}
.window-title [aria-label="Minimize"]::after{top:7px;transform:scaleY(-1)}
.window-title [aria-label="Restore"]::after{top:3px}
.window-title [aria-label="Restore"]::before{left:5px;top:9px;width:7px;height:4px;border:0;background:linear-gradient(#000,#000) center 0/1px 1px no-repeat,linear-gradient(#000,#000) center 1px/3px 1px no-repeat,linear-gradient(#000,#000) center 2px/5px 1px no-repeat,linear-gradient(#000,#000) center 3px/7px 1px no-repeat;transform:scaleY(-1)}

/* Flat USER menus from the supplied running Win3.1 reference. */
#native-startup-splash{position:fixed;inset:0;background:#000;z-index:50;overflow:hidden}
#native-startup-splash img{position:absolute;left:max(0px,calc((100% - 640px)/2));top:max(0px,calc((100% - 480px)/2));width:640px;height:480px;max-width:none;image-rendering:pixelated}
#loading{background:#000;z-index:50}
#loading img{position:absolute;left:max(0px,calc((100% - 236px)/2));top:max(0px,calc((100% - 198px)/2));width:236px;height:198px;max-width:none;image-rendering:pixelated}
#loading span{display:none}
#loading .loading-panel{position:absolute;left:50%;top:calc(50% + 112px);transform:translateX(-50%);width:292px;padding:8px;background:#c3c3c3;color:#000;border:1px solid #000;box-shadow:inset 1px 1px #fff,inset -1px -1px #828282;font:700 13px var(--system-font)}
#loading-progress-label{display:block;text-align:center;white-space:nowrap;margin-bottom:5px}
#loading-progress{height:16px;border:1px solid #828282;box-shadow:1px 1px #fff,inset 1px 1px #000;background:#fff;padding:1px}
#loading-progress-fill{height:100%;width:0;background:#00007c}
#loading.failed{padding:20px;color:#fff}
.native-main-window>.topbar{background:#c3c3c3;border-bottom-color:#000}
.menu-dropdown,.submenu-items,.native-system-menu,.native-dialog-system-menu{background:#c3c3c3;border:1px solid #000;padding:0;box-shadow:1px 1px #828282;width:max-content;min-width:0}
body>.menu-dropdown{position:absolute;z-index:30}
.menu-dropdown button,.native-system-menu button,.native-dialog-system-menu button{position:relative;height:18px;line-height:18px;padding:0 18px 0 14px;border:0;margin:0;white-space:nowrap}
.menu-dropdown button:disabled,.native-system-menu button:disabled,.native-dialog-system-menu button:disabled{color:#828282;text-shadow:none}
.menu-dropdown hr,.native-system-menu hr,.native-dialog-system-menu hr{border:0;border-top:1px solid #000;margin:3px 0}
.menu-button{padding-left:6px;padding-right:6px}
.menu-button.active,.menu-dropdown button:hover,.menu-dropdown button:focus,.submenu.open>button,.submenu:hover>button,.native-system-menu button:focus,.native-system-menu button:hover:enabled,.native-dialog-system-menu button:focus:enabled,.native-dialog-system-menu button:hover:enabled{background:#00007c;color:#fff}
.menu-dropdown button:disabled:hover,.menu-dropdown button:disabled:focus{background:#c3c3c3;color:#828282}
.submenu-items{left:calc(100% - 7px);top:-1px}
.submenu>button>.shortcut{position:absolute;right:2px;top:4px;width:5px;height:9px;margin:0;font-size:0;background:currentColor;clip-path:polygon(0 0,1px 0,1px 1px,2px 1px,2px 2px,3px 2px,3px 3px,4px 3px,4px 4px,5px 4px,5px 5px,4px 5px,4px 6px,3px 6px,3px 7px,2px 7px,2px 8px,1px 8px,1px 9px,0 9px)}
.menu-dropdown button[data-checked="true"]::before{content:'';position:absolute;left:3px;top:4px;width:9px;height:10px;background:currentColor;clip-path:polygon(0 5px,2px 5px,2px 7px,3px 7px,3px 5px,4px 5px,4px 3px,5px 3px,5px 2px,6px 2px,6px 0,9px 0,9px 1px,8px 1px,8px 3px,7px 3px,7px 5px,6px 5px,6px 7px,5px 7px,5px 9px,3px 9px,3px 8px,2px 8px,2px 7px,1px 7px,1px 6px,0 6px)}
