:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#edf3ed;background:#22352f;font-synthesis:none;--slate:#15232c;--brass:#e9b96d;--mint:#69d3bc;--muted:#9aada9;--line:#42534f}*{box-sizing:border-box}body{margin:0}button{font:inherit;color:inherit;cursor:pointer;border:0;touch-action:manipulation}button:focus-visible{outline:2px solid var(--mint);outline-offset:3px}button:disabled{opacity:.4;cursor:not-allowed}button:not(:disabled):active{transform:translateY(1px)}button,kbd{-webkit-user-select:none;user-select:none}button{transition:background-color .15s,color .15s}svg{flex-shrink:0}h1,h2,p{margin:0}.foundry{position:relative;width:100%;height:100svh;min-height:480px;overflow:hidden;background:#22352f}.game-surface{position:absolute;top:0;right:0;bottom:0;left:0;touch-action:none}.game-surface canvas{display:block;width:100%;height:100%;touch-action:none}.panel{background:linear-gradient(135deg,#1b2b32f7,#15232cf7);border:1px solid #4b605360;box-shadow:0 8px 26px #0b171c40;border-radius:10px}.topbar{position:absolute;inset:0 0 auto;min-height:93px;display:flex;align-items:center;justify-content:space-between;padding:18px 30px;gap:28px;background:linear-gradient(#15232cfb,#15232cf5);border-bottom:1px solid #4d635250;box-shadow:0 10px 40px #172a2533}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:45px;height:45px;color:var(--brass);border:1px solid #d3ac6840;border-radius:8px;background:#e9b96d09}.brand h1{font-size:22px;font-weight:800;letter-spacing:3px;display:flex;gap:10px;align-items:center}.brand p{font-size:11px;margin-top:3px;color:var(--muted);letter-spacing:.15px}.alpha{font:9px ui-monospace,monospace;letter-spacing:1px;border:1px solid #e9b96d50;border-radius:3px;padding:3px 5px;color:var(--brass)}.resources{display:flex;gap:38px}.resource{display:flex;gap:12px;align-items:center;min-width:126px}.resource svg{color:var(--brass)}.resource.plate svg{color:var(--mint)}.resource span{display:flex;flex-direction:column;gap:2px}.resource small{color:#b2beb8;font-size:10px;letter-spacing:.35px}.resource strong{font:600 23px ui-monospace,SFMono-Regular,Consolas,monospace;color:#f3f2df;line-height:1.2}.session{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.connection{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--mint)}.connection i,.bottom-note i{width:6px;height:6px;display:inline-block;border-radius:50%;background:currentColor;box-shadow:0 0 9px #69d3bc45}.connection.offline{color:#f3a38f}.connection.connecting{color:var(--brass)}.private-label{font:9px ui-monospace,monospace;letter-spacing:1px;color:#9aada9}.objective{position:absolute;top:116px;left:26px;width:264px;padding:20px;background:linear-gradient(135deg,#1b2b32ed,#15232ce8)}.eyebrow{font:9px ui-monospace,monospace;letter-spacing:1.6px;color:var(--brass)}.objective h2{font-size:23px;letter-spacing:-.6px;font-weight:600;margin:10px 0}.objective p{font-size:11px;line-height:1.8;color:#aebdb4}.production-chain{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #52625450;padding-top:16px;margin-top:17px;color:#b0bdb4;gap:8px}.production-chain span{display:flex;flex-direction:column;align-items:center;font-size:9px;gap:6px}.production-chain b{font-size:12px;color:#64776b;font-weight:400}.production-chain .done{color:var(--mint)}.world-label{position:absolute;right:28px;top:120px;display:flex;align-items:center;gap:12px;color:#b0c2b5;text-shadow:0 1px 4px #15232c;font:9px ui-monospace,monospace;letter-spacing:1px}.world-label span:last-child{display:flex;flex-direction:column;gap:5px}.world-label b{font-size:11px;letter-spacing:2px;font-weight:500;color:#d9e2d5}.compass{font-size:13px;border:1px solid #73856c60;border-radius:50%;width:37px;height:37px;display:grid;place-items:center}.view-controls{position:absolute;right:27px;top:45%;display:flex;flex-direction:column;padding:4px}.view-controls button{width:44px;height:44px;display:grid;place-items:center;background:none;border-radius:6px;font-size:23px;color:#d4e2d6}.view-controls button:hover{background:#829b8520}.view-controls>span{height:1px;background:#42534f;margin:2px 7px}.build-area{position:absolute;bottom:19px;left:50%;transform:translate(-50%);width:min(780px,calc(100% - 48px))}.tool-caption{display:flex;justify-content:space-between;gap:15px;padding:0 12px 12px;font-size:11px;color:#edf3ed;text-shadow:0 1px 6px #102018;min-height:26px;align-items:center}.tool-caption>span:first-child{display:flex;align-items:center;min-width:0;white-space:nowrap}.caption-hint{color:#a8bbb0;font-size:10px;overflow:hidden;text-overflow:ellipsis}.status-square{height:5px;width:5px;background:var(--mint);margin-right:8px;flex-shrink:0}.coords{font:9px ui-monospace,monospace;white-space:nowrap;color:#b9c7b6}.toolbar{display:flex;align-items:stretch;gap:6px;padding:9px;border-color:#7a8d6b55;box-shadow:0 14px 50px #061c1b65}.tool{position:relative;background:transparent;min-width:0;flex:1;border:1px solid transparent;border-radius:7px;display:flex;align-items:center;flex-direction:column;gap:8px;justify-content:center;height:85px;color:#acbfb6}.tool>span{font-size:10px;font-weight:500}.tool kbd{position:absolute;top:6px;right:7px;font:9px ui-monospace,monospace;color:#80968d}.tool:hover{background:#b0c8ac0c;color:#edf3ed}.tool.active{background:linear-gradient(#e9b96d1a,#e9b96d0a);color:var(--brass);border-color:#e9b96d7a;box-shadow:inset 0 0 20px #e9b96d08}.tool.active kbd{color:#d5b478}.tool.active:after{content:"";height:2px;position:absolute;bottom:-1px;left:28%;right:28%;background:var(--brass);border-radius:3px}.tool.danger{color:#c3a69a}.tool.danger.active{color:#f3a38f;border-color:#f3a38f88;background:#f3a38f10}.tool-divider{width:1px;background:#4b60534d;align-self:stretch;margin:8px 3px}.rotate{display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center;width:92px;border-radius:6px;background:transparent;color:#b4c4b8}.rotate:hover:not(:disabled){background:#b0c8ac0c}.rotate>span{font-size:9px}.rotate kbd{margin-left:3px;color:#96ab9d;font:9px monospace}.rotate>b{position:absolute;right:17px;top:15px;color:var(--brass);font-size:16px;font-weight:400}.bottom-note{display:flex;justify-content:space-between;gap:12px;margin:12px 7px 0;color:#9caf9f;font:8px ui-monospace,monospace;letter-spacing:.7px}.bottom-note>span{display:flex;align-items:center;gap:6px}.bottom-note>span:last-child{letter-spacing:.15px;text-align:right}.bottom-note i{width:4px;height:4px;color:var(--mint);box-shadow:none}.prototype-note{color:#778f7f}.help{position:absolute;left:26px;bottom:196px;width:264px}.help-toggle{background:none;display:flex;align-items:center;justify-content:space-between;padding:0 15px;min-height:44px;width:100%;font-size:11px;color:#b4c8bd}.help-toggle>span:last-child{display:grid;place-items:center;width:21px;height:21px;border:1px solid #61776a70;border-radius:50%;font:12px monospace;color:var(--brass)}.help-body{padding:0 15px 15px;max-height:45svh;overflow:auto}.help-body p{font-size:11px;line-height:1.7;color:#bbcbbf;margin:10px 0}.help-body p b{color:var(--brass);margin-right:3px}.help-body kbd{display:inline-block;background:#3e5348;padding:0 4px;border-radius:3px;font-size:10px}.help-body p.muted{font-size:10px;color:#8ca596;border-top:1px solid #42534f;padding-top:10px}.loading{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);max-width:370px;width:calc(100% - 42px);padding:27px;text-align:center}.loading>svg{color:var(--brass);margin-bottom:15px}.loading h2{font-size:20px;font-weight:500}.loading p{font-size:12px;line-height:1.7;color:#b0c3b7;margin-top:10px}.loading button{background:#e9b96d18;color:var(--brass);border:1px solid #e9b96d50;min-height:44px;border-radius:5px;margin-top:18px;padding:0 18px}.feedback-area{position:absolute;left:50%;transform:translate(-50%);bottom:195px;width:min(590px,calc(100% - 42px));pointer-events:none;display:flex;align-items:center;flex-direction:column;gap:8px}.error-message{pointer-events:auto;background:#342a29f7;border:1px solid #b4786280;border-radius:7px;display:flex;align-items:center;gap:10px;padding:5px 5px 5px 14px;color:#ffd0b9;box-shadow:0 5px 25px #101a1e80}.error-message>span{display:flex;gap:11px;align-items:center;font:600 15px monospace}.error-message>span>span{font:11px/1.6 system-ui,sans-serif}.error-message button{background:none;width:44px;min-width:44px;height:44px;font-size:22px;color:#f3b99f}.pending{font-size:10px;background:#15232ced;border:1px solid #4b6053;padding:8px 14px;border-radius:5px;color:var(--brass)}@media(min-width:1500px){.build-area{bottom:28px}.objective{top:126px;left:32px}.help{left:32px}.topbar{padding:20px 34px}}@media(max-width:1050px){.topbar{padding:15px 20px;gap:14px}.brand h1{font-size:19px}.resources{gap:20px}.resource{min-width:105px}.objective{width:230px;left:18px;padding:16px}.objective h2{font-size:21px}.help{left:18px;width:230px;bottom:194px}.world-label{right:19px}.view-controls{right:18px}.brand p{font-size:10px}}@media(max-width:760px){.topbar{min-height:110px;align-items:flex-start;padding:12px 14px;flex-wrap:wrap;gap:10px}.brand-mark{width:34px;height:34px}.brand{gap:8px}.brand h1{font-size:16px;letter-spacing:2px}.brand p{font-size:9px}.alpha{font-size:7px;padding:2px 3px}.session{gap:4px;margin-top:2px;margin-left:auto}.private-label{font-size:7px;letter-spacing:.5px}.connection{font-size:10px}.resources{order:3;width:100%;gap:0;border-top:1px solid #4d635250;padding-top:8px}.resource{width:50%;gap:9px;min-width:0;justify-content:center}.resource span{flex-direction:row;align-items:center;gap:12px}.resource strong{font-size:18px}.resource small{font-size:9px}.resource svg{width:18px;height:18px}.resource+.resource{border-left:1px solid #4d635250}.objective{top:126px;left:12px;width:200px;padding:12px;background:#15232ce8}.eyebrow{font-size:8px}.objective h2{font-size:18px;margin:7px 0}.objective p{font-size:10px}.production-chain{margin-top:10px;padding-top:10px}.production-chain span{font-size:8px;gap:4px}.world-label{top:130px;right:13px}.world-label span:last-child{display:none}.compass{height:30px;width:30px;font-size:11px}.view-controls{right:12px;top:43%;padding:2px}.build-area{width:calc(100% - 20px);bottom:12px}.toolbar{padding:5px;gap:2px;border-radius:9px}.tool{height:68px;gap:7px;border-radius:5px}.tool svg{width:22px;height:22px}.tool>span{font-size:8px;white-space:nowrap}.tool kbd{display:none}.tool-divider{margin:5px 2px}.rotate{width:46px;flex-shrink:0}.rotate>svg{width:20px;height:20px}.rotate>span{font-size:8px}.rotate kbd{display:none}.rotate>b{position:static;font-size:11px;line-height:7px}.tool-caption{padding:0 5px 9px;font-size:10px;gap:7px}.caption-hint{display:none}.coords{font-size:8px}.bottom-note{font-size:7px;margin:10px 2px 0;letter-spacing:.2px}.bottom-note>span:last-child{max-width:48%;font-size:7px;line-height:1.4}.prototype-note{display:none}.help{bottom:150px;left:12px;width:200px}.help:not(.open){width:164px}.help-toggle{font-size:10px;min-height:44px;padding:0 11px}.help.open{width:min(300px,calc(100% - 24px));z-index:3}.feedback-area{bottom:205px;z-index:4}.loading{z-index:2}.foundry{min-height:420px}}@media(max-height:650px){.objective p,.production-chain{display:none}.objective{padding:11px 14px}.objective h2{margin-bottom:0}.help{bottom:160px}.help.open{z-index:3}.feedback-area{bottom:165px}.view-controls{top:35%}}@media(max-width:760px){.objective p,.objective .production-chain{display:none}.objective h2{margin-bottom:0}.tool,.rotate{min-height:44px}.game-surface canvas{cursor:crosshair}}@media(max-width:359px){.toolbar{display:grid;grid-template-columns:repeat(6,minmax(44px,1fr));gap:2px}.toolbar .tool-divider{display:none}.toolbar .rotate{position:absolute;right:0;top:-58px;width:48px;height:44px;min-height:44px;background:#15232cf7;border:1px solid #42534f}.toolbar .rotate>span{display:none}.toolbar .rotate>b{position:absolute;right:3px;top:3px}.tool-caption .coords{margin-right:55px}.bottom-note>span:last-child{display:none}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
