*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}body{font:13px/1.5 Arial,Helvetica,sans-serif;background:#203c32;color:#283e32;display:flex;flex-direction:column}button,a,input,select{touch-action:manipulation}button{font:600 11px Arial;color:#e6e7d1;background:linear-gradient(#42614d,#2c493b);border:1px solid #75856c;padding:10px 12px;border-radius:2px;cursor:pointer;box-shadow:inset 0 1px #ffffff18}button:hover{filter:brightness(1.12)}button:disabled{opacity:.42;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #dfad56;outline-offset:2px}button.primary{background:linear-gradient(#e0be77,#bea062);border-color:#8c783f;color:#263b30}button.danger{color:#f0b5a0}button.full{width:100%;margin-top:10px}header{height:75px;flex-shrink:0;display:flex;align-items:center;gap:24px;padding:0 22px;background:linear-gradient(#304c3b,#1c352b);color:#e4dfbd;border-bottom:2px solid #ae9051}.brand{display:flex;gap:12px;align-items:center;color:inherit;text-decoration:none;font:bold 20px Georgia;letter-spacing:2px}.brand small{display:block;font:10px Arial;letter-spacing:.3px;margin-top:5px;color:#b6c1aa}.seal{display:grid;place-items:center;border:2px double #ad9c6c;width:43px;height:43px;font:23px Georgia;letter-spacing:-2px}.metrics{display:flex;margin-left:auto}.metrics>div{padding:0 23px;border-left:1px solid #68816a}.metrics small{font-size:8px;letter-spacing:1px;display:block;color:#aabc9e}.metrics b{font:600 23px 'Courier New';color:#e4e6cd}.operations{height:32px;flex-shrink:0;display:flex;align-items:center;gap:27px;padding:0 22px;background:#c7c8af;border-bottom:1px solid #8e9c7e;font:10px 'Courier New';color:#3d5340}.operations span:last-child{margin-left:auto}.workspace{display:flex;min-height:0;flex:1}nav{width:94px;flex-shrink:0;background:#2e4739;padding:10px 6px;border-right:1px solid #819274;display:flex;flex-direction:column;gap:5px}nav button{background:transparent;border-color:transparent;box-shadow:none;padding:13px 3px;font-size:10px;min-height:65px}nav .ui-icon{display:block;margin:0 auto 7px;width:23px;height:23px;color:#c8c7a3}nav button.active{background:#4e6248;border-color:#9da582;box-shadow:inset 3px 0 #dbbc77}main{display:flex;flex:1;min-width:0;flex-direction:column}.scene{flex:1;min-height:0;position:relative;overflow:hidden}canvas{width:100%;height:100%;display:block;touch-action:none}.scene-label{position:absolute;left:18px;top:18px;padding:10px 14px;background:#e3e2c9e8;border-left:3px solid #526a4e;pointer-events:none;box-shadow:0 3px 10px #1a34251a}.scene-label small{display:block;font:7px 'Courier New';letter-spacing:1.1px}.scene-label strong{font:22px Georgia;display:block;margin:4px 0}.scene-label span{font-size:8px;color:#6b795b}.objective{position:absolute;right:18px;top:18px;max-width:220px;text-align:left;background:#2b473eea;color:#ebd9a5;box-shadow:0 3px 10px #1b382c33;font-size:11px}.objective small{display:block;font:8px 'Courier New';color:#aebe9f;letter-spacing:1px;margin-bottom:4px}.map-controls{position:absolute;bottom:14px;left:15px;display:flex;gap:4px}.map-controls button{padding:7px 10px}#simulation{position:absolute;bottom:14px;right:15px;background:#2f483bdd;color:#e1ddbd;font:8px 'Courier New';letter-spacing:1px;padding:8px}.stock-strip{display:flex;background:#d2d4bd;border-top:3px solid #8c997d;height:72px;flex-shrink:0;gap:0;overflow:auto}.stock-item{background:transparent;color:#41583d;border:0;border-right:1px solid #aab498;min-width:95px;flex:1;border-radius:0;box-shadow:none;padding:8px}.stock-item small{display:block;font-size:9px}.stock-item b{font:600 20px 'Courier New';display:block}.stock-item span{display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:50%}aside{width:365px;flex-shrink:0;padding:19px;background:#e3e0ca;border-left:3px solid #879479;overflow:auto;scrollbar-color:#89987b #d0d4ba}.department{margin:-19px -19px 18px;padding:11px 18px;background:#51654c;color:#e2dfbd;letter-spacing:1.3px;font:8px 'Courier New';border-bottom:2px solid #ad955b}h2{font:700 23px/1.2 'Trebuchet MS',Arial;margin:0 0 10px}h3{font:700 15px Arial;margin:0 0 8px}p{font-size:11px;color:#66765b;margin:8px 0 14px;line-height:1.65}.card{border:1px solid #a7ae91;border-radius:3px;background:#eeead7;padding:14px;margin:13px 0;box-shadow:inset 0 1px #fff7}.card.selected{border-color:#a58d4b;background:#ece2be;border-top:3px solid #aa8b43}.row{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:9px 0;font-size:11px}.row strong{font-variant-numeric:tabular-nums}.row small{color:#64765a;font-size:10px}.two{display:grid;grid-template-columns:1fr 1fr;gap:8px}.badge{display:inline-block;font:8px 'Courier New';padding:4px 6px;border:1px solid #8f9e7c;color:#5a6f50;background:#d9debe}.badge.alert{color:#8e563f;border-color:#b79c70}.section-title{font:9px 'Courier New';letter-spacing:1px;border-top:1px solid #b5bba2;padding-top:17px;margin-top:20px}.progress{height:6px;background:#c7cbb0;margin:9px 0}.progress i{display:block;height:100%;background:#7d9974}.bay-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.bay-grid button{font-size:9px;min-height:47px;padding:6px}.bay-grid .active{border:2px solid #d7af5c}.note{padding:12px;border-left:3px solid #b19a58;background:#d3d6b9;font-size:11px;margin:12px 0;color:#59664a}.flow{display:flex;align-items:center;gap:8px;font:10px 'Courier New';margin:12px 0;color:#53624a}.flow>span{background:#e6e5ce;padding:9px;border:1px solid #b7bda0;flex:1;text-align:center}.mach-diagram{width:100%;height:100px;display:block;background:#354f41;border:1px solid #a5b08a;margin-bottom:12px}input,select{width:100%;border:1px solid #9eaa88;background:#f2efdb;color:#344a37;padding:10px;font:12px Arial;border-radius:2px}label{display:block;font-size:9px;letter-spacing:.7px;margin:12px 0 6px}.input-row{display:flex;gap:6px}.input-row input{width:85px}.input-row select{flex:1}.presets{display:flex;gap:6px;margin:8px 0}.presets button{flex:1;padding:7px}.orderhead{font:8px 'Courier New';letter-spacing:1px;border-bottom:1px dashed #a8ad91;padding-bottom:10px;margin-bottom:10px;color:#748061}.negative{color:#a14d37}.positive{color:#557441}.log{padding:9px 0;border-bottom:1px solid #c6cbb1;font-size:10px}.log small{display:block;color:#879074;font-size:8px}footer{height:48px;display:flex;flex-shrink:0;align-items:center;gap:22px;padding:0 18px;border-top:2px solid #9c9869;color:#dddfc4;background:#263e31}#date{font:600 11px 'Courier New';white-space:nowrap}.speeds{display:flex;gap:4px}.speeds button{padding:8px 11px}.speeds button[aria-pressed=true]{background:#d5b775;color:#2c4232}#news{font-size:9px;color:#b1bda1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#saved{font:7px 'Courier New';margin-left:auto;white-space:nowrap;color:#a8b899}#toast{position:fixed;bottom:65px;left:50%;transform:translateX(-50%);background:#263f32;color:#f4e3b2;border:1px solid #d7b677;padding:14px 20px;max-width:90%;z-index:20;display:none;box-shadow:0 8px 30px #0005}#toast.show{display:block}#modal{position:fixed;inset:0;background:#10271edb;backdrop-filter:blur(4px);display:grid;place-items:center;z-index:30;padding:20px}#modal[hidden]{display:none}#modal-card{width:650px;max-width:100%;max-height:90vh;overflow:auto;background:#e4e1c8;border:3px double #b7a26a;box-shadow:0 20px 80px #0005;padding:28px;position:relative}#modal-card h1{font:38px Georgia;letter-spacing:1px;margin:12px 0}#modal-card h2{padding-right:30px}#modal-card p{font-size:12px}.close{position:absolute;right:12px;top:12px;padding:6px 10px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.ui-icon{width:18px;height:18px;vertical-align:middle}.history{height:90px;display:flex;gap:5px;align-items:flex-end;background:#d7dbc2;padding:8px}.history span{flex:1;display:flex;align-items:flex-end;height:100%;gap:2px}.history i{width:50%;background:#73906b}.history i:last-child{background:#b78c59}.goal{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid #bdc4a6}.goal b{color:#aa8c4e}.goal p{margin:4px 0;font-size:10px}.goal.done{opacity:.55}
@media(max-width:1100px){aside{width:325px}.metrics>div{padding:0 14px}.metrics b{font-size:20px}.brand{font-size:17px}.objective{top:auto;bottom:58px;right:15px;max-width:190px}.stock-item{min-width:85px}}
@media(max-width:760px){header{height:60px;padding:0 10px;gap:10px}.seal{display:none}.brand{font-size:16px;letter-spacing:1px}.brand small{font-size:8px}.metrics>div{display:none;padding:0 10px}.metrics>div:first-child{display:block}.metrics b{font-size:19px}header>button{font-size:8px;padding:7px}.operations{height:29px;gap:13px;padding:0 10px;font-size:8px;white-space:nowrap;overflow:auto}.operations span:last-child{display:none}.workspace{flex-wrap:wrap;position:relative}nav{height:48px;width:100%;flex-direction:row;overflow:auto;padding:0;gap:0;scrollbar-width:none}nav button{min-width:75px;min-height:0;flex:1;font-size:8px;padding:6px}nav .ui-icon{display:none}nav button.active{box-shadow:inset 0 -2px #dfbf78}main{width:100%;flex:none;height:calc(53% - 24px)}aside{width:100%;height:calc(47% - 24px);border-left:0;border-top:2px solid #819073;padding:16px}.department{margin:-16px -16px 15px}.scene-label{top:10px;left:10px;padding:6px 9px}.scene-label strong{font-size:16px}.scene-label small,.scene-label span{display:none}.objective{display:none}.stock-strip{height:52px;border-top-width:1px;scrollbar-width:none}.stock-item{min-width:65px;padding:4px}.stock-item b{font-size:16px}.stock-item small{font-size:8px}.map-controls{left:10px;bottom:9px}.map-controls button{padding:6px 9px;font-size:9px}#simulation{bottom:9px;right:10px;font-size:6px;padding:6px}footer{height:43px;padding:0 10px;gap:15px}#news,#saved{display:none}.speeds{margin-left:auto}.speeds button{padding:8px 11px}#modal-card{padding:20px}#modal-card h1{font-size:30px}.card p{font-size:12px}aside button{min-height:35px}}
@media(max-height:520px) and (orientation:landscape){header{height:44px}.operations{display:none}.workspace{flex-wrap:nowrap}nav{height:auto;width:58px;flex-direction:column}nav button{min-width:0;min-height:40px;font-size:8px}main{width:auto;flex:1;height:auto}aside{width:310px;height:auto;border-top:0;border-left:2px solid #819073}.scene-label{display:none}.objective{display:none}.stock-strip{height:51px}.stock-item{min-width:65px}footer{height:37px}}
