/* Window borders are nine-slice crops from the supplied Japan Rev 1 ROM. */
:root{--rom-ink:#101021;--rom-text:#c7c7bd;--rom-green:#123e23;--rom-edge:6px;--hud-scale:1}
.rom-window,#panel,#dialogue,.modalbox,.startmenu{border:var(--rom-edge) solid transparent;border-image:var(--srw-map-frame, none) 4 / var(--rom-edge) / 0 repeat;background:var(--rom-ink);border-radius:0!important;box-shadow:none!important;color:var(--rom-text);image-rendering:pixelated}
.rom-inset{border:2px solid transparent;border-image:var(--srw-inner-frame, none) 2 / 2px / 0 stretch;background:var(--rom-ink);min-width:0;min-height:0}
.rom-silver{border:8px solid transparent;border-image:var(--srw-battle-frame, none) 8 / 8px / 0 stretch;background:var(--rom-ink)}
#app{font-family:'Courier New',monospace}#toolbar{min-height:36px;padding:2px 8px;border-bottom:2px solid #756746;background:#101021;gap:12px}#home{font-family:inherit;font-size:14px}#chapter{font-size:12px}.tools button{min-height:30px;padding:4px 7px;font-size:12px;border-radius:0;background:#101021;border:1px solid #54566b}.tools button:hover{background:#173d25}body.hdr #toolbar,body.hdr #commands{background:#101021}
#commands{min-height:34px;padding:2px 8px;border-top:2px solid #756746;background:#101021;gap:5px}#commands button{min-height:28px;padding:3px 10px;border:1px solid #54566b;border-radius:0;background:#101021;font-size:12px}#commands button:focus-visible,#commands button:hover{background:#173d25;border-color:#819078}
#panel{font-size:clamp(12px,calc(14px * var(--hud-scale)),19px);line-height:1.2;z-index:4;max-height:calc(100% - 10px);overflow:auto;padding:3px;backdrop-filter:none!important}
#panel.command-panel{width:max-content;min-width:130px;max-width:45%;right:auto;top:auto}
#panel.system-panel{top:8px;left:8px;right:auto;width:max-content;min-width:170px;max-width:50%}
#panel.board{left:50%;top:50%;right:auto;transform:translate(-50%,-50%);width:min(calc(100% - 12px),900px);height:calc(100% - 12px);max-height:none;display:flex;flex-direction:column;gap:4px;padding:3px;overflow:hidden}
#panel .rom-option,.rom-option{display:block;width:100%;padding:6px 9px;margin:0;border:0;border-radius:0!important;background:transparent;text-align:left;color:var(--rom-text);font-family:inherit;font-size:inherit;line-height:1.25;box-shadow:none;min-height:30px;touch-action:manipulation}
#panel .rom-option:disabled{opacity:.45}.rom-option.is-cursor,.rom-option:focus-visible,.rom-option:hover:not(:disabled){background:var(--rom-green)!important;color:#d1e8d1;outline:0}.rom-option:focus-visible{box-shadow:inset 0 0 0 1px #749f72!important}
.rom-tabs{display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px;flex:0 0 auto}.rom-tabs .rom-option{border:2px solid #54546d!important;text-align:center;white-space:nowrap;padding:4px 6px;min-height:27px;font-size:clamp(12px,calc(14px * var(--hud-scale)),18px)}
.rom-tabs .rom-option.is-cursor{background:#123e23!important;border-color:#818d82!important}
.rom-stat{display:flex;justify-content:space-between;gap:6px;min-width:0}.rom-stat b{font-weight:normal;white-space:nowrap}.rom-stat span{white-space:nowrap}
.rom-resources{font-size:clamp(12px,calc(15px * var(--hud-scale)),22px);line-height:1.05;font-variant-numeric:tabular-nums;color:#bacfd0}
.rom-resource{display:grid;gap:2px 5px;align-items:center;grid-template-columns:24px 1fr}.rom-resource b{color:#bfc336;letter-spacing:.02em;font-size:.92em;font-weight:bold}.rom-number{text-align:center;white-space:nowrap;font-weight:bold;letter-spacing:.04em}
.rom-resource.hp .rom-bar{grid-column:2}.rom-bar{display:block;height:7px;background:#254637;overflow:hidden;border:0}.rom-bar em{display:block;height:100%;background:linear-gradient(#007936 0 28%,#70b799 28% 78%,#216c55 78%);transition:none}
.rom-resource.en{margin-top:3px;grid-template-columns:24px auto 1fr}.rom-resource.en .rom-number{font-size:.95em;letter-spacing:0}.rom-resource.en .rom-bar{min-width:14px}
.unit-board{display:grid;grid-template-columns:46% 54%;grid-template-rows:14% 14% 22% 18% 22% 10%;flex:1;min-height:0;gap:0}
.unit-board>.rom-inset{margin:2px;padding:4px 7px;overflow:hidden}.unit-board h2{margin:0;font-size:1.08em;font-weight:normal}.unit-art{grid-column:1;grid-row:1/4;display:flex;align-items:center;justify-content:center;background:#143a32!important}.unit-art img{width:auto;height:100%;max-width:100%;object-fit:contain;image-rendering:pixelated}
.unit-name{grid-column:2;grid-row:1;display:flex;align-items:center}.pilot-name{grid-column:2;grid-row:2;display:flex;align-items:center}.unit-pilot{grid-column:2;grid-row:3;display:flex;gap:9px;align-items:center}.unit-pilot img{height:100%;max-width:28%;object-fit:contain;image-rendering:pixelated}.unit-pilot>div{flex:1;display:grid;gap:3px}
.unit-stats{grid-column:1;grid-row:4/7;display:flex;flex-direction:column;justify-content:space-evenly}.unit-resources{grid-column:2;grid-row:4;display:flex;align-items:center}.unit-resources .rom-resources{width:100%}.unit-special{grid-column:2;grid-row:5}.unit-exp{grid-column:2;grid-row:6;display:flex;justify-content:space-between;align-items:center;font-size:.85em}.unit-exp b{font-weight:normal}
#panel h3{font-size:1em;font-weight:normal;margin:0 0 4px}.pilot-board{flex:1;min-height:0;display:grid;grid-template-columns:40% 32% 28%;grid-template-rows:33% 25% 32% 10%}.pilot-board>.rom-inset{margin:2px;padding:5px 7px;overflow:hidden}.pilot-identity{grid-column:1/4;display:flex;gap:10px;align-items:center}.pilot-identity img{height:100%;max-width:20%;image-rendering:pixelated;object-fit:contain}.pilot-identity>div:nth-last-child(2){flex:1;min-width:0}.pilot-identity h2{font-size:1.05em;font-weight:normal;margin:0 0 5px}.pilot-identity p{font-size:.9em;margin:0}.pilot-identity>div:last-child{min-width:24%}.pilot-stats{grid-column:1/4;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:3px 22px}.spirit-box{grid-column:1;grid-row:3/5}.spirit-slots{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:6px}.pilot-skills{grid-column:2;grid-row:3}.pilot-kills{grid-column:3;grid-row:3}.pilot-exp{grid-column:2/4;grid-row:4;display:flex;justify-content:space-between;align-items:center;font-size:.85em}
.board-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex:0 0 auto;min-height:28px}.board-actions .rom-option{width:auto;min-width:80px;padding:4px 10px;border:2px solid #54546d!important;font-size:12px;min-height:28px}.board-actions .weapon-reason{flex:1;font-size:11px;color:#ddad7d;line-height:1.1;overflow:hidden;max-height:2.2em}
#panel.weaponboard{display:grid;grid-template-rows:25px minmax(0,1fr) auto 28px;gap:3px}.weapon-heading{position:absolute;top:3px;left:5px;z-index:1;height:25px}.weapon-heading h2,.weapon-heading>span{display:none}.weapon-page{padding:2px 5px;width:49px;height:25px;background:#101021;color:#c7c7bd;font-size:12px;opacity:1!important}
.weapon-columns,.weapon-row{display:grid;grid-template-columns:minmax(0,1fr) 17% 15% 14%;align-items:center}.weapon-columns{font-size:.95em;text-align:center}.weapon-columns span:first-child{padding-left:48px}.weapon-columns span{border:2px solid #54546d;height:100%;display:flex;align-items:center;justify-content:center}
.weapon-rows{display:grid;grid-auto-rows:1fr;align-content:start;padding:2px;overflow:auto}.weapon-row{border:0;border-radius:0;padding:3px 2px;background:transparent;min-height:23px;text-align:center;font-size:inherit;line-height:1.1;color:#c7c7bd;font-family:inherit}.weapon-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.weapon-row>span:first-child{text-align:left;padding-left:3px}.weapon-row sup{margin-left:3px;color:#ddd893}.weapon-row.is-cursor,.weapon-row:focus-visible{background:#123e23!important;color:#c5e1bc;outline:none}.weapon-row.unavailable{color:#df572a}.weapon-row:hover{background:#202534}.weapon-details{display:grid;grid-template-columns:1fr 1fr;gap:3px;font-size:.95em}.weapon-details>.rom-inset{display:flex;justify-content:space-between;align-items:center;min-height:22px;padding:2px 5px;gap:4px;white-space:nowrap}.weapon-details b{font-weight:normal}.weapon-details small{font-size:.9em}.weapon-ammo{grid-column:1;width:36%}.weapon-terrain{grid-column:1/3;margin-left:19%;margin-top:-25px;display:flex!important;justify-content:space-around!important}.weapon-terrain>span{font-size:.9em;display:flex;gap:3px}.weapon-terrain>span:first-child{display:none}
.original-forecast{position:absolute;inset:0;padding:8px 4px;display:flex;flex-direction:column;gap:6px;align-items:flex-end;pointer-events:none!important;font-size:clamp(13px,calc(16px * var(--hud-scale)),23px)}
.forecast-pair{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:5px;pointer-events:auto}.forecast-column{min-width:0;display:flex;flex-direction:column;gap:4px}.forecast-resources{padding:3px 5px}.forecast-description{padding:6px 8px}.forecast-description h2{font-size:1.05em;font-weight:normal;margin:0 0 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.forecast-description p{margin:0 0 5px;display:flex;justify-content:space-between;gap:5px}.forecast-description p span{white-space:nowrap}.forecast-description .forecast-weapon{color:var(--rom-text);font-size:1em;min-height:1.3em;margin:0}.forecast-hit{display:flex;justify-content:space-between;gap:12px;margin-top:5px}.forecast-hit b{font-weight:normal}.forecast-menu{pointer-events:auto;width:max-content;min-width:180px;max-width:50%;padding:2px}.forecast-menu .rom-option{font-size:.92em;min-height:28px;padding:4px 9px}
.system-status{position:absolute;right:8px;top:8px;padding:8px 12px;min-width:140px;font-size:14px}.system-status .rom-stat{margin:3px 0}.rom-roster{flex:1;min-height:0;overflow:auto}.roster-row{display:grid!important;grid-template-columns:1fr 50px 110px 110px;gap:8px;align-items:center}.roster-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rom-roster h2{font-size:1.1em}.rom-small-note{font-size:12px;color:#b8b8ab}
#dialogue{height:clamp(112px,25vh,186px);background:#101021!important;border-radius:0!important;left:2%;width:96%;bottom:8px;padding:10px 12px;gap:12px}.dialogportrait{background:transparent}.speaker{font-family:inherit;color:#c7c7bd;font-weight:normal}.dialogtext{font-family:inherit;color:#c7c7bd}.dialoghint{color:#bacfd0}
.modalbox{font-family:inherit;line-height:1.45;padding:18px}.modalbox h2{font-weight:normal;color:#c7c7bd}.modalactions button{border-radius:0;background:#101021}.modalactions button.primary{background:#123e23;border-color:#7d927c}.startmenu button{font-family:inherit;border-radius:0;background:#101021;border:0}.startmenu button.primary,.startmenu button:hover{background:#123e23}.hudhint{display:none}
.combat-hud{padding-top:3.6cqh;gap:0}.combat-card{border:8px solid transparent;border-image:var(--srw-battle-frame, none) 8 / 8px / 0 stretch;padding:0 3px;display:flex;justify-content:center;background:#101021}.combat-card h3{display:none}.combat-card .rom-resources{font-size:clamp(11px,4.15cqh,22px)}.combat-card .rom-resource{grid-template-columns:18px 1fr;gap:1px 3px}.combat-card .rom-resource.en{grid-template-columns:18px auto 1fr;margin-top:2px}.combat-card .rom-bar{height:clamp(4px,1.8cqh,9px)}.combat-card .rom-resource b{font-size:.86em}.combat-card .rom-number{letter-spacing:0}.combat-dialog{border:8px solid transparent;border-image:var(--srw-battle-frame, none) 8 / 8px / 0 stretch;background:#101021;padding:2px 4px;gap:7px}.combat-dialog strong{color:#bacfd0}.combat-weapon{color:#bacfd0}.battlecontrols button{border-radius:0;background:#101021}.battleframe{grid-template-rows:22% 57% 21%}
@media(max-height:500px){:root{--rom-edge:5px}#panel{font-size:12px}#panel.command-panel .rom-option,#panel.system-panel .rom-option{padding:4px 8px;min-height:28px;font-size:14px}#panel.command-panel{min-width:127px}#panel.system-panel{min-width:161px}.rom-tabs .rom-option{min-height:24px;padding:2px 5px;font-size:12px}.unit-board>.rom-inset,.pilot-board>.rom-inset{padding:2px 5px}.unit-board h2{font-size:14px}.unit-board .rom-resources{font-size:12px}.unit-pilot{gap:5px}.unit-pilot .rom-stat{font-size:11px}.unit-name,.pilot-name{white-space:nowrap;overflow:hidden}.unit-name h2{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.unit-special h3{font-size:11px!important}.unit-exp,.pilot-exp{font-size:10px}.pilot-identity h2{font-size:14px}.spirit-slots{gap:1px;margin-top:3px}.spirit-box h3{margin-top:3px!important}.weapon-details{font-size:12px}.weapon-details>.rom-inset{min-height:21px;padding:1px 4px}.weapon-terrain{margin-top:-24px}.weapon-row{font-size:13px}.forecast-description{padding:4px 7px}.forecast-description h2{font-size:15px;margin-bottom:4px}.forecast-description p{font-size:13px;margin-bottom:4px}.forecast-description .forecast-weapon,.forecast-hit{font-size:13px}.forecast-menu .rom-option{min-height:25px;padding:3px 7px;font-size:13px}.original-forecast{padding-top:5px;gap:4px}.forecast-menu{min-width:168px}.rom-resources{font-size:14px}.rom-bar{height:5px}.system-status{font-size:12px}.modalbox{padding:10px 13px}.roster-row{grid-template-columns:1fr 34px 92px 72px;gap:4px;font-size:12px!important}}
@media(max-height:340px){.forecast-description h2{margin-bottom:2px}.forecast-description p{margin-bottom:2px}.forecast-description{padding:3px 5px}.forecast-hit{margin-top:2px}.forecast-pair{gap:3px}.forecast-column{gap:2px}.forecast-menu .rom-option{min-height:23px;padding:2px 7px}.forecast-resources{padding:2px 5px}.original-forecast{gap:3px}.unit-special h3,.unit-special>span{font-size:10px!important}}
@media(orientation:portrait){#panel.board{width:calc(100% - 10px);height:min(85%,520px)}.rom-tabs .rom-option{font-size:12px}.original-forecast{justify-content:center}.forecast-menu{max-width:60%}.forecast-description h2{font-size:13px}.forecast-description p{font-size:11px;flex-wrap:wrap}.forecast-description .forecast-weapon{font-size:12px}.forecast-description .rom-resources{font-size:12px}.forecast-hit{font-size:12px}.unit-board{grid-template-columns:43% 57%}.roster-row{grid-template-columns:1fr 28px 75px}.roster-row span:last-child{display:none}}
.weapon-details{grid-template-columns:repeat(10,minmax(0,1fr))!important;grid-template-rows:repeat(3,auto)}
.weapon-details>.weapon-ammo{grid-column:1/3;grid-row:1;width:auto}
.weapon-details>.weapon-terrain{grid-column:3/11;grid-row:1;margin:0!important}
.weapon-details>.rom-inset:nth-child(3){grid-column:1/6;grid-row:2}
.weapon-details>.rom-inset:nth-child(4){grid-column:6/11;grid-row:2}
.weapon-details>.rom-inset:nth-child(5){grid-column:1/6;grid-row:3}
.weapon-details>.rom-inset:nth-child(6){grid-column:6/11;grid-row:3}
#panel.weaponboard{grid-template-rows:25px minmax(0,1fr) auto 16px}
#panel.weaponboard .board-actions{min-height:16px;justify-content:flex-start}
.unit-board{grid-template-columns:35% 12% 37% 16%;grid-template-rows:14% 14% 22% 48px minmax(0,1fr) 22px}
.unit-art{grid-column:1/3}.unit-name,.pilot-name,.unit-pilot{grid-column:3/5}
.unit-stats{grid-column:1}.unit-resources,.unit-special,.unit-exp{grid-column:2/4}
.unit-board>.terrain-column{grid-column:4;grid-row:4/7}
.terrain-column{display:flex;flex-direction:column;justify-content:space-around;font-size:.9em}
.terrain-column h3{font-size:.9em!important;margin:0!important}.terrain-column>div{display:flex;justify-content:space-between;gap:3px}.terrain-column b{font-weight:normal}
.pilot-board{grid-template-columns:35% 30% 19% 16%;grid-template-rows:27% 23% minmax(0,1fr) 22px}
.pilot-identity,.pilot-stats{grid-column:1/5}.pilot-stats{grid-template-columns:1fr 1.2fr 1fr;gap:3px 16px}
.pilot-board>.terrain-column{grid-column:4;grid-row:3/5}.pilot-exp{grid-column:2/4}
.pilot-skills>span,.unit-special>span{display:block;line-height:1.3}.spirit-slots>span{white-space:nowrap;font-size:.9em}
.original-forecast{width:min(100%,900px);left:50%;right:auto;transform:translateX(-50%);overflow-y:auto;pointer-events:auto!important}
.enemy-forecast .forecast-menu{align-self:center}
#modal.end-turn-modal{background:transparent;display:block;padding:0}
.end-turn-modal .modalbox{position:absolute;left:8px;top:calc(40px + 8%);width:min(80%,750px);max-height:none;overflow:visible;padding:0;border:0;border-image:none;background:none}
.end-turn-modal h2{display:none}.end-turn-modal p,.end-turn-modal .modalactions{border:5px solid transparent;border-image:var(--srw-map-frame, none) 4 / 5px / 0 repeat;background:#101021;color:#c7c7bd}
.end-turn-modal p{padding:8px 10px;margin:0;font-size:14px;line-height:1.5}.end-turn-modal .modalactions{width:105px;display:block;margin:-1px 15% 0 auto;padding:2px}.end-turn-modal .modalactions button{width:100%;display:block;border:0;padding:5px 9px;text-align:left;background:transparent}.end-turn-modal .modalactions button.primary{background:#123e23}
.spirit-box>.rom-stat{padding-bottom:3px;border-bottom:2px solid #54546d;margin-bottom:3px}
@media(max-height:500px){.pilot-stats{font-size:11px;gap:1px 9px}.pilot-identity p{font-size:11px}.pilot-skills>span{font-size:11px}.spirit-box h3{font-size:11px!important}.spirit-slots{gap:2px;font-size:12px}.terrain-column{font-size:11px}}
@media(max-height:340px){.forecast-description h2{font-size:14px;margin-bottom:0}.forecast-description p{font-size:12px;margin-bottom:0}.forecast-description .forecast-weapon,.forecast-hit{font-size:12px}.forecast-hit{margin-top:1px}.forecast-resources .rom-resources{font-size:12px}.original-forecast{padding-bottom:5px}}
.phasebanner{width:max-content;max-width:95%;left:50%;right:auto;transform:translateX(-50%);padding:10px 22px;border:5px solid transparent;border-image:var(--srw-map-frame, none) 4 / 5px / 0 repeat;background:#101021;color:#c7c7bd;letter-spacing:.04em;font-size:clamp(18px,3vw,32px)}
.chapter-title{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;pointer-events:none!important;color:#c8c9bd;text-shadow:2px 2px #000;font-size:clamp(18px,3.7vh,32px);letter-spacing:.15em;padding-bottom:6vh}
.chapter-title strong{font-weight:normal;font-size:1.15em;letter-spacing:.13em}
.deployment-board{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(620px,94%);max-height:96%;padding:6px;overflow:auto}
.deploy-heading{display:flex;justify-content:space-between;padding:4px 7px 8px;border-bottom:2px solid #54546d;font-size:14px}.deployment-units{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.deployment-units .rom-option{display:flex;gap:8px;align-items:center;padding:5px 7px;font-size:14px;min-width:0}.deployment-units img{width:24px;height:36px;object-fit:contain;image-rendering:pixelated}.deployment-units span{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.deployment-units small{display:block;font-size:11px;margin-top:3px;color:#9dadac}.deployment-units button:disabled{opacity:.38}
@media(max-height:380px){.chapter-title{gap:14px}.deployment-board{padding:3px}.deploy-heading{font-size:12px;padding:3px 5px}.deployment-units .rom-option{font-size:12px;padding:3px 6px}.deployment-units img{width:18px;height:27px}.deployment-units small{font-size:10px;margin-top:1px}}

