/* V0.980.0 Campus Builder. Original industrial game HUD.
   Large tactile controls, a playable world, contextual actions, no permanent dashboard. */
body.builder-ui{--game-ink:#203b4c;--game-edge:#173044;--game-paper:#eef1df;--game-muted:#59717b;--game-gold:#eeb45e;--game-green:#93c969;--font:'Segoe UI',Tahoma,Arial,sans-serif;color:#ebf6f5;background:#426450;}
.builder-ui .app{display:block;height:100dvh;height:100vh;position:relative;overflow:hidden;}
@supports(height:100dvh){.builder-ui .app{height:100dvh}}
.builder-ui .topbar{display:none!important;}
.builder-ui .stage{position:absolute;inset:0;width:100%;height:100%;}
.builder-ui .f-shell{z-index:28;}
.builder-ui .f-shell>:not(.f-drawer):not(.f-legacy-close){display:none!important;}
.builder-ui .f-header-stats,.builder-ui .hud-resources,.builder-ui .hud-objective,.builder-ui .hud-alerts{display:none!important;}
.g-hud{position:absolute;inset:0;z-index:12;pointer-events:none;font-family:var(--font);}
.g-hud button,.g-hud input,.g-hud select,.g-panel{pointer-events:auto;}
.g-hud button{font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;}
.g-hud button:disabled{cursor:not-allowed;filter:saturate(.25);opacity:.6;}
.g-hud button:focus-visible,.builder-ui .f-button:focus-visible{outline:3px solid #ffffff;outline-offset:4px;box-shadow:0 0 0 6px #236086;}
.g-hud [hidden]{display:none!important;}
.g-glyph{width:52px;height:52px;display:block;flex:none;fill:none;stroke:none;filter:drop-shadow(0 2px 1px #09253677);overflow:visible;}
.g-hud strong,.g-hud b{font-weight:850;}
.g-profile{position:absolute;left:22px;top:20px;display:flex;align-items:center;gap:12px;background:linear-gradient(#3a6172,#274757);border:3px solid var(--game-edge);box-shadow:inset 0 2px #668c98,0 4px #102f40,0 8px 18px #13291f33;border-radius:14px;padding:6px 16px 8px 8px;text-align:left;color:#fff;min-height:74px;}
.g-tier{width:52px;height:59px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(#acdedc,#578ead);border:2px solid #c6e9e9;clip-path:polygon(10% 0,90% 0,100% 14%,100% 78%,50% 100%,0 78%,0 14%);color:#173d53;text-shadow:0 1px #e3f9ef;}
.g-tier small{font-size:9px;letter-spacing:.09em;font-weight:900;line-height:1;}.g-tier b{font-size:29px;line-height:1.1;}
.g-profile>span:last-child{min-width:143px;}.g-profile>span>small{display:block;font-size:9px;color:#bad5db;letter-spacing:.11em;}.g-profile strong{display:block;font-size:16px;letter-spacing:.02em;margin-top:2px;text-shadow:0 2px #142f44;}
.g-profile-progress{height:8px;border-radius:6px;background:#183749;box-shadow:inset 0 1px 2px #112639;display:block;margin-top:7px;overflow:hidden;border:1px solid #486877;}.g-profile-progress i{height:100%;display:block;background:linear-gradient(#bcdedd,#60afa6);border-radius:5px;transition:width .4s;}
.g-time{position:absolute;top:20px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;padding:6px 9px 7px 13px;background:linear-gradient(#294b5a,#233f4b);border:3px solid #173240;border-radius:13px;box-shadow:inset 0 1px #5b7a85,0 4px #143041;color:#f9f5e9;}
.g-clock-text{display:flex;flex-direction:column;text-align:center;min-width:58px;}.g-clock-text b{font-size:12px;letter-spacing:.04em;}.g-clock-text small{font-size:14px;font-variant-numeric:tabular-nums;color:#c1d6d5;}
#g-clock-controls{display:flex;gap:6px;align-items:center;}
.builder-ui #run-toggle{min-width:83px;min-height:44px;border:2px solid #345d4d;border-radius:8px;font-size:15px;font-weight:900;color:#1f4a36;background:linear-gradient(#cee995,#a0cb68 55%,#84b357);box-shadow:inset 0 2px #e6f5c2,0 3px #355a3a;text-shadow:0 1px #d9edb1;}
.builder-ui.simulation-running #run-toggle{background:linear-gradient(#fce0a0,#eeb86a);color:#59412a;border-color:#866039;box-shadow:inset 0 2px #fff0c3,0 3px #644629;}
.builder-ui #run-speed{width:56px;min-height:44px;background:#1d394b;color:#d9edf0;border:1px solid #628091;border-radius:8px;font-size:14px;font-weight:750;padding:0 5px;}
.g-wallet{position:absolute;top:18px;right:23px;display:grid;gap:8px;width:225px;}
.g-resource{display:flex;align-items:center;gap:9px;position:relative;min-height:48px;border:3px solid #173445;border-radius:12px;background:linear-gradient(#305269,#233f52);box-shadow:inset 0 2px #64818a,0 3px #163245;color:#fff7df;padding:2px 12px 3px 58px;text-align:right;}
.g-resource>span:first-child{position:absolute;left:-6px;top:-9px;}.g-resource .g-glyph{width:58px;height:58px;}.g-resource>span:last-child{flex:1;}.g-resource small{display:block;font-size:8px;letter-spacing:.1em;color:#c2d7dc;line-height:1.1;}.g-resource b{font-size:22px;line-height:1.2;text-shadow:0 2px #122c3d;font-variant-numeric:tabular-nums;}.g-resource.materials b{color:#ffe1b1;}.g-resource.science b{color:#b5f4e3;}
.g-quest{position:absolute;top:122px;left:23px;width:254px;display:flex;align-items:center;gap:8px;background:linear-gradient(#f3edce,#d9d6b8);border:3px solid #385542;border-radius:12px;box-shadow:inset 0 2px #fff8dc,0 4px #274431,0 7px 18px #0d301633;color:#244334;padding:10px 10px 9px 5px;text-align:left;}
.g-quest .g-glyph{width:45px;height:51px;}.g-quest>span:nth-child(2){flex:1;}.g-quest small{font-size:8px;letter-spacing:.08em;color:#667453;display:block;font-weight:800;}.g-quest strong{display:block;font-size:16px;line-height:1.2;margin:4px 0;}.g-quest #g-quest-detail{display:block;font-size:10px;color:#617357;}.g-next{font-size:27px;font-weight:500;color:#657c4d;}.g-quest-meter{height:6px;display:block;background:#a5b394;border:1px solid #93a087;border-radius:5px;margin-top:6px;overflow:hidden;}.g-quest-meter i{display:block;height:100%;background:linear-gradient(#88b765,#5a9351);border-radius:5px;transition:width .35s;}
.g-crew{position:absolute;left:26px;top:245px;display:flex;align-items:center;gap:4px;padding:2px 15px 3px 2px;border:2px solid #173445;border-radius:10px;background:linear-gradient(#365364,#243f50);box-shadow:inset 0 1px #718998,0 3px #153143;color:#e3ede1;text-align:left;min-height:48px;}
.g-crew .g-glyph{width:41px;height:43px;margin-top:-9px;}.g-crew small{display:block;font-size:8px;color:#b8cace;letter-spacing:.05em;}.g-crew b{display:block;font-size:15px;}.g-pip{position:absolute;right:-10px;top:-11px;border-radius:9px;min-width:25px;height:24px;display:grid;place-items:center;font-weight:850;font-size:13px;background:#ebad53;color:#4a391b;border:2px solid #f6d697;box-shadow:0 2px #684d24;}
.g-world-status{position:absolute;top:94px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:7px;background:#214239ce;border:1px solid #71997f;border-radius:20px;color:#e3f0d9;padding:5px 13px;min-height:44px;font-size:11px;text-shadow:0 1px #213d29;}
.g-world-status i{height:7px;width:7px;background:#a6d58a;border-radius:50%;box-shadow:0 0 0 3px #94c58d22;}.g-world-status.warning{background:#674d2ae8;border-color:#e8b86b;color:#ffecd0;}.g-world-status.warning i{background:#f2be6f;}
.g-main{position:absolute;inset:0;pointer-events:none;}
.g-anchor{position:absolute;bottom:25px;min-width:156px;height:119px;display:flex;align-items:center;justify-content:flex-end;flex-direction:column;padding:5px 12px 11px;border:3px solid #304e43;border-radius:15px;box-shadow:inset 0 3px #dcf3d7,0 6px #214338,0 11px 22px #09241d44;transition:transform .12s,filter .12s;color:#fffdf1;}
.g-anchor .g-glyph{position:absolute;top:-27px;width:74px;height:74px;filter:drop-shadow(0 3px 1px #173a4788);}.g-anchor strong{font-size:22px;letter-spacing:.015em;text-shadow:0 2px #244531,1px 0 #244531,-1px 0 #244531;font-weight:950;}.g-anchor small{font-size:9px;font-weight:700;margin-top:3px;opacity:.87;}.g-anchor:hover{filter:brightness(1.08);transform:translateY(-2px);}.g-anchor:active{transform:translateY(3px);box-shadow:inset 0 2px #fff3,0 3px #173c3a;}
.g-contracts{left:26px;background:linear-gradient(#99c9af,#549a82 48%,#3a806b);color:#efffee;}
.g-build{right:26px;background:linear-gradient(#ffdfa0,#efb760 48%,#da9946);border-color:#664629;box-shadow:inset 0 3px #fff0c3,0 6px #66462b,0 11px 22px #09241d44;color:#fff9d4;min-width:164px;}
.g-build strong{text-shadow:0 2px #805322,1px 0 #805322,-1px 0 #805322;font-size:27px;}.g-build small{color:#724f28;text-shadow:0 1px #fbe2ac;}.g-build .g-glyph{width:87px;height:87px;top:-33px;}
.g-action-count{position:absolute;right:-11px;top:-8px;border:2px solid #e6f2df;border-radius:13px;background:#e58c51;min-width:28px;padding:1px 5px;font-weight:900;font-size:15px;color:#fff7df;box-shadow:0 2px #5e4532;}
.g-islands{position:absolute;bottom:31px;left:50%;transform:translateX(-50%);display:flex;gap:20px;align-items:flex-end;}
.g-island{position:relative;display:flex;align-items:center;flex-direction:column;justify-content:center;width:77px;height:71px;padding:6px;border-radius:13px;background:linear-gradient(#567988,#2c5063);border:3px solid #17384b;box-shadow:inset 0 2px #94b6bd,0 5px #173447;transition:transform .12s;}
.g-island .g-glyph{width:49px;height:49px;transform:translateY(-6px);}.g-island>span{font-size:12px;position:absolute;bottom:-21px;white-space:nowrap;color:#f0f6e5;text-shadow:0 2px 2px #123824;font-weight:800;}.g-island:hover{transform:translateY(-3px);}.g-island.research{background:linear-gradient(#609e97,#327b76);border-color:#234f53;box-shadow:inset 0 2px #a1d4bf,0 5px #21454b;}
.g-dot{position:absolute;right:-5px;top:-5px;width:14px;height:14px;border-radius:50%;background:#f4c462;border:2px solid #ffead5;box-shadow:0 2px #65532c;}
.g-settings{position:absolute;left:25px;bottom:185px;display:flex;gap:9px;}.g-small{width:45px;height:45px;display:grid;place-items:center;background:linear-gradient(#597684,#345369);border:2px solid #1b3a4e;border-radius:10px;box-shadow:inset 0 1px #91a8b1,0 3px #15384a;padding:4px;}.g-small .g-glyph{width:32px;height:32px;}
.builder-ui.focus-ui .hud-mapcontrols{z-index:15;right:27px;left:auto;top:auto;bottom:186px;display:grid;grid-template-columns:repeat(2,42px);gap:7px;}
.builder-ui.focus-ui .mapbtn{border:2px solid #1b3b48;width:42px;height:43px;border-radius:9px;background:linear-gradient(#567782,#314e60);box-shadow:inset 0 1px #8ea6ad,0 3px #173647;color:#e5ece0;}
.builder-ui.focus-ui .mapbtn svg{width:22px;height:22px;}.builder-ui.focus-ui .mapbtn.active{background:linear-gradient(#d6d5a0,#a4b674);color:#2e4c36;}
.g-map-caption{position:absolute;bottom:6px;left:50%;transform:translateX(-50%);display:none;color:#e1e5d5;text-shadow:0 1px #214730;font-size:8px;letter-spacing:.12em;}
/* Non-modal construction / contracts tray. The map remains behind and outside it. */
.g-panel{position:absolute;left:50%;bottom:150px;transform:translateX(-50%);width:min(1060px,calc(100% - 90px));max-height:calc(100% - 270px);display:flex;flex-direction:column;border:4px solid #243e50;border-radius:18px;background:#eaf0df;box-shadow:inset 0 2px #fff,0 6px #203647,0 14px 35px #0e322966;color:var(--game-ink);overflow:hidden;z-index:22;}
.g-panel-head{display:flex;align-items:center;gap:12px;flex:none;min-height:76px;background:linear-gradient(#4d7283,#365c6e);border-bottom:3px solid #284455;padding:9px 15px;color:#fff9e7;box-shadow:inset 0 2px #8aa4ae;}
.g-panel-head>.g-glyph,.g-panel-head>span>.g-glyph{width:49px;height:49px;}.g-panel-head h2{font-size:24px;line-height:1.05;letter-spacing:.035em;text-shadow:0 2px #1e4055;margin:4px 0 0;font-weight:950;}.g-panel-head small{font-size:10px;letter-spacing:.02em;color:#c7dfde;}
.g-close{margin-left:auto;display:grid;place-items:center;width:44px;height:44px;background:linear-gradient(#dc8d71,#b85a48);border:2px solid #704137;border-radius:10px;box-shadow:inset 0 2px #f9ba98,0 3px #68423b;flex:none;padding:4px;}.g-close .g-glyph{width:29px;height:29px;}
.g-panel-content{padding:18px 20px 24px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#749086 #dae3d4;min-height:0;}
.g-menu-open .g-quest,.g-menu-open .g-crew,.g-menu-open .g-world-status,.g-menu-open .g-settings{visibility:hidden;}
.g-menu-open .g-islands{visibility:hidden;}
.g-menu-open .g-anchor{height:87px;bottom:23px;}.g-menu-open .g-anchor .g-glyph{width:60px;height:60px;top:-16px;}.g-menu-open .g-anchor strong{font-size:21px;}.g-menu-open .g-anchor small{display:none;}
.g-menu-open .hud-mapcontrols{visibility:hidden;}
.g-tabs{display:flex;gap:6px;margin-bottom:14px;background:#c9d4c7;padding:5px;border:1px solid #a7b9ad;border-radius:12px;}.g-tab{flex:1;min-height:40px;background:transparent;border:0;border-radius:8px;color:#597066;font-size:13px;font-weight:800;padding:7px 12px;}.g-tab.active{background:linear-gradient(#ffffff,#eaf0d9);box-shadow:0 2px 3px #61736944;color:#315747;}
.g-categories{display:flex;gap:8px;margin:5px 0 18px;overflow-x:auto;padding:2px 0 4px;}.g-cat{display:flex;align-items:center;gap:4px;background:#dce5d6;border:1px solid #b1c0b0;min-height:40px;padding:3px 11px 3px 6px;border-radius:9px;color:#5b7065;font-weight:750;white-space:nowrap;}.g-cat .g-glyph{width:29px;height:29px;}.g-cat.active{background:linear-gradient(#d6e3b8,#b5cd92);border-color:#709156;color:#315334;box-shadow:inset 0 1px #effad9;}
.g-build-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
.g-building-card{position:relative;min-width:0;display:flex;flex-direction:column;align-items:center;background:linear-gradient(#fcf8e9,#e6ead8);border:2px solid #b2bdab;border-bottom:4px solid #829e87;border-radius:13px;color:#254255;padding:12px 10px 10px;box-shadow:inset 0 2px #fff;transition:transform .12s,border-color .12s;text-align:center;}
.g-building-card:hover{transform:translateY(-3px);border-color:#3c8e7b;}.g-building-card .g-model{height:126px;width:100%;margin:11px 0 0;}.g-building-card strong{font-size:15px;line-height:1.2;margin:3px 0 6px;}.g-card-benefit{font-size:11px;color:#617762;line-height:1.25;min-height:15px;}.g-card-cost{font-size:15px;background:#d0ddab;box-shadow:inset 0 1px #e9f2d3;border:1px solid #b1c184;border-radius:7px;color:#35522b;align-self:stretch;padding:6px 4px;margin-top:10px;}.g-footprint{font-size:9px;color:#789085;margin-top:6px;}.g-building-card.locked{background:#dce1d6;border-color:#aebdad;}.g-building-card.locked .g-model{opacity:.7;filter:saturate(.25);}.g-building-card.locked .g-card-cost{background:#cbd3c5;color:#6d7d6a;border-color:#acb8a6;font-size:12px;}
.g-badge{display:inline-flex;align-items:center;justify-content:center;background:#d9e1d5;color:#697d6a;min-height:21px;padding:3px 7px;border-radius:5px;font-size:9px;font-weight:850;letter-spacing:.035em;white-space:normal;line-height:1.2;}.g-building-card>.g-badge{position:absolute;top:9px;left:10px;font-size:8px;}.g-badge.blue{background:#d2e4e9;color:#45687b;}.g-badge.green{background:#d3e7bd;color:#4b6e35;}.g-badge.orange{background:#f6debb;color:#8c6138;}
.g-model{display:block;width:100%;height:140px;pointer-events:none;}.g-check-row{display:flex;align-items:center;gap:10px;margin-top:20px;padding:12px 14px;background:#dce4d5;border:1px solid #b7c5b1;border-radius:9px;color:#4f6c57;flex-wrap:wrap;}.g-check-row input{appearance:auto;accent-color:#44866e;width:20px;height:20px;flex:none;}.g-check-row span{font-size:12px;font-weight:800;}.g-check-row small{font-size:11px;color:#627b68;}
.g-section-heading{margin:4px 0 18px;}.g-section-heading h3{font-size:20px;color:#315242;line-height:1.3;}.g-section-heading p{font-size:12px;color:#6a7e6d;margin-top:5px;line-height:1.5;}
.g-button{min-height:42px;padding:8px 15px;background:linear-gradient(#60899a,#416c81);border:2px solid #355568;border-radius:8px;box-shadow:inset 0 1px #92b3bd,0 3px #2d4e5f;color:#f4f8f1;font-size:12px;font-weight:800;line-height:1.25;transition:filter .12s,transform .12s;}
.g-button:hover:not(:disabled){filter:brightness(1.08);}.g-button:active:not(:disabled){transform:translateY(2px);box-shadow:inset 0 1px #fff3,0 1px #3b5961;}.g-button.green{background:linear-gradient(#bedc84,#91bb5f);border-color:#628748;box-shadow:inset 0 1px #e3f4b9,0 3px #57733e;color:#345329;}.g-button.pale{background:linear-gradient(#f0f2e5,#d2ded0);border-color:#a1b2a2;box-shadow:inset 0 1px #fff,0 3px #829b87;color:#4d6a58;}.g-button.amber{background:linear-gradient(#f9d68f,#deb16a);border-color:#b38a4f;color:#674f2a;box-shadow:inset 0 1px #ffedbc,0 3px #997844;}
.g-note{font-size:12px;line-height:1.6;color:#637e6d;margin:9px 0 14px;}.g-inline{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 5px;}.g-board-banner{display:flex;align-items:center;gap:14px;margin-bottom:20px;background:#d8e7da;border:1px solid #b4cdbb;border-radius:12px;padding:10px 16px;flex-wrap:wrap;}.g-board-banner .g-glyph{width:43px;height:43px;}.g-board-banner b{font-size:18px;color:#38634e;}.g-board-banner span{font-size:12px;color:#68856e;}.g-board-banner small{font-size:10px;color:#69816c;margin-left:auto;}
.g-contract-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}.g-contract-card{position:relative;display:flex;flex-direction:column;align-items:center;min-width:0;padding:0 18px 16px;border-radius:13px;background:#fff9e9;border:2px solid #c0c6ae;border-bottom:4px solid #95ad91;overflow:hidden;text-align:center;}.g-contract-art{width:calc(100% + 36px);background:linear-gradient(#cbdfe0,#e1eee4);height:88px;display:flex;align-items:center;justify-content:center;gap:12px;border-bottom:1px solid #bcd2cb;margin-bottom:14px;}.g-contract-art .g-glyph{width:67px;height:67px;}.g-contract-art .g-badge{background:#f1faedaa;}.g-contract-card.training .g-contract-art{background:linear-gradient(#dedbed,#eee6e5);}.g-client{font-size:9px;letter-spacing:.01em;color:#7e8e7a;}.g-contract-card h3{font-size:20px;line-height:1.2;margin:6px 0;color:#355643;font-weight:850;}.g-contract-payout{font-size:23px;color:#a47832;text-shadow:0 1px #fff;margin:4px 0;}.g-contract-brief{font-size:11px;color:#728272;line-height:1.5;margin:8px 0 12px;flex:1;}.g-contract-facts{display:flex;justify-content:space-between;gap:10px;align-self:stretch;font-size:10px;border-top:1px solid #d9decc;padding:10px 0;color:#5c7b68;}.g-contract-card .g-button{width:100%;}.g-bond{color:#7d8f75;margin-top:9px;font-size:10px;}.g-contract-card.locked{background:#e5e9db;border-color:#bbc7b5;}.g-contract-card.locked .g-contract-art{filter:saturate(.3);opacity:.7;}
.g-active-jobs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:22px;}.g-running-job{border:2px solid #a8c2b3;border-radius:12px;padding:14px;background:#f5f9ea;}.g-running-job h3{font-size:18px;margin:7px 0;color:#345a44;}.g-job-time{font-size:12px;color:#a2773b;}.g-progress{height:12px;border:1px solid #adc0a6;border-radius:7px;background:#cddabf;overflow:hidden;margin-top:12px;box-shadow:inset 0 1px 2px #647b6233;}.g-progress i{height:100%;display:block;border-radius:6px;background:linear-gradient(#92cdb6,#4b9d83);transition:width .35s;}.g-history{margin-top:25px;color:#597661;font-size:12px;}.g-history summary{min-height:36px;cursor:pointer;}.g-history p{margin:8px 0;}
.g-research-tree{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;position:relative;margin-bottom:20px;}.g-tech-node{background:#fbfaec;border:2px solid #b3c7b2;border-bottom:4px solid #91aa91;border-radius:12px;padding:17px 14px;position:relative;display:flex;flex-direction:column;}.g-tech-node:not(:last-child)::after{content:'\203a';position:absolute;right:-21px;top:43%;font-size:32px;color:#749879;}.g-tech-node h3{font-size:20px;color:#385b45;margin:12px 0 5px;line-height:1.2;}.g-tech-node .g-note{flex:1;}.g-tech-node.ready{border-color:#80a95c;box-shadow:0 0 0 3px #bfdaa966;}.g-tech-node.complete{background:#e1edcf;}.g-unlocks{display:flex;gap:3px;margin:3px -9px 18px;}.g-unlocks>div{flex:1;min-width:0;text-align:center;}.g-unlocks .g-model{height:80px;}.g-unlocks small{font-size:9px;line-height:1.2;display:block;color:#708a74;}
.g-journey-summary{display:flex;align-items:center;flex-wrap:wrap;gap:15px;color:#4c734e;margin:4px 0 22px;}.g-journey-summary b{font-size:21px;}.g-journey-summary>span{font-size:11px;}.g-journey-path{max-width:720px;margin:0 auto 20px;}.g-journey-step{display:flex;gap:18px;padding-bottom:24px;position:relative;}.g-journey-step:not(:last-child)::before{content:'';position:absolute;width:4px;top:57px;bottom:0;left:29px;background:#bad0b1;}.g-step-emblem{height:62px;width:62px;display:grid;place-items:center;flex:none;background:linear-gradient(#e7ede3,#c7d6c5);border:2px solid #95b199;box-shadow:inset 0 2px #fff,0 3px #789383;border-radius:16px;}.g-step-emblem .g-glyph{width:44px;height:44px;}.g-journey-step.complete .g-step-emblem{background:linear-gradient(#a7ca83,#6d9e64);border-color:#5c8856;}.g-journey-step.current .g-step-emblem{background:linear-gradient(#f8da98,#d3ad6b);border-color:#b69555;}.g-journey-step h3{font-size:20px;color:#466846;margin:5px 0;}.g-journey-step small{font-size:9px;color:#8b9d80;letter-spacing:.04em;}.g-journey-step .g-note{margin:5px 0 10px;}
.g-system-chain{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-bottom:25px;}.g-flow-node{position:relative;padding:13px 12px;border:2px solid #b1c7b2;border-radius:12px;background:#f7f9eb;text-align:center;}.g-flow-node>.g-glyph{margin:0 auto 8px;}.g-flow-node:not(:last-child)::after{content:'\279c';position:absolute;right:-21px;top:50px;font-size:20px;color:#6d9473;}.g-flow-node h3{font-size:17px;color:#527451;}.g-flow-node>b{font-size:22px;color:#456c4a;margin:8px 0 2px;display:block;}.g-flow-node>small{display:block;font-size:9px;color:#8a9a7c;}.g-flow-node .g-button{margin-top:14px;min-height:36px;padding:5px 8px;font-size:10px;}
.g-fix-row{display:flex;align-items:center;gap:14px;padding:12px;border:1px solid #d4b686;background:#f0dfbc;border-radius:10px;margin-bottom:16px;}.g-fix-row p{font-size:12px;line-height:1.5;flex:1;color:#80653b;}.g-reserve-row{display:flex;gap:14px;align-items:center;padding:15px;border:1px solid #c5d3b6;border-radius:10px;background:#e2eacb;flex-wrap:wrap;margin-bottom:18px;}.g-reserve-row b{font-size:16px;color:#718547;}.g-reserve-row>span{font-size:11px;color:#7f9161;}
.g-work-item{display:flex;gap:20px;align-items:center;border:2px solid #c0ceb7;border-radius:12px;background:#f6f7e7;padding:15px;margin-bottom:16px;}.g-work-item>.g-model{width:170px;height:132px;flex:none;}.g-work-copy{flex:1;}.g-work-copy h3{font-size:19px;color:#4a6b4b;margin:7px 0;}.g-work-copy>b{font-size:13px;color:#7b8d6b;}.g-empty{padding:35px;text-align:center;background:#e1ead7;border-radius:14px;margin-bottom:20px;color:#7b9274;font-size:14px;}
.g-campus-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:24px;}.g-campus-card{padding:10px;background:linear-gradient(#fcf8e9,#e7edda);border:2px solid #b6c7b0;border-bottom:4px solid #90aa91;border-radius:12px;color:#446546;display:flex;align-items:center;flex-direction:column;}.g-campus-card .g-model{height:115px;}.g-campus-card strong{font-size:14px;}.g-campus-card small{font-size:10px;color:#84957b;margin-top:5px;}
.g-store-stats{display:flex;gap:18px;margin:7px 0 22px;}.g-store-stats>div{flex:1;padding:16px 12px;display:flex;align-items:center;flex-direction:column;background:#f6f6e5;border:2px solid #b8c7ac;border-radius:13px;}.g-store-stats strong{font-size:28px;color:#5a774d;margin:8px 0 3px;}.g-store-stats small{font-size:11px;color:#819773;}.g-link-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:10px;}.g-link-card{display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px 12px;border:2px solid #acc2ac;border-bottom:4px solid #8aa58d;border-radius:12px;background:#f6f7e8;color:#52754e;}.g-link-card strong{font-size:15px;}.g-link-card>span{font-size:11px;color:#849779;}
/* Selection actions sit close to the player, not in a persistent management drawer. */
.g-selection{position:absolute;bottom:33px;left:50%;transform:translateX(-50%);width:min(630px,calc(100% - 430px));z-index:19;}
.g-selection-title{display:flex;align-items:center;gap:10px;position:relative;min-height:39px;padding:5px 12px 5px 14px;background:#234137ee;border:2px solid #6a9372;border-radius:12px 12px 0 0;box-shadow:0 3px #173b36;color:#f3f9e5;}.g-selection-title>strong{font-size:17px;text-shadow:0 2px #204732;}.g-selection-title>small{font-size:11px;color:#bfd3b6;}.g-selection-title .g-badge{background:#aac99c;color:#315436;font-size:9px;}.g-selection-close{margin-left:auto;padding:0;width:29px;height:29px;background:none;border:0;flex:none;}.g-selection-close .g-glyph{width:22px;height:22px;}
.g-selection-actions{display:flex;gap:9px;padding:8px 12px 10px;background:linear-gradient(#3c6471,#254754);border:3px solid #193848;border-radius:0 0 13px 13px;box-shadow:inset 0 1px #6f9299,0 5px #193346,0 6px 20px #10302544;}
.g-selection-action{position:relative;display:flex;align-items:center;justify-content:center;gap:6px;flex:1;padding:7px 9px;border:2px solid #668e92;border-radius:9px;background:linear-gradient(#719ba4,#457b8a);box-shadow:inset 0 1px #a7c9cb,0 3px #315868;color:#edfaef;min-height:58px;}.g-selection-action>.g-glyph{width:39px;height:39px;}.g-selection-action>b{font-size:13px;}.g-selection-action>small{font-size:9px;color:#49633b;}.g-selection-action.upgrade{flex:1.8;flex-wrap:wrap;column-gap:5px;background:linear-gradient(#c6df91,#94bd65);border-color:#5e8949;box-shadow:inset 0 1px #e8f5c0,0 3px #3e663c;color:#345328;}.g-selection-action.upgrade>.g-glyph{width:45px;height:45px;grid-row:span 2;}.g-selection-action.upgrade>small{max-width:105px;line-height:1.25;}.g-building-selected .g-islands{visibility:hidden;}
.g-placement{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);width:min(760px,calc(100% - 425px));display:flex;align-items:center;gap:10px;background:linear-gradient(#f3f1d6,#d5ddbf);border:3px solid #496847;border-radius:13px;box-shadow:inset 0 2px #fffbe1,0 5px #2d4c35;padding:10px 12px;color:#3d5c3b;z-index:21;}
.g-place-copy{flex:1;min-width:0;}.g-place-copy>strong{display:block;font-size:17px;line-height:1.2;}.g-place-copy>small{display:block;font-size:10px;line-height:1.4;margin-top:4px;color:#728765;}.g-place-copy .g-error{color:#a34c34;}.g-place-inputs{display:flex;gap:5px;margin-top:7px;}.g-place-inputs .g-badge{font-size:9px;padding:3px 5px;}.g-place-yes,.g-place-no{width:48px;height:49px;border:2px solid #4a793f;border-radius:10px;background:linear-gradient(#bde185,#84b567);box-shadow:inset 0 1px #e2f3bb,0 3px #457139;flex:none;padding:7px;}.g-place-yes .g-glyph,.g-place-no .g-glyph{width:29px;height:29px;}.g-place-no{background:linear-gradient(#e39b80,#bf7059);border-color:#97634d;box-shadow:inset 0 1px #f7c6a9,0 3px #83533d;}.g-repeat{position:absolute;bottom:-24px;left:12px;display:flex;align-items:center;gap:6px;color:#e3eccf;text-shadow:0 1px #244c30;font-size:10px;}.g-repeat input{appearance:auto;width:15px;height:15px;accent-color:#8bbb6f;}.g-nudges{display:grid;grid-template-columns:repeat(2,30px);gap:3px;}.g-nudge{width:30px;height:28px;background:#d0ddbc;border:1px solid #9faf8c;border-radius:5px;color:#5c7650;font-size:19px;}.g-placing .g-islands{visibility:hidden;}.g-placing .g-quest,.g-placing .g-crew{visibility:hidden;}
/* True engine-state markers, anchored to projected building coordinates. */
.g-markers{position:absolute;inset:0;pointer-events:none;z-index:5;}.g-world-cue{position:absolute;left:0;top:0;display:flex;align-items:center;gap:2px;min-width:61px;min-height:39px;background:linear-gradient(#f4f9e7,#d9e7c9);border:2px solid #4b7952;box-shadow:inset 0 1px #fff,0 3px #31573a,0 5px 10px #28433366;border-radius:10px;padding:3px 8px 3px 4px;color:#3b653e;will-change:transform;}
.g-world-cue::after{content:'';position:absolute;bottom:-8px;left:calc(50% - 6px);width:10px;height:10px;transform:rotate(45deg);background:#d9e7c9;border-bottom:2px solid #4b7952;border-right:2px solid #4b7952;z-index:-1;}.g-world-cue .g-glyph{width:28px;height:28px;}.g-world-cue b{font-size:11px;white-space:nowrap;}.g-world-cue.job{background:linear-gradient(#e6e0f3,#c4b7dd);border-color:#736195;color:#564575;}.g-world-cue.job::after{background:#c4b7dd;border-color:#736195;}.g-world-cue.issue{background:linear-gradient(#ffedbd,#ecc589);border-color:#bc8953;color:#8c6036;}.g-world-cue.issue::after{background:#ecc589;border-color:#bc8953;}.g-world-cue.working,.g-world-cue.delivery{background:linear-gradient(#f5e3bb,#dfc89f);border-color:#97805e;color:#715937;}.g-world-cue.working::after,.g-world-cue.delivery::after{background:#dfc89f;border-color:#97805e;}
.g-reward{position:absolute;z-index:31;left:50%;top:139px;transform:translateX(-50%);display:flex;gap:12px;align-items:center;width:368px;max-width:calc(100% - 24px);background:linear-gradient(#fff1c7,#e8d5a1);border:3px solid #b58a45;box-shadow:inset 0 2px #fff7dc,0 5px #725435,0 12px 24px #28412d55;border-radius:14px;padding:16px 20px 16px 12px;color:#735530;}.g-reward.pop{animation:g-prize .4s ease-out;}.g-reward .g-glyph{width:62px;height:62px;}.g-reward small{font-size:8px;letter-spacing:.1em;color:#a88043;font-weight:800;}.g-reward strong{font-size:23px;display:block;margin:4px 0;line-height:1.1;color:#755c32;}.g-reward b{font-size:12px;color:#857341;}.g-reward-dismiss{position:absolute;top:1px;right:5px;width:29px;height:29px;border:0;background:none;color:#967a4f;font-size:23px;}
@keyframes g-prize{0%{transform:translateX(-50%) translateY(-22px) scale(.92);opacity:0;}70%{transform:translateX(-50%) translateY(2px) scale(1.025);}100%{transform:translateX(-50%);opacity:1;}}
/* Existing, fully functional advanced surfaces are now secondary game windows. */
.builder-ui .f-drawer{right:24px;top:95px;bottom:156px;width:415px;background:#eaf0df;border:3px solid #345569;border-bottom:6px solid #203d4f;border-radius:14px;color:#355541;box-shadow:0 10px 25px #173e3655;}
.builder-ui .f-drawer-head{background:linear-gradient(#4f7888,#355e74);border-bottom:2px solid #294e60;padding:15px 17px;color:#f6f7e9;}.builder-ui .f-drawer-head h2{font-weight:850;font-size:22px;}.builder-ui .f-drawer-head .f-eyebrow{color:#c7dedf;}.builder-ui .f-drawer-head .f-icon{border-color:#9a6251;background:linear-gradient(#d59477,#b66a55);color:#fff8ea;width:36px;min-height:36px;}.builder-ui .f-view{padding:17px;}.builder-ui .f-drawer-body{scrollbar-color:#95b6a0 #d5dfcf;}
.builder-ui .f-intro,.builder-ui .f-note,.builder-ui .f-details{color:#617966;}.builder-ui .f-eyebrow{color:#809278;}.builder-ui .f-big-number,.builder-ui .f-section-title{color:#466940;}.builder-ui .f-warning{background:#f3e0bc;border-color:#d3b276;color:#8a6736;}.builder-ui .f-button{font-size:12px;border:2px solid #a2bda0;background:linear-gradient(#f8f8eb,#d7e3cf);color:#58734d;border-radius:8px;box-shadow:inset 0 1px #fff,0 2px #90a987;font-weight:750;}.builder-ui .f-button.primary{background:linear-gradient(#c5df91,#93bc64);border-color:#739653;color:#39532b;box-shadow:inset 0 1px #e1f0b7,0 2px #587644;}.builder-ui .f-button:hover:not(:disabled){filter:brightness(1.05);background:#d9e7ca;}.builder-ui .f-button.primary:hover:not(:disabled){background:#b8d884;}
.builder-ui .f-building-hero{background:radial-gradient(ellipse at center,#a6c5b7,#789da0);border:1px solid #98b8a9;}.builder-ui .f-model-tag{color:#edfae7;}.builder-ui .f-status-tag{color:#e3f8d8;}.builder-ui .f-facility-facts>div,.builder-ui .f-upgrade-card,.builder-ui .f-confirm-facts>div,.builder-ui .f-system-row,.builder-ui .f-reserve{background:#e2eacb;border-color:#b8cdaa;color:#4e733f;}.builder-ui .f-facility-facts small,.builder-ui .f-confirm-facts small,.builder-ui .f-system-row small{color:#7b936f;}.builder-ui .f-facility-facts strong,.builder-ui .f-confirm-facts b,.builder-ui .f-reserve strong{color:#4d7042;}.builder-ui .f-input-row{color:#658658;border-color:#c1d2b3;}.builder-ui .f-input-row.warning{color:#b4844e;}.builder-ui .f-details{border-color:#bdcfb2;}.builder-ui .f-details summary{font-weight:750;}.builder-ui .f-upgrade-rating{color:#769844;}
.builder-ui .f-toggle{border-color:#bed1b5;background:#dee9d6;color:#517246;}.builder-ui .f-toggle small,.builder-ui .f-toggle b{color:#648054;}.builder-ui .f-session-steps{margin:18px 0;}.builder-ui #f-save-controls .btn{background:#436a7b;color:#eef5e6;border-color:#729295;border-radius:7px;min-height:42px;}.builder-ui .f-work-card{background:#f5f4df;border-color:#adc7a4;color:#4e6d44;}.builder-ui .f-work-live{color:#3d805c;background:#d9eccc;}.builder-ui .f-work-live.offline{background:#f4dfb7;color:#986e41;}.builder-ui .f-work-steps span{color:#79936c;border-color:#bacfb0;}.builder-ui .f-work-steps .current{color:#566a2f;background:#e9e9b5;}.builder-ui .f-window-field>span,.builder-ui .f-kit-count span{color:#729167;}.builder-ui .f-window-field select{background:#f3f6e4;border-color:#a8b9a1;color:#5d784b;}.builder-ui .f-work-time,.builder-ui .f-kit-count b{color:#527644;}
.builder-ui .f-confirm{width:640px;max-width:calc(100vw - 26px);max-height:calc(100dvh - 45px);overflow:auto;background:#f0f1dd;color:#365344;border:4px solid #365367;border-bottom:7px solid #203b4e;border-radius:18px;box-shadow:inset 0 2px #fff,0 25px 70px #143f3977;padding:24px;scrollbar-color:#99b58d #d5e0c9;}.builder-ui .f-confirm::backdrop{background:#12373388;backdrop-filter:none;}.builder-ui .f-confirm h2{font-size:26px;line-height:1.2;color:#3f634d;font-weight:850;}.builder-ui .f-confirm .f-confirm-actions{padding-top:17px;border-color:#c3d5b6;}.builder-ui .f-confirm .f-confirm-actions .f-button{font-size:13px;min-height:44px;}.builder-ui .f-forecast-result{background:#d7e9c1;border-color:#a0bf87;color:#4c763f;}.builder-ui .f-forecast-result.warning{background:#f2dfb6;color:#916c41;border-color:#d3b981;}.builder-ui .f-forecast-assumption{color:#899d7a;}
.g-upgrade-models{display:flex;align-items:center;justify-content:center;gap:15px;margin:16px 0 20px;padding:5px 12px 12px;border-radius:13px;background:radial-gradient(ellipse,#cbdccd,#aac8bc);border:1px solid #9ebbab;}.g-upgrade-models>div{flex:1;min-width:0;text-align:center;}.g-upgrade-models .g-model{height:138px;}.g-upgrade-models b{color:#526f48;font-size:12px;letter-spacing:.04em;}.g-model-arrow{color:#f5f4d0;font-size:40px;text-shadow:0 2px #60896b;}
.builder-ui .toast{top:auto;height:auto;bottom:174px;background:#f6efd5;border:2px solid #9db187;border-radius:12px;box-shadow:0 4px #546f4a;color:#4a6a41;font-size:12px;max-width:min(440px,calc(100% - 28px));z-index:45;}.builder-ui .toast.err{background:#f8e1c7;color:#9f5e3c;border-color:#c79462;}
.builder-ui .shift-briefing{top:50%;left:8%;transform:translateY(-50%);width:min(440px,calc(100% - 48px));background:linear-gradient(#fff8dc,#dfe8ca);border:4px solid #456343;border-bottom:7px solid #2e4a35;border-radius:18px;padding:30px;max-height:calc(100% - 90px);box-shadow:0 15px 45px #163c3244;color:#3f5d37;overflow:auto;}.builder-ui .shift-briefing h1{font-size:37px;line-height:1.1;font-weight:900;color:#34563d;}.builder-ui .shift-briefing p{color:#728966;font-size:13px;}.builder-ui .brief-kicker{color:#82965b;font-weight:850;}.builder-ui .brief-facts{border-color:#b7c7a3;color:#779063;}.builder-ui .brief-facts b{color:#5c7c45;}.builder-ui .brief-start{background:linear-gradient(#cbe498,#97bf6c);border:2px solid #779b53;border-bottom:4px solid #5a7e43;border-radius:9px;color:#36552b;font-weight:850;}.builder-ui .brief-blank{background:linear-gradient(#ecf2df,#cadabc);border:2px solid #a9bf98;border-bottom:3px solid #8ca576;border-radius:9px;color:#698553;}.builder-ui .shift-briefing small{color:#8ca278;}.g-not-started .g-main,.g-not-started .g-wallet,.g-not-started .g-quest,.g-not-started .g-crew,.g-not-started .g-world-status,.g-not-started .g-settings,.g-not-started .g-time{display:none;}.g-not-started .g-profile{pointer-events:none;}
@media(min-width:1500px){.g-build-grid{grid-template-columns:repeat(5,minmax(0,1fr));}.g-panel{width:min(1180px,calc(100% - 160px));}.g-profile{left:30px;top:28px;}.g-wallet{right:30px;top:26px;}}
@media(max-width:1100px) and (min-width:701px){.g-profile{left:16px;top:15px;gap:7px;padding-right:10px;min-height:65px;}.g-profile>span:last-child{min-width:119px;}.g-profile strong{font-size:13px;}.g-profile>span>small{font-size:8px;}.g-tier{width:43px;height:49px;}.g-tier b{font-size:23px;}.g-wallet{right:16px;top:15px;width:174px;gap:7px;}.g-resource{min-height:43px;padding-left:42px;}.g-resource .g-glyph{width:46px;height:46px;}.g-resource>span:first-child{top:-4px;}.g-resource b{font-size:18px;}.g-time{top:15px;gap:6px;padding:5px 6px;}.g-clock-text{min-width:48px;}.g-clock-text b{font-size:10px;}.builder-ui #run-toggle{min-width:65px;width:65px;font-size:13px;}.builder-ui #run-speed{width:48px;}.g-quest{left:17px;width:214px;top:110px;}.g-quest strong{font-size:14px;}.g-crew{left:20px;top:232px;}.g-anchor{min-width:134px;height:108px;left:18px;}.g-build{left:auto;right:18px;min-width:137px;}.g-anchor strong{font-size:19px;}.g-anchor small{font-size:8px;}.g-island{width:64px;height:63px;}.g-islands{gap:14px;}.g-selection{width:calc(100% - 320px);}.g-selection-title>small{display:none;}.g-selection-actions{padding:8px;gap:6px;}.g-selection-action{padding:5px;gap:4px;}.g-selection-action>b{font-size:12px;}.g-selection-action>.g-glyph{width:31px;height:31px;}.g-selection-action.upgrade{flex:1.5;}.g-selection-action.upgrade>.g-glyph{width:32px;height:32px;}.g-panel{width:calc(100% - 38px);max-height:calc(100% - 250px);bottom:144px;}.g-build-grid{grid-template-columns:repeat(3,minmax(0,1fr));}.g-placement{width:calc(100% - 335px);}.g-nudges{display:none;}.g-world-status{top:88px;}.g-panel-head h2{font-size:22px;}}
@media(max-width:700px){
 .g-profile{left:10px;top:max(11px,env(safe-area-inset-top));min-height:50px;padding:3px 8px 4px 4px;gap:6px;border-width:2px;border-radius:10px;box-shadow:inset 0 1px #6c909b,0 3px #16344a;}.g-tier{width:34px;height:41px;border-width:1px;}.g-tier small{font-size:7px;}.g-tier b{font-size:20px;}.g-profile>span:last-child{min-width:109px;}.g-profile>span>small{font-size:7px;letter-spacing:.035em;}.g-profile strong{font-size:12px;letter-spacing:0;margin-top:1px;}.g-profile-progress{margin-top:5px;height:6px;}
 .g-time{right:10px;left:auto;transform:none;top:max(11px,env(safe-area-inset-top));min-height:49px;padding:4px;gap:4px;border-width:2px;border-radius:10px;}.g-clock-text{min-width:33px;}.g-clock-text b{font-size:8px;letter-spacing:0;}.g-clock-text small{font-size:10px;}.builder-ui #run-toggle{width:52px;min-width:52px;min-height:37px;font-size:12px;border-radius:7px;}.builder-ui #run-speed{width:43px;min-height:37px;font-size:11px;padding:0 2px;border-radius:7px;}#g-clock-controls{gap:4px;}
 .g-wallet{top:80px;left:13px;right:11px;width:auto;display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:9px;}.g-resource{min-height:44px;border-width:2px;border-radius:9px;padding:3px 6px 4px 32px;box-shadow:inset 0 1px #748c93,0 3px #19374a;}.g-resource .g-glyph{width:40px;height:40px;}.g-resource>span:first-child{left:-6px;top:-1px;}.g-resource small{font-size:6px;letter-spacing:.025em;}.g-resource b{font-size:17px;}.g-resource.materials b,.g-resource.science b{font-size:17px;}
 .g-quest{top:146px;left:12px;width:204px;min-height:65px;padding:7px 8px 7px 3px;gap:5px;border-width:2px;border-radius:10px;box-shadow:inset 0 1px #fff9e3,0 3px #345239;}.g-quest .g-glyph{width:32px;height:40px;}.g-quest small{font-size:6px;letter-spacing:.03em;}.g-quest strong{font-size:12px;margin:2px 0 3px;}.g-quest #g-quest-detail{font-size:8px;}.g-quest-meter{height:5px;margin-top:4px;}.g-next{font-size:21px;}
 .g-crew{top:233px;left:13px;min-height:44px;padding:3px 8px 3px 0;box-shadow:inset 0 1px #758a92,0 2px #1a3d50;}.g-crew .g-glyph{width:32px;height:33px;margin-top:-4px;}.g-crew small{font-size:6px;}.g-crew b{font-size:12px;}.g-pip{font-size:10px;min-width:20px;height:20px;right:-9px;top:-8px;}
 .g-world-status{top:149px;left:auto;right:12px;transform:none;padding:4px 8px;max-width:143px;min-height:44px;gap:5px;font-size:8px;}.g-world-status i{width:5px;height:5px;box-shadow:none;}
 .g-anchor{bottom:max(21px,calc(env(safe-area-inset-bottom) + 13px));left:12px;min-width:109px;height:83px;border-width:2px;border-radius:12px;padding:5px 7px 7px;box-shadow:inset 0 2px #c8e5d3,0 4px #244a3e,0 7px 14px #193a3344;}.g-anchor .g-glyph{width:52px;height:52px;top:-21px;}.g-anchor strong{font-size:14px;}.g-anchor small{font-size:7px;max-width:95px;}.g-build{left:auto;right:12px;min-width:108px;box-shadow:inset 0 2px #fff1c4,0 4px #755131,0 7px 14px #193a3344;}.g-build .g-glyph{width:63px;height:63px;top:-26px;}.g-build strong{font-size:20px;}.g-action-count{right:-7px;top:-8px;min-width:22px;font-size:12px;padding:0 4px;}
 .g-islands{bottom:45px;gap:8px;}.g-island{width:47px;height:48px;border-width:2px;border-radius:10px;padding:4px;box-shadow:inset 0 1px #a1bec4,0 3px #1c4153;}.g-island .g-glyph{width:35px;height:35px;transform:translateY(-3px);}.g-island>span{bottom:-17px;font-size:9px;}.g-island.world{display:none;}.g-dot{width:10px;height:10px;right:-4px;top:-4px;}
 .g-settings{left:13px;bottom:140px;gap:7px;}.g-small{width:35px;height:37px;border-width:2px;border-radius:8px;padding:3px;}.g-small .g-glyph{width:25px;height:25px;}
 .builder-ui.focus-ui .hud-mapcontrols{right:14px;left:auto;bottom:144px;grid-template-columns:repeat(2,35px);gap:6px;}.builder-ui.focus-ui .mapbtn{width:35px;height:36px;border-radius:8px;}.builder-ui.focus-ui .mapbtn svg{width:18px;height:18px;}
 .g-panel{left:9px;right:9px;transform:none;width:auto;bottom:125px;top:145px;max-height:none;border-width:3px;border-radius:13px;box-shadow:0 4px #203d50,0 9px 25px #153e3655;}.g-panel-head{min-height:64px;padding:7px 10px;gap:8px;}.g-panel-head h2{font-size:19px;letter-spacing:.01em;}.g-panel-head small{font-size:8px;}.g-panel-head>span>.g-glyph{width:36px;height:39px;}.g-close{width:36px;height:36px;border-radius:9px;}.g-close .g-glyph{width:25px;height:25px;}.g-panel-content{padding:12px 11px 18px;}
 .g-menu-open .g-anchor{height:79px;bottom:20px;}.g-menu-open .g-anchor .g-glyph{width:50px;height:50px;top:-17px;}.g-menu-open .g-anchor strong{font-size:14px;}.g-menu-open .g-build strong{font-size:21px;}.g-tabs{gap:3px;padding:4px;border-radius:8px;}.g-tab{font-size:10px;padding:5px 4px;min-height:36px;border-radius:6px;}.g-categories{gap:6px;margin-bottom:12px;}.g-cat{font-size:10px;padding:3px 8px 3px 3px;min-height:35px;border-radius:7px;}.g-cat .g-glyph{width:24px;height:24px;}
 .g-build-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}.g-building-card{padding:8px 7px 9px;border-radius:10px;}.g-building-card>.g-badge{font-size:6px;top:7px;left:7px;padding:2px 5px;min-height:16px;}.g-building-card .g-model{height:93px;margin-top:11px;}.g-building-card strong{font-size:13px;margin:4px 0;}.g-card-benefit{font-size:9px;}.g-card-cost{font-size:13px;padding:5px 3px;margin-top:7px;}.g-footprint{font-size:8px;}.g-check-row{padding:9px;gap:8px;}.g-check-row span{font-size:11px;}.g-check-row small{font-size:10px;}.g-check-row input{width:19px;height:19px;}
 .g-board-banner{gap:8px;padding:8px 10px;border-radius:9px;margin-bottom:15px;}.g-board-banner .g-glyph{width:32px;height:32px;}.g-board-banner b{font-size:15px;}.g-board-banner span{font-size:10px;}.g-board-banner small{font-size:9px;width:100%;}.g-contract-grid{grid-template-columns:1fr;gap:12px;}.g-contract-card{padding:0 14px 14px;}.g-contract-art{height:62px;width:calc(100% + 28px);margin-bottom:10px;}.g-contract-art .g-glyph{width:48px;height:48px;}.g-contract-card h3{font-size:20px;}.g-contract-brief{font-size:11px;margin:7px 0 10px;}.g-contract-payout{font-size:23px;}.g-active-jobs{grid-template-columns:1fr;}.g-button{font-size:11px;min-height:40px;padding:7px 11px;}.g-section-heading h3{font-size:18px;}.g-section-heading p{font-size:11px;}.g-note{font-size:11px;}.g-research-tree{grid-template-columns:1fr;gap:23px;}.g-tech-node:not(:last-child)::after{content:'\2304';right:48%;top:auto;bottom:-23px;font-size:27px;}.g-tech-node h3{font-size:21px;}.g-unlocks .g-model{height:85px;}
 .g-journey-summary{gap:9px;margin-bottom:15px;}.g-journey-summary .g-glyph{width:42px;height:42px;}.g-journey-summary b{font-size:17px;}.g-journey-summary>span{font-size:10px;}.g-journey-step{gap:12px;padding-bottom:21px;}.g-step-emblem{width:46px;height:49px;border-radius:12px;}.g-step-emblem .g-glyph{width:34px;height:34px;}.g-journey-step:not(:last-child)::before{left:21px;top:49px;}.g-journey-step h3{font-size:17px;}.g-journey-step small{font-size:8px;}
 .g-system-chain{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}.g-flow-node{padding:9px;}.g-flow-node:not(:last-child)::after{display:none;}.g-flow-node>.g-glyph{width:39px;height:39px;}.g-flow-node h3{font-size:16px;}.g-flow-node>b{font-size:21px;}.g-flow-node>small{font-size:8px;}.g-fix-row{gap:8px;flex-wrap:wrap;}.g-fix-row .g-glyph{width:34px;height:34px;}.g-fix-row p{font-size:11px;}.g-reserve-row{gap:8px;padding:10px;}.g-reserve-row .g-glyph{width:38px;height:38px;}.g-reserve-row b{font-size:14px;}.g-reserve-row>span{font-size:10px;}.g-work-item{padding:10px;gap:10px;}.g-work-item>.g-model{width:91px;height:100px;}.g-work-copy h3{font-size:15px;}.g-work-copy .g-note{font-size:10px;}.g-campus-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}.g-campus-card .g-model{height:90px;}.g-campus-card strong{font-size:12px;}.g-store-stats{gap:8px;}.g-store-stats>div{padding:10px 4px;}.g-store-stats .g-glyph{width:40px;height:40px;}.g-store-stats strong{font-size:20px;}.g-store-stats small{font-size:9px;}.g-link-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
 .g-selection{bottom:123px;width:calc(100% - 24px);}.g-selection-title{min-height:34px;padding:4px 9px;border-radius:10px 10px 0 0;gap:7px;}.g-selection-title>strong{font-size:15px;}.g-selection-title>small{display:none;}.g-selection-title .g-badge{font-size:8px;}.g-selection-actions{padding:7px 8px 8px;gap:7px;border-width:2px;}.g-selection-action{min-height:60px;padding:5px 6px;flex-direction:column;gap:1px;border-radius:8px;}.g-selection-action>.g-glyph{width:26px;height:26px;}.g-selection-action>b{font-size:11px;}.g-selection-action.upgrade{flex:1.6;display:grid;grid-template-columns:32px 1fr;grid-template-rows:1fr 1fr;text-align:left;column-gap:4px;}.g-selection-action.upgrade .g-glyph{width:32px;height:32px;grid-row:1/3;}.g-selection-action.upgrade small{font-size:8px;max-width:none;}.g-building-selected .g-settings,.g-building-selected .hud-mapcontrols{visibility:hidden;}
 .g-placement{bottom:126px;width:calc(100% - 22px);padding:10px 9px;gap:7px;border-width:2px;flex-wrap:wrap;}.g-place-copy>strong{font-size:15px;}.g-place-copy>small{font-size:9px;}.g-place-yes,.g-place-no{width:43px;height:44px;border-radius:8px;padding:6px;}.g-place-yes .g-glyph,.g-place-no .g-glyph{width:27px;height:27px;}.g-place-inputs{gap:3px;margin-top:5px;}.g-place-inputs .g-badge{font-size:7px;padding:2px 4px;min-height:15px;}.g-nudges{order:4;display:flex;justify-content:center;width:100%;gap:7px;}.g-nudge{width:44px;height:36px;min-height:36px;}.g-repeat{bottom:-23px;font-size:9px;}.g-placing .g-settings,.g-placing .hud-mapcontrols{visibility:hidden;}
 .g-world-cue{min-height:34px;min-width:52px;padding:2px 6px 2px 2px;gap:1px;border-radius:9px;}.g-world-cue .g-glyph{width:24px;height:24px;}.g-world-cue b{font-size:9px;}.g-reward{top:143px;padding:12px 16px 12px 10px;width:332px;gap:9px;border-width:2px;}.g-reward .g-glyph{width:48px;height:48px;}.g-reward strong{font-size:20px;}.g-reward small{font-size:7px;}.g-reward b{font-size:10px;}
 .builder-ui .f-drawer{right:9px;left:9px;top:145px;bottom:124px;width:auto;border-radius:12px;}.builder-ui .f-drawer-head{padding:11px 13px;}.builder-ui .f-drawer-head h2{font-size:21px;}.builder-ui .f-view{padding:13px;}.builder-ui .f-building-art{height:150px;}.builder-ui .f-confirm{padding:16px;max-height:calc(100dvh - 25px);border-width:3px;border-bottom-width:5px;border-radius:13px;}.builder-ui .f-confirm h2{font-size:21px;}.builder-ui .f-confirm .f-confirm-actions .f-button{font-size:11px;}.g-upgrade-models{gap:5px;padding:3px 6px 9px;margin:13px 0;}.g-upgrade-models .g-model{height:100px;}.g-model-arrow{font-size:27px;}.g-upgrade-models b{font-size:10px;}.builder-ui .toast{bottom:226px;font-size:11px;}.builder-ui .shift-briefing{left:12px;top:110px;transform:none;width:calc(100% - 24px);max-height:calc(100% - 150px);padding:22px;}.builder-ui .shift-briefing h1{font-size:31px;}.builder-ui .shift-briefing p{font-size:12px;}
}
@media(max-width:374px){.g-profile>span:last-child{min-width:93px;}.g-profile strong{font-size:11px;}.g-profile>span>small{font-size:6px;}.g-time{right:8px;}.g-tier{width:30px;}.g-clock-text{min-width:29px;}.builder-ui #run-toggle{min-width:46px;width:46px;font-size:11px;}.builder-ui #run-speed{width:39px;}.g-anchor{min-width:101px;}.g-build{min-width:96px;}.g-islands{gap:7px;}.g-island{width:43px;}.g-quest{width:195px;}.g-world-status{max-width:126px;font-size:7px;min-height:44px;}.g-wallet{gap:7px;}.g-resource b{font-size:15px;}}
@media(max-height:600px) and (min-width:701px){.g-panel{top:98px;bottom:108px;max-height:none;}.g-anchor{height:75px;min-width:128px;bottom:15px;}.g-anchor .g-glyph{width:53px;height:53px;top:-19px;}.g-anchor strong{font-size:20px;}.g-anchor small{display:none;}.g-quest{display:none;}.g-crew{top:115px;}.g-selection{bottom:20px;}.g-islands{bottom:27px;}.g-island{height:51px;width:60px;}.g-island .g-glyph{height:38px;width:38px;}.g-settings{bottom:115px;}.builder-ui.focus-ui .hud-mapcontrols{bottom:115px;}.g-panel-head{min-height:59px;}.g-panel-head h2{font-size:20px;}.g-world-status{display:none;}.builder-ui .f-drawer{top:96px;bottom:115px;}.g-wallet .g-resource{min-height:38px;}.g-wallet{gap:5px;}.g-resource .g-glyph{width:43px;height:43px;}.g-resource>span:first-child{top:-2px;}.g-resource b{font-size:16px;}}
@media(prefers-reduced-motion:reduce){.g-hud *, .builder-ui .f-confirm{animation:none!important;transition:none!important;scroll-behavior:auto!important;}.g-world-cue{will-change:auto;}}

/* Menus temporarily cover placement controls, without spending or discarding a preview. */
.g-menu-open .g-placement,.builder-ui.f-advanced .g-selection{display:none;}

/* Status toasts must never swallow a tap on the campus beneath them. */
.builder-ui .toast{pointer-events:none;}
.g-gate-benefit{padding:12px 15px;background:#e2ead1;border:1px solid #b2c397;border-radius:10px;color:#486138;font-weight:750;font-size:14px;}
@media(max-width:700px){
 .g-world-cue{min-height:44px;}
 .g-nudge{height:44px;min-height:44px;}
 .g-place-yes,.g-place-no{width:44px;}
}

/* ---------------------------------------------------------------- V1.000.0 Power Center, crews and fields */
.pc-hero{display:grid;grid-template-columns:150px 1fr;gap:14px;align-items:center;margin-bottom:12px}
.pc-hero .pc-model{width:150px;height:96px;background:#111a1e;border:1px solid #2d3a40;border-radius:4px}
.pc-hero h3{margin:6px 0 4px;font-size:18px}
.pc-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin:10px 0}
.pc-fact{background:#141d22;border:1px solid #2b373d;border-radius:4px;padding:8px 10px;display:flex;flex-direction:column;gap:2px}
.pc-fact b{font-size:16px;color:#f4ead7}.pc-fact small{color:#9fb0b6;font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.pc-fact.muted b{color:#b9c3c6}
.pc-gate{display:grid;grid-template-columns:22px 1fr auto;gap:8px;align-items:center;padding:7px 0;border-bottom:1px solid #243036;font-size:13px}
.pc-gate.done{color:#9ed8b4}.pc-gate b{font-variant-numeric:tabular-nums}.pc-gate-mark{text-align:center;color:#e5ad62}.pc-gate.done .pc-gate-mark{color:#5fdc9a}
.pc-caps{margin:6px 0 10px;padding-left:18px;color:#c8d2d4;font-size:13px;line-height:1.55}
.pc-upgrade,.pc-team,.pc-job,.pc-field{background:#121b20;border:1px solid #2b373d;border-radius:6px;padding:12px 14px;margin:10px 0}
.pc-upgrade h3,.pc-field h3{margin:4px 0 6px}
.pc-warning{color:#ffcf9b;background:#3a2a1a;border-left:3px solid #e5ad62;padding:6px 9px;border-radius:3px;font-size:12px;margin:8px 0}
.pc-cutover{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:8px 0}
.pc-option{text-align:left;background:#172128;border:1px solid #36454c;color:#e8ecea;border-radius:5px;padding:9px 10px;display:flex;flex-direction:column;gap:3px;min-height:48px;cursor:pointer}
.pc-option.active{border-color:#e5ad62;background:#2a2418;box-shadow:inset 0 0 0 1px #e5ad62}
.pc-option strong{font-size:13px}.pc-option small{color:#aab6ba;font-size:11px;line-height:1.35}
.pc-team-head{display:flex;gap:10px;align-items:center;margin-bottom:6px}
.pc-team-mark{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:800;color:#111b22;background:#dc8c38;flex:none}
.pc-team-mark.utility{background:#6fa3d0}.pc-team-mark.land{background:#8cbf9b}.pc-team-mark.tech{background:#a49ad8}
.pc-team-head strong{display:block;font-size:14px}.pc-team-head small{color:#9fb0b6;font-size:11px}
.pc-select{min-height:40px;background:#172128;color:#e8ecea;border:1px solid #36454c;border-radius:4px;padding:6px 8px;font:inherit}
.pc-job strong{display:block}.pc-job small{color:#9fb0b6}
.pc-corridor{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px 0;border-top:1px solid #243036}
.pc-corridor strong{min-width:120px}.pc-corridor small{color:#aab6ba;flex:1 1 180px}
.pc-log{display:grid;grid-template-columns:110px 1fr;gap:10px;padding:6px 0;border-bottom:1px solid #243036;font-size:12px}.pc-log small{color:#9fb0b6}
.pc-fields{position:absolute;left:50%;transform:translateX(-50%);top:116px;display:flex;gap:6px;z-index:6;pointer-events:auto}
.pc-field-chip{min-height:44px;background:#131c22d9;border:1px solid #647378;color:#e3e8e6;border-radius:4px;padding:5px 11px;display:flex;flex-direction:column;align-items:flex-start;gap:1px;cursor:pointer;font:inherit}
.pc-field-chip strong{font-size:11px;letter-spacing:.06em}.pc-field-chip small{font-size:10px;color:#b7c4c8;text-transform:capitalize}
.g-menu-open .pc-fields,.g-placing .pc-fields{display:none}
@media (max-width:700px){.pc-hero{grid-template-columns:110px 1fr}.pc-hero .pc-model{width:110px;height:72px}.pc-fields{top:292px;left:12px;transform:none;flex-direction:row;flex-wrap:wrap;max-width:calc(100% - 24px)}.pc-field-chip{padding:3px 9px;min-height:44px}.pc-field-chip strong{font-size:10px}}

/* The committed action has a readable verb, not an unexplained checkmark. */
body.builder-ui .g-place-yes{width:auto;min-width:64px;font-size:13px;font-weight:800;padding:7px 10px;}
@media(max-width:700px){body.builder-ui .g-place-yes{min-width:56px;font-size:12px;padding:6px;}}

/* Installed expansion content: concise cards, with technical identity on demand. */
.g-pack-list{display:grid;gap:16px;margin:18px 0}
.g-pack-card{padding:20px;border:1px solid #b7c5b1;border-radius:14px;background:#f7f9eb;color:var(--game-ink)}
.g-pack-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.g-pack-heading small{opacity:.65;font-variant-numeric:tabular-nums}
.g-pack-card h3{margin:12px 0 8px;font-size:21px}
.g-pack-card .g-button{margin:10px 0 4px}
.g-pack-contents{font-size:13px;line-height:1.6;font-weight:600}
.g-pack-fingerprint{display:block;overflow-wrap:anywhere;font-size:11px;line-height:1.6;opacity:.7}

.g-pack-card .f-note{color:var(--game-muted);line-height:1.55}
.g-panel .g-tabs{flex-wrap:wrap}.g-panel .g-tab{flex-basis:90px}
