:root{font-family:'Nunito Sans',system-ui,sans-serif;font-size:16px;line-height:1.45;color:#293f35;background:#f6f1df;color-scheme:light;--ink:#293f35;--sage:#376349;--line:#acb78f;--paper:#fffbea;--muted:#687052;--brass:#d3af65}*{box-sizing:border-box}body{margin:0;min-height:100dvh;background:radial-gradient(ellipse at 0 0,#dce5c3 0,transparent 48%),#f6f1df;overflow-wrap:anywhere}button,input,select,summary{font:inherit;color:inherit}button,select{min-height:44px;min-width:44px;max-width:100%;border:1px solid var(--line);border-radius:12px;background:var(--paper);padding:9px 14px}button{font-weight:800;line-height:1.25;cursor:pointer;overflow-wrap:anywhere;hyphens:none}button:disabled,select:disabled{opacity:.5;cursor:default}button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #257aad;outline-offset:3px}button.primary{background:var(--sage);border-color:var(--sage);color:#fffbea}button.danger{border-color:#a56751;color:#874632}button.quiet{background:transparent}button.icon{min-width:48px;white-space:nowrap}button[aria-pressed=true],.modeTabs button[aria-selected=true]{background:#e0e9c8;border-color:#577b49;box-shadow:inset 0 -3px #739561}button.primary[aria-pressed=true]{color:var(--ink)}[hidden]{display:none!important}img{max-width:100%;display:block}h1,h2,h3,p{margin:0 0 .7em}h1,h2,h3{line-height:1.2;hyphens:none}h1{font-size:clamp(1.5rem,4vw,2.25rem)}h2{font-size:1.4rem}h3{font-size:1.1rem}small,.subtle{color:var(--muted)}small{line-height:1.4}main{width:min(1120px,100%);margin:auto;padding:20px 18px 36px}.topbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.topbar .brand{flex:1;min-width:120px;font-weight:900;font-size:1.08rem}.topActions{display:flex;gap:8px;flex-wrap:wrap}.hero{border:1px solid var(--line);border-radius:24px;overflow:hidden;background:var(--paper);margin-bottom:22px;box-shadow:0 6px 24px #4b5e3c12}.hero img{width:100%;aspect-ratio:16/9;object-fit:cover}.heroText{padding:18px 22px}.heroText p{margin-bottom:0;max-width:65ch}.progressBar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:16px 0}.metric{padding:8px 12px;border:1px solid #bdc7a4;border-radius:12px;background:#e7edda;font-weight:800}.modeTabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:18px 0 12px}.modeTabs button{min-height:48px}.modeIntro{max-width:76ch;min-height:3em;margin-bottom:18px}.siteGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.siteCard{min-width:0;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--paper);box-shadow:0 4px 14px #4b5e3c0c}.siteCard>img{width:100%;aspect-ratio:3/2;object-fit:cover}.siteBody{padding:15px}.siteBody h2{font-size:1.2rem}.orderGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.orderButton{display:grid;gap:4px;min-height:84px;text-align:left;padding:10px}.orderButton small{font-size:.8rem}.factoryActions{display:grid;gap:8px}.homeFooter{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:22px}.homeFooter p{flex:1;min-width:160px;font-size:.9rem;margin:0}.notice{padding:12px 14px;border:1px solid #c5b182;background:#f8edcc;border-radius:12px;margin:12px 0}.notice:empty{display:none}.ending{padding:18px;border:2px solid #8d9b6c;background:#e6edcf;border-radius:16px;margin:18px 0}.runHeader{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.runHeading{flex:1;min-width:100px}.runHeading h1{font-size:1.35rem;margin:0 0 3px}.runHeading p{font-size:.9rem;margin:0}.runHeader #pause{flex-shrink:0;white-space:nowrap}.runHud{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.runHud .metric{padding:7px 10px}.runHud .speed{margin-left:auto}.stageWrap{border:2px solid #98aa7d;border-radius:20px;overflow:hidden;background:#edf0dc;box-shadow:0 8px 24px #394d2d14}#stage{position:relative;width:100%;aspect-ratio:10/7;overflow:hidden}#stage canvas,#stage svg{display:block;width:100%;height:100%}.runStatus{min-height:1.6em;font-weight:800;margin:12px 0 8px}.stationTabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:12px 0}.stationTabs button{padding:8px 7px;min-height:58px;font-size:.9rem;display:grid;justify-items:center;gap:3px}.stationNumber{display:inline-grid;place-items:center;min-width:24px;min-height:24px;border-radius:50%;background:#e0e8c7;color:#345d40;font-weight:900}.runActions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.runActions>button{flex:1;min-width:140px}.fieldLegend{font-size:.84rem;color:#5e6c4e;line-height:1.5;margin-top:10px}.stocks{display:flex;gap:8px;flex-wrap:wrap;padding:10px 0}.stocks span{padding:5px 9px;border-radius:8px;background:#e9ecd7;font-size:.88rem}.veil{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:24px;background:#f6f1dff2;text-align:center}.veil p{max-width:34ch;font-weight:800;font-size:1.2rem}dialog{width:min(660px,calc(100% - 24px));max-height:calc(100dvh - 24px);margin:auto;padding:22px;border:2px solid #9eaf82;border-radius:22px;color:var(--ink);background:#fffbea;box-shadow:0 18px 70px #263e3540;overflow:auto;overscroll-behavior:contain;overflow-wrap:anywhere}dialog::backdrop{background:#293f3566}.sheetHeader{display:flex;align-items:flex-start;gap:14px;margin-bottom:16px}.sheetHeader h2{flex:1;min-width:0;margin:0}.sheetHeader button{flex-shrink:0}.sheetActions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.sheetActions button{flex:1;min-width:140px}.formRow{display:grid;gap:6px;margin:14px 0;min-width:0}.formRow select{width:100%;min-width:0}.checkRow{display:flex;gap:10px;align-items:center;min-height:48px;margin:12px 0;padding:6px 2px;font-weight:700}.checkRow input{width:24px;height:24px;flex-shrink:0;accent-color:var(--sage)}.settingHint{font-size:.88rem;color:var(--muted);margin-top:-4px}.sheetSection{border-top:1px solid #d5dbc3;padding-top:16px;margin-top:18px}.crewRow{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,1fr);gap:6px 12px;align-items:center;border-bottom:1px solid #d9ddc7;padding:12px 0;min-width:0}.crewRow select{width:100%;min-width:0}.crewRow small{grid-column:1/-1}.crewTitle{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.crewTitle strong{min-width:0}.upgradeRow{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,1fr);gap:12px;align-items:center;margin:12px 0}.upgradeRow button{width:100%}.recipeRow{display:flex;align-items:center;gap:10px;margin:10px 0}.recipeRow img{width:56px;height:56px;object-fit:contain}.ledger{white-space:normal;overflow-wrap:anywhere;padding:12px;background:#eef0df;border-radius:12px}.ledger p:last-child{margin:0}.collectionGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.collectionCard{border:1px solid var(--line);border-radius:14px;padding:12px;text-align:center;background:#f7f4e2;min-width:0}.collectionCard img{width:100%;height:100px;object-fit:contain;margin-bottom:8px}.collectionCard.locked{opacity:.6}.collectionCard strong{display:block;font-size:.95rem}.planGrid{display:grid;gap:12px}.planCard{border:1px solid var(--line);border-radius:14px;overflow:hidden}.planCard img{width:100%;aspect-ratio:3/1;object-fit:cover}.planCard p{padding:10px 12px;margin:0}.resultStars{font-size:1.7rem;color:#8c671c;font-weight:900;letter-spacing:.07em;margin-bottom:12px}.resultSummary{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.returnSummary{padding:14px;background:#e7edce;border:1px solid #a6b88b;border-radius:14px}.helpBlock{margin:14px 0}.helpBlock h3{margin-bottom:6px}details{margin:14px 0}summary{min-height:44px;padding:10px 0;cursor:pointer;font-weight:800}.srOnly{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:900px){.siteGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.siteCard:last-child{grid-column:1/-1}.siteCard:last-child>img{max-height:240px}.stationTabs{gap:6px}.collectionGrid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:620px){main{padding:12px 10px 28px}.topbar{gap:8px}.topbar .brand{font-size:.95rem}.topActions{gap:6px}.topActions button{padding:8px 11px}.hero{border-radius:18px;margin-bottom:16px}.heroText{padding:15px}.siteGrid{grid-template-columns:1fr}.siteCard:last-child{grid-column:auto}.siteCard:last-child>img{max-height:none}.progressBar{gap:6px}.metric{padding:7px 9px}.modeIntro{min-height:0}.modeTabs{gap:6px}.modeTabs button{padding:8px 6px;font-size:.94rem}.runHeader{gap:8px}.runHeader>button{padding:8px 10px}.runHeading h1{font-size:1.1rem}.runHud{gap:5px}.runHud .metric{font-size:.88rem;padding:6px 8px}.stageWrap{border-radius:15px}.stationTabs{grid-template-columns:repeat(3,minmax(0,1fr))}.stationTabs button{font-size:.88rem;min-height:58px}.collectionGrid{grid-template-columns:repeat(2,minmax(0,1fr))}dialog{padding:17px;width:calc(100% - 20px);max-height:calc(100dvh - 20px)}.sheetHeader{gap:10px}.sheetHeader h2{font-size:1.25rem}.sheetHeader button{padding:8px 10px}.crewRow{grid-template-columns:minmax(0,1fr) minmax(120px,1fr);gap:6px 9px}.upgradeRow{grid-template-columns:minmax(0,1fr) minmax(100px,1fr);gap:9px}}@media(max-width:360px){.runHeader .runHeading{order:3;flex-basis:100%}.runHeader #pause{margin-left:auto}.modeTabs button{font-size:.9rem}.stationTabs{grid-template-columns:repeat(2,minmax(0,1fr))}.crewRow{grid-template-columns:1fr}.crewRow small{grid-column:auto}.collectionGrid{grid-template-columns:1fr}}@media(max-height:450px) and (min-width:621px){main{padding-top:10px}.runHeader{margin-bottom:8px}.runHud{margin-bottom:8px}.runLayout{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.45fr);gap:12px;align-items:start}.runTools{min-width:0}.stationTabs{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}.runActions{display:grid}.fieldLegend{font-size:.78rem}.topbar{margin-bottom:8px}dialog{max-height:calc(100dvh - 12px);padding:14px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media(min-width:1000px){.runLayout{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.4fr);gap:18px;align-items:start}.runTools{min-width:0}.runTools .runStatus{margin-top:0}.stationTabs{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}.runActions{display:grid}}
.heroActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.heroActions .primary{min-width:190px}
