:root{font:16px/1.5 system-ui,-apple-system,"Noto Sans",sans-serif;color:#254d4f;background:#f2ead9;color-scheme:light;--paper:#fff8e8;--teal:#176d70;--clay:#a85431;--line:#bfad8d}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit;min-width:0;max-width:100%;min-height:44px;border:1px solid #6e847d;border-radius:8px;background:var(--paper);color:inherit;padding:.55rem .8rem}button{cursor:pointer;white-space:normal;hyphens:auto}button:disabled{opacity:.5;cursor:default}button:hover:enabled{background:#e5eadb}button:focus-visible,input:focus-visible,select:focus-visible,#stage:focus-visible{outline:3px solid #b66a36;outline-offset:3px}.primary{background:var(--teal);color:#fffbed;border-color:var(--teal);font-weight:700}.primary:hover:enabled{background:#0f585b}.danger{color:#8b3927;border-color:#a45c43}p{margin:.65rem 0;line-height:1.55}h1,h2,h3{line-height:1.22;margin:.6rem 0 1rem}h2{font-size:1.35rem}h3{font-size:1.08rem}small,.subtle{color:#52695f;font-size:.92rem}strong{font-weight:750}label{display:flex;flex-direction:column;gap:.35rem;min-width:0}select,input{width:100%}hr{border:0;border-top:1px solid var(--line);margin:1rem 0}[hidden]{display:none!important}#app{max-width:1180px;margin:auto;padding:1rem;padding-top:max(1rem,env(safe-area-inset-top));padding-bottom:max(1rem,env(safe-area-inset-bottom))}.masthead,.masthead nav,.homeActions,.quickActions,.dialogActions,.fieldActions,.runMeta,.trainChips{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap}.masthead{justify-content:space-between;margin-bottom:1rem}.masthead nav{justify-content:flex-end}.brand{font-weight:850;font-size:1.08rem;border:0;background:transparent;padding-inline:0;color:var(--teal)}.notice,.banner{padding:.75rem 1rem;background:#e8e9d5;border:1px solid var(--line);border-radius:9px}.notice{font-weight:600}.poster{position:relative;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#eee3cc}.poster>img{display:block;width:100%;height:auto;max-height:540px;object-fit:contain}.posterCaption{background:var(--paper);padding:1rem 1.2rem;border-top:1px solid var(--line)}.posterCaption p{margin:0 0 .4rem}.homeActions{justify-content:space-between;margin-top:1rem}.segmented{display:flex;flex-wrap:wrap;gap:.4rem}.segmented button[aria-selected=true]{background:var(--teal);color:#fff8e8}.quickActions{margin:1rem 0}.regionCards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.regionCard{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--paper);min-width:0}.regionCard>img{display:block;width:100%;height:135px;object-fit:cover}.regionBody{padding:1rem}.contracts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.contractButton{text-align:start;display:flex;flex-direction:column;gap:.3rem;align-items:start}.contractButton small{font-size:.8rem;line-height:1.4}.runHeader{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem;padding:.3rem 0 .7rem}.runHeader>div{flex:1 1 200px;min-width:0}.runHeader strong{display:block}.runHeader small{display:block}.runMeta{justify-content:space-between;font-variant-numeric:tabular-nums;margin-bottom:.5rem}.quota{display:flex;gap:.4rem;flex-wrap:wrap;margin:.5rem 0}.quota span{padding:.2rem .55rem;border:1px solid var(--line);border-radius:20px;background:var(--paper);font-size:.9rem}#stage{position:relative;width:100%;height:clamp(250px,54dvh,570px);border:1px solid #85785d;border-radius:12px;overflow:hidden;background:#ece2c9}#stage canvas,#stage svg{display:block;position:absolute;inset:0;width:100%;height:100%}.trainChips{margin-top:.65rem}.trainChips button{border-inline-start:6px solid var(--train-color);flex:1 1 170px}.trainChips button[aria-pressed=true]{background:#e6e9d4;font-weight:750}.phase{font-weight:650;min-height:1.6em}.fieldActions{margin:.5rem 0}.fieldActions button{flex:1 1 140px}dialog{width:min(920px,calc(100% - 2rem));max-height:calc(100dvh - 2rem);padding:1.25rem;border:1px solid #7f8068;border-radius:14px;background:var(--paper);color:inherit;overflow:auto;overscroll-behavior:contain}dialog::backdrop{background:#173c3cb8}.dialogHeading{display:flex;justify-content:space-between;align-items:start;gap:1rem;margin-bottom:.5rem}.dialogHeading h2{flex:1;min-width:0}.dialogHeading>button{flex:0 1 auto}.managementGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.managementGrid fieldset{min-width:0;border:1px solid var(--line);border-radius:8px;padding:.85rem;display:flex;flex-direction:column;gap:.6rem}.managementGrid p{margin:.1rem 0 .3rem}.managementGrid legend{font-weight:700;padding:0 .3rem}.managementGrid button{text-align:center}.enginePreview{display:block;width:min(100%,240px);height:120px;object-fit:contain;margin-inline:auto}.settingsGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.check{flex-direction:row;align-items:center;gap:.65rem;min-height:44px}.check input{width:24px;min-height:24px;height:24px;flex:0 0 24px;accent-color:var(--teal)}.upgradeGrid{display:grid;gap:.6rem}.warehouseStock{display:grid;gap:.4rem}.warehouseStock span{padding:.4rem .55rem;background:#eae7d6;border-radius:6px}.dialogActions{margin-top:1rem}.dialogActions button{flex:1 1 150px}.engineCards,.postcardCards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.engineCard,.postcard{border:1px solid var(--line);border-radius:10px;padding:.9rem;min-width:0;background:#f2ecd9}.engineCard img{display:block;width:100%;height:110px;object-fit:contain}.engineCard p{font-size:.9rem}.engineCard.uncollected img{filter:saturate(.3);opacity:.7}.postcard img{display:block;width:100%;height:auto;border-radius:5px}.postcard.locked img{filter:grayscale(1);opacity:.6}.loadingActions,.artRetry,#retryAwayRow{margin:.65rem 0}.sheetNotice{background:#ece6cf;border:1px solid var(--line);border-radius:6px;padding:.65rem}#result,#bound,#awayReport,#confirm{width:min(590px,calc(100% - 2rem))}#resultValue{font-size:1.25rem;display:block}#resultAward,#resultEngines,#resultCard{font-weight:650}
@media(max-width:700px){#app{padding:.65rem;padding-top:max(.65rem,env(safe-area-inset-top));padding-bottom:max(.65rem,env(safe-area-inset-bottom))}.masthead{align-items:start;gap:.5rem}.masthead nav{gap:.4rem;justify-content:start}.masthead nav button{flex:1 1 100px}.masthead>nav{width:100%}.regionCards,.managementGrid,.settingsGrid,.engineCards,.postcardCards{grid-template-columns:1fr}.regionCard>img{height:110px}.homeActions>*{width:100%}.segmented button{flex:1 1 80px}.quickActions>button{flex:1 1 150px}.posterCaption{padding:.8rem}.runHeader #credits{flex:1 1 110px}.runHeader>button{flex:1 1 120px}.runHeader>div{flex-basis:100%}.runMeta>*{flex:1 1 140px}dialog{width:calc(100% - 1rem);max-height:calc(100dvh - 1rem);padding:.85rem}.dialogHeading{gap:.5rem}#stage{height:clamp(260px,49dvh,450px)}.trainChips button{flex-basis:110px}.fieldActions button{flex-basis:120px}.contracts{grid-template-columns:1fr}.contractButton small{font-size:.85rem}}
@media(max-height:480px) and (min-width:701px){#app{padding:.6rem}.masthead{margin-bottom:.5rem}.runHeader{padding-bottom:.4rem}.runHeader>div{flex-basis:180px}.runMeta{margin-bottom:.25rem}#stage{height:max(230px,58dvh)}.managementGrid{grid-template-columns:repeat(2,minmax(0,1fr))}dialog{max-height:calc(100dvh - 1rem);padding:.9rem}.poster>img{max-height:330px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}html[data-reduced-motion=true] *{scroll-behavior:auto!important}

@media(max-width:700px){.segmented button{flex:1 1 auto;min-width:min-content}.dialogHeading{flex-wrap:wrap;align-items:center}.dialogHeading h2{flex:1 1 100%;margin:.3rem 0}.dialogHeading>button{margin-inline-start:auto}h2{font-size:1.2rem}h2,h3,legend,p,label>span{hyphens:auto;overflow-wrap:break-word}label>span{min-width:0}}

.upgradeGrid>div>button{width:100%}.upgradeGrid>div>p{margin:.4rem 0}
