:root{--ink:#142831;--muted:#62716e;--faint:#8a9590;--paper:#f5f4ef;--surface:#fffef9;--line:#dfE2d8;--green:#35664e;--green-dark:#244b39;--mint:#b4d6a8;--pale:#e7eee3;--amber:#ad7427;--amber-bg:#f7edda;--red:#a64b3e;--nav:#10242b;--shadow:0 16px 45px rgba(16,36,43,.13);--radius:14px;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;height:100%;overflow:hidden}button,input,select,textarea{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.48}button,a{ -webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b47720;outline-offset:4px}button{border:0}button svg{flex-shrink:0}svg{vertical-align:middle;flex-shrink:0}a{color:var(--green);text-underline-offset:3px}h1,h2,h3,h4,p{margin:0}h1,h2,h3{letter-spacing:-.035em}h1{font-size:32px;line-height:1.14;font-weight:730}h2{font-size:24px;line-height:1.25;font-weight:720}h3{font-size:18px;line-height:1.3;font-weight:700}p{font-size:14px;line-height:1.65}small,.small{font-size:12px;line-height:1.5}.muted{color:var(--muted)}.label{font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-60px;left:240px;background:var(--surface);padding:12px;z-index:1000}.skip-link:focus{top:8px}
#app{height:100dvh;display:grid;grid-template-columns:214px minmax(0,1fr);grid-template-rows:78px minmax(0,1fr) 69px}.sidebar{grid-row:1/4;background:linear-gradient(160deg,#11272e,#0c1d23);color:#f3f5ec;display:flex;flex-direction:column;z-index:20;min-height:0}.brand{display:block;text-align:left;color:inherit;padding:28px 26px 24px;background:transparent;width:100%;flex-shrink:0}.brand-symbol{display:block;margin-bottom:12px}.brand-name{font-size:22px;font-weight:750;letter-spacing:.15em;line-height:1.2}.brand-sub{display:flex;align-items:center;gap:9px;font-size:11px;line-height:1.5;color:#c2d1c8;margin-top:14px;overflow-wrap:anywhere}.brand-sub svg{color:#9bd09a}.level-area{border-top:1px solid #ffffff1c;border-bottom:1px solid #ffffff1c;padding:22px 24px}.level-row{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:12px;font-size:12px}.level-row strong{font-size:15px}.level-area .progress-track{background:#3b4a4b;height:6px}.level-area .progress-track span{background:var(--mint)}.xp-text{text-align:right;font-size:10px;margin-top:7px;color:#b9c7c0;font-variant-numeric:tabular-nums}.level-name{font-size:11px;color:#adbbb7;display:block;margin-top:10px}.main-nav{padding:22px 12px;display:grid;gap:6px}.nav-link{display:flex;width:100%;align-items:center;gap:13px;border-radius:8px;padding:13px 14px;background:transparent;color:#d6dfd8;font-size:14px;text-align:left;font-weight:550;min-height:46px}.nav-link.active{background:#345b49;color:white}.nav-link:hover{background:#ffffff10}.nav-link.active:hover{background:#3c6652}.nav-link .nav-hint{font-size:10px;margin-left:auto;color:#9caea5}.nav-link.locked{opacity:.65}.sidebar-bottom{margin-top:auto;padding:18px 24px 22px;border-top:1px solid #ffffff14}.next-chapter{background:none;color:#e2e9df;text-align:left;padding:0;width:100%;font-size:12px;line-height:1.6}.next-chapter .label{display:block;color:#94aba0;margin-bottom:5px}.chapter-title{display:block;font-weight:600;overflow-wrap:anywhere}.next-chapter svg{margin-top:10px;color:#b4d6a8}.campus-number{display:flex;gap:6px;font-size:10px;color:#9db3a6;margin-top:22px}
.resource-bar{grid-column:2;display:flex;align-items:stretch;border-bottom:1px solid var(--line);background:var(--paper);z-index:12;min-width:0;padding:0 22px}.resource{display:flex;align-items:center;gap:12px;flex:1;max-width:260px;padding:13px 24px 13px 12px;position:relative;text-align:left;background:none;min-width:0}.resource:not(:first-child):before{content:"";position:absolute;left:-9px;width:1px;height:38px;background:var(--line)}.resource-icon{width:31px;height:31px;color:var(--green);display:grid;place-items:center}.resource.credits .resource-icon{color:#9b701c}.resource.compute .resource-icon{color:#487284}.resource.insight .resource-icon{color:#86723f}.resource-name{display:block;font-size:11px;font-weight:600;margin-bottom:3px;color:var(--muted)}.resource-value{font-size:24px;line-height:1;font-weight:730;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.status-mini{display:flex;align-items:center;gap:10px;margin-left:auto;padding-left:12px;white-space:nowrap}.trust-mini{font-size:11px;display:flex;gap:5px;align-items:center;color:var(--green)}.mobile-logo{display:none}.mobile-menu{display:none}
.workspace{grid-column:2;display:grid;grid-template-columns:minmax(0,1fr) 294px;min-height:0;overflow:hidden;position:relative}.main-surface{position:relative;overflow:hidden;min-width:0;min-height:0}.scene{position:absolute;inset:0;overflow:hidden;background:#3e5548;isolation:isolate}.world{position:absolute;width:100%;height:100%;transform-origin:50% 50%;transition:transform .45s ease}.terrain{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;user-select:none}.scene-heading{position:absolute;top:0;left:0;right:0;padding:28px 30px 65px;background:linear-gradient(#0f242c9c,#10232a4a 63%,transparent);color:#fff;pointer-events:none;z-index:3}.scene-heading:before{content:"";position:absolute;left:28px;top:30px;width:4px;height:52px;border-radius:2px;background:var(--mint)}.scene-heading h1{font-size:29px;text-shadow:0 2px 8px #10242b55;margin-left:16px;letter-spacing:-.035em}.scene-heading p{margin:7px 0 0 16px;font-size:12px;color:#f2f3e9;text-shadow:0 1px 3px #0006}.scene-controls{position:absolute;bottom:16px;left:18px;display:flex;gap:7px;z-index:4}.map-control{height:34px;border-radius:7px;display:flex;align-items:center;justify-content:center;gap:6px;padding:0 11px;background:#f9f9efec;border:1px solid #ffffffe6;font-size:11px;box-shadow:0 3px 12px #14283129}.map-control:hover{background:#fff}.map-control[aria-pressed=true]{background:var(--green);color:white;border-color:var(--green)}.scene-caption{position:absolute;bottom:18px;right:18px;color:white;font-size:10px;text-shadow:0 1px 3px #000c;letter-spacing:.04em;pointer-events:none}.building-node{position:absolute;transform:translate(-50%,-50%);z-index:4;display:flex;align-items:center;flex-direction:column;white-space:nowrap;transition:filter .2s}.building-button{display:flex;align-items:center;gap:7px;padding:9px 12px;min-height:36px;background:#fffef5f5;border:1px solid #fffee9;border-radius:9px;box-shadow:0 5px 14px #10242b38;font-size:11px;font-weight:700;position:relative;transition:transform .18s,box-shadow .18s}.building-button:hover{transform:translateY(-3px);box-shadow:0 8px 20px #10242b45}.building-node.selected .building-button{outline:2px solid #b8da98;outline-offset:4px}.building-node.guided .building-button{animation:guideHalo 2.6s infinite}.building-button .dot{width:7px;height:7px;border-radius:50%;background:#82948a;flex:none}.building-button.ready .dot{background:#338a48;box-shadow:0 0 0 3px #338a4818}.building-button.ready{background:#fffef2}.building-button.locked-plot{background:#132a2bd9;color:#edeee0;border:1px solid #b7c2a45e;box-shadow:none;font-weight:500}.building-button.new-plot{border:1px dashed #799b6f;background:#fafbe9ef;color:#355d42}.building-value{padding-left:7px;border-left:1px solid #cad6c4;color:var(--green);font-variant-numeric:tabular-nums;font-weight:750}.building-subtitle{margin-top:6px;background:#122c2bdf;color:#eff4e7;padding:4px 8px;border-radius:5px;font-size:9px;font-weight:550;max-width:190px;white-space:normal;text-align:center;line-height:1.4}.building-level{position:absolute;right:-6px;top:-7px;width:18px;height:18px;background:var(--green);border:2px solid #f7f7e9;color:white;border-radius:50%;font-size:9px;display:grid;place-items:center}.map-sprite{position:absolute;transform:translate(-50%,-82%);width:25%;aspect-ratio:1;background-image:var(--sprite-art);background-size:200% 200%;background-repeat:no-repeat;z-index:2;pointer-events:none;filter:drop-shadow(4px 8px 8px #16281b44)}.map-sprite.constructing{opacity:.55;filter:grayscale(.65) drop-shadow(4px 8px 8px #16281b33)}.sprite-evaluation{background-position:0 0}.sprite-product{background-position:100% 0}.sprite-cooling{background-position:0 100%}.sprite-observatory{background-position:100% 100%}.duck{position:absolute;left:68.8%;top:85.1%;background:none;padding:5px;transform:rotate(-10deg);color:#ffda63;z-index:3;filter:drop-shadow(0 2px 1px #243c37);opacity:.9;animation:duckBob 5s ease-in-out infinite;transition:opacity .2s}.duck:hover{opacity:1;filter:drop-shadow(0 1px 4px #fff9)}.float-gain{position:fixed;z-index:80;color:white;background:var(--green);border:1px solid #cce0b1;padding:6px 11px;border-radius:20px;font-size:13px;font-weight:700;pointer-events:none;animation:floatAway 1.4s forwards}.map-paused{position:absolute;inset:0;z-index:10;display:grid;place-items:center;background:#152a3045;backdrop-filter:grayscale(.4)}.paused-label{background:var(--surface);padding:22px 30px;text-align:center;border-radius:14px;box-shadow:var(--shadow)}.paused-label h2{margin:10px 0}.paused-label .btn{margin-top:14px}
.desk{background:var(--paper);border-left:1px solid var(--line);padding:24px 23px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#bbc6b6 transparent;min-height:0}.desk-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px}.desk-top span{font-size:11px;letter-spacing:.12em;font-weight:700;text-transform:uppercase;color:var(--muted)}.desk-top svg{color:#a6b29e}.objective h2{font-size:24px}.objective p{font-size:12px;line-height:1.65;margin-top:10px;color:#5c6b66}.step-track{display:flex;align-items:center;margin:21px 0;gap:0}.step-circle{width:23px;height:23px;border-radius:50%;border:1.5px solid #b9bfb2;background:transparent;display:grid;place-items:center;font-size:10px;color:#6a7c6b}.step-circle.done{background:var(--green);border-color:var(--green);color:white}.step-circle.active{border-color:var(--green);box-shadow:0 0 0 3px #35664e15;color:var(--green);font-weight:750}.step-line{flex:1;height:1px;background:#cbd0c4}.step-line.done{background:var(--green)}.step-caption{margin-left:12px;font-size:10px;color:var(--muted);white-space:nowrap}.mission-card{border:1px solid var(--line);border-radius:12px;padding:17px 15px;background:linear-gradient(140deg,#fffef9,#f1f1e9);box-shadow:0 3px 6px #21372303}.mission-icon{display:grid;place-items:center;width:37px;height:37px;border-radius:9px;color:var(--green);background:#e9eee5;margin-bottom:12px}.mission-card h3{font-size:17px;line-height:1.35}.mission-card p{font-size:12px;margin-top:9px}.mission-card .btn{width:100%;margin-top:15px;justify-content:center}.reward-line{display:flex;align-items:center;gap:8px;margin-top:14px;color:#9b691b;font-size:11px;font-weight:600}.desk-section{border-top:1px solid var(--line);margin-top:23px;padding-top:21px}.adviser-title{display:flex;gap:9px;align-items:center;color:var(--green);font-size:12px;font-weight:650;margin-bottom:10px}.adviser-note{background:#e9ede3;padding:12px 14px;border-radius:8px;font-size:12px;line-height:1.7;color:#425e4d}.adviser-note b{font-weight:650}.adviser-person{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:10px;color:var(--muted)}.adviser-avatar{background:#d7dfcb;color:#3d654b;border-radius:50%;width:23px;height:23px;display:grid;place-items:center;font-size:9px;font-weight:700}.inspector-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.inspector-icon{color:var(--green);margin-bottom:9px}.inspector-head h3{font-size:18px}.inspector-description{font-size:12px;line-height:1.65;margin-top:10px;color:var(--muted)}.close-mini{width:26px;height:26px;border-radius:5px;background:transparent;display:grid;place-items:center;color:var(--muted)}.close-mini:hover{background:var(--pale)}.detail-data{margin:15px 0;display:grid;gap:8px}.detail-data div{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:11px}.detail-data strong{font-weight:650}.inspector .cost{margin:12px 0 9px}.inspector .btn{width:100%;justify-content:center;margin-top:9px}.detail-hint{font-size:10px;color:var(--muted);line-height:1.5;margin-top:8px}.event-peek{padding:14px;background:var(--amber-bg);border:1px solid #e9d3a9;border-radius:10px;margin-bottom:20px}.event-peek h3{font-size:15px}.event-peek .btn{width:100%;margin-top:10px}.event-peek p{font-size:11px;margin-top:7px}.event-peek .event-timer{font-size:11px;color:#8d5b16;display:flex;gap:6px;margin-bottom:8px;align-items:center}.power-note{font-size:11px;margin-top:12px;padding:10px 12px;background:var(--pale);border-radius:7px}
.production-bar{grid-column:2;display:flex;align-items:center;gap:18px;border-top:1px solid var(--line);padding:0 20px;background:var(--paper);z-index:11;min-width:0}.production-title{display:flex;align-items:center;gap:9px;white-space:nowrap;font-size:12px;font-weight:650}.production-jobs{display:flex;gap:8px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none;padding:7px 0}.production-item{padding:10px 12px;border-radius:9px;border:1px solid var(--line);display:flex;align-items:center;gap:8px;font-size:10px;white-space:nowrap;background:#efefe7;min-height:39px}.production-item .dot{width:6px;height:6px;border-radius:50%;background:#789681}.production-item.ready .dot{background:#3c874d}.production-item span{color:#6e776d}.production-item.job{min-width:180px;position:relative;overflow:hidden}.production-item.job:after{content:"";position:absolute;left:0;bottom:0;width:var(--pct,0%);height:3px;background:var(--green)}.footer-tools{display:flex;align-items:center;gap:7px;margin-left:auto;white-space:nowrap}.save-status{font-size:10px;color:var(--muted);display:flex;gap:5px;align-items:center;margin-right:9px}.icon-button{width:34px;height:34px;display:grid;place-items:center;background:none;border-radius:6px;color:#4c6056}.icon-button:hover{background:#e6eadd}.icon-button[aria-pressed=true]{background:var(--pale);color:var(--green)}
.page-view{height:100%;overflow-y:auto;padding:34px 34px 50px;scrollbar-width:thin;scrollbar-color:#bac7b5 transparent;background:var(--paper);overscroll-behavior:contain}.view-header{margin-bottom:28px}.view-header h1{font-size:31px}.view-header p{color:var(--muted);font-size:13px;margin-top:9px;max-width:600px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:26px 0 13px}.section-head h2{font-size:20px}.section-head h3{font-size:17px}.subnav{display:flex;gap:5px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:13px;margin:20px 0 24px}.subnav button{font-size:12px;line-height:1.3;font-weight:600;color:var(--muted);background:transparent;padding:10px 13px;border-radius:7px;min-height:38px}.subnav button.active{background:var(--green);color:white}.subnav button:hover:not(.active){background:var(--pale)}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:21px}.card h3{font-size:17px}.card p{margin-top:8px;font-size:12px;color:var(--muted)}.card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.feature-row{padding:20px 0;border-bottom:1px solid var(--line);display:flex;gap:16px;justify-content:space-between;align-items:flex-start}.feature-row h3{font-size:15px}.feature-row p{font-size:12px;margin-top:7px;color:var(--muted)}.stat-line{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:8px 0;font-size:12px}.progress-track{height:6px;overflow:hidden;background:#e0e5d9;border-radius:9px}.progress-track>span{display:block;height:100%;background:var(--green);border-radius:9px;transition:width .4s linear}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 15px;min-height:42px;font-size:12px;line-height:1.35;font-weight:650;border:1px solid transparent;border-radius:7px;text-decoration:none;transition:background .16s,transform .16s;background:#e8ede2;color:var(--green-dark);white-space:normal;text-align:center}.btn:active:not(:disabled){transform:translateY(1px)}.btn.primary{background:var(--green);color:#fff;border-color:var(--green)}.btn.primary:hover:not(:disabled){background:var(--green-dark)}.btn.secondary{border-color:#cbd6c2;background:#f6f8ed;color:var(--green-dark)}.btn.secondary:hover:not(:disabled){background:#e8efdf}.btn.ghost{background:transparent;color:var(--muted);padding-left:8px;padding-right:8px}.btn.ghost:hover:not(:disabled){background:var(--pale)}.btn.small{min-height:33px;padding:7px 10px;font-size:11px}.btn.danger{background:#f5e6df;color:#a44735;border-color:#e4bcaf}.btn.wide{width:100%}.tag{display:inline-flex;align-items:center;gap:5px;background:#e9ece2;border-radius:5px;padding:4px 7px;font-size:10px;line-height:1.35;font-weight:650;color:#62715d;white-space:nowrap}.tag.good{background:#e4eede;color:#41643c}.tag.warn{background:var(--amber-bg);color:#986818}.tag.bad{background:#f4e4dd;color:#a34f3d}.cost{display:flex;gap:10px;flex-wrap:wrap;color:#5f705e;font-size:11px;line-height:1.4;font-weight:550}.cost-item{display:inline-flex;gap:4px;align-items:center}.cost-item.short{color:#b0583b}.cost-item svg{width:13px;height:13px}.action-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:15px}.callout{padding:15px 17px;background:var(--pale);border-left:3px solid #8da979;border-radius:4px 9px 9px 4px;font-size:12px;line-height:1.7;color:#436047;margin:18px 0}.callout.warn{background:var(--amber-bg);border-color:#cfa65e;color:#805f29}.empty{text-align:center;padding:36px 20px;border:1px dashed #c8d2bf;border-radius:10px;color:var(--muted)}.empty h3{color:var(--ink);margin:10px 0}.empty p{font-size:12px;max-width:440px;margin:8px auto}.empty .btn{margin-top:14px}.metric{display:flex;flex-direction:column;gap:5px;min-width:0}.metric strong{font-size:25px;font-weight:700;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.metric span{font-size:10px;color:var(--muted)}.option-grid,.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.field{display:flex;flex-direction:column;gap:7px;margin:10px 0}.field label{font-size:11px;font-weight:650;color:var(--muted)}input:not([type=checkbox]):not([type=file]),select{width:100%;border:1px solid #cbd3c2;border-radius:7px;background:#fffef9;padding:11px 12px;color:var(--ink);font-size:13px;min-height:41px}input::placeholder{color:#87917f}input[type=checkbox]{accent-color:var(--green);width:17px;height:17px}.model-card{padding:19px;background:var(--surface);border:1px solid var(--line);border-radius:11px;margin-top:14px}.model-card h3{font-size:16px}.table-list{border-top:1px solid var(--line);margin-top:14px}.table-list>div{padding:13px 0;border-bottom:1px solid var(--line)}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid var(--line)}.settings-row h3{font-size:14px}.settings-row p{font-size:11px;color:var(--muted);margin-top:4px;max-width:330px}.settings-row label{display:flex;gap:9px;align-items:center;font-size:12px}.settings-actions{display:flex;gap:8px;margin:20px 0;flex-wrap:wrap}.settings-footnote{font-size:11px;line-height:1.7;color:var(--muted);margin-top:16px}
.modal-backdrop{position:fixed;inset:0;z-index:100;background:#0b1b22a8;backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:24px}.modal{background:var(--paper);border:1px solid #ffffffe5;border-radius:18px;box-shadow:0 30px 100px #03100c6b;width:min(590px,100%);max-height:calc(100dvh - 48px);overflow:auto;position:relative;scrollbar-width:thin}.modal.wide{width:min(770px,100%)}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:27px 30px 0}.modal-header h2{font-size:25px}.modal-body{padding:20px 30px 30px}.modal-body p{font-size:13px;color:var(--muted);line-height:1.8}.modal-body p+p{margin-top:12px}.modal-body h3{margin:18px 0 9px}.modal .close-mini{width:30px;height:30px;flex-shrink:0}.welcome-modal{width:min(690px,100%);overflow:hidden}.welcome-art{height:205px;background-image:var(--terrain-art);background-size:cover;background-position:50% 28%;position:relative}.welcome-art:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 40%,#10272b85)}.welcome-wordmark{position:absolute;left:31px;bottom:26px;color:white;z-index:1;font-size:13px;font-weight:700;letter-spacing:.2em}.welcome-content{padding:27px 33px 29px}.welcome-content h1{font-size:31px;line-height:1.15}.welcome-content>p{font-size:13px;line-height:1.75;color:var(--muted);margin-top:12px;max-width:540px}.welcome-loop{display:flex;align-items:center;justify-content:space-between;padding:21px 0;gap:12px;margin:5px 0}.welcome-loop>div{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:600}.welcome-loop>div svg{color:var(--green)}.welcome-loop>.chevron{color:#a4b194}.welcome-content form{display:flex;align-items:end;gap:12px;margin-top:5px}.welcome-content form .field{flex:1;margin:0}.welcome-content form .btn{min-height:42px;padding:11px 21px}.welcome-foot{display:flex;justify-content:space-between;gap:12px;font-size:10px;color:var(--muted);margin-top:18px}.welcome-foot span{display:flex;gap:5px;align-items:center}.unlock-number{height:74px;width:74px;background:var(--green);color:#d1e9b5;border:6px solid #e2e9d5;border-radius:50%;display:grid;place-items:center;font-size:29px;font-weight:750;margin:2px auto 17px}.unlock-copy{text-align:center;margin:0 auto 20px;max-width:450px}.unlock-copy h3{font-size:23px}.unlock-copy p{margin-top:10px}.unlock-benefit{display:flex;gap:13px;padding:14px;background:#e8eddf;border-radius:10px;margin:15px 0}.unlock-benefit>svg{color:var(--green);margin-top:2px}.unlock-benefit strong{font-size:13px}.unlock-benefit p{font-size:12px;margin-top:4px}.unlock-actions{display:flex;justify-content:center;gap:9px;margin-top:23px}.lesson-summary{font-size:17px!important;color:var(--ink)!important;font-weight:650;line-height:1.5!important}.lesson-body{margin-top:14px!important}.lesson-reference{font-size:11px;display:inline-block;margin:12px 0 20px;color:#5d7666}.quiz-block{background:#e9eee3;border:1px solid #d9e0d1;padding:18px;border-radius:10px}.quiz-block h3{font-size:14px;margin:0 0 13px}.quiz-option{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:#fffef8;border:1px solid #d5decb;padding:12px;margin-top:8px;border-radius:7px;line-height:1.55;font-size:12px}.quiz-option .quiz-letter{width:23px;height:23px;border:1px solid #cad6bf;border-radius:5px;display:grid;place-items:center;font-size:11px;color:#65785b;flex-shrink:0}.quiz-option:hover{border-color:#779565;background:#fafdee}.quiz-option.correct{background:#e0ecd8;border-color:#6e9460}.quiz-option.wrong{background:#f7e9dd;border-color:#c89566}.quiz-feedback{margin-top:13px;font-size:12px;line-height:1.7;padding:11px;background:#ffffff72;border-radius:6px}.quiz-reward{font-size:11px;color:#8c661e;margin-top:14px;display:flex;gap:6px;align-items:center}.event-options{display:grid;gap:10px;margin-top:18px}.event-option{padding:15px;background:var(--surface);border:1px solid var(--line);border-radius:9px;text-align:left;display:block;width:100%}.event-option:hover{border-color:#7a9569;background:#f0f5e8}.event-option strong{font-size:13px;display:block;margin-bottom:6px}.event-option p{font-size:12px}.roadmap-list{display:grid;gap:0}.roadmap-step{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}.roadmap-level{width:32px;height:32px;border:1px solid #bac9af;background:#e9eedf;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:700;color:var(--green);flex-shrink:0}.roadmap-step.current .roadmap-level{background:var(--green);color:white}.roadmap-step h3{font-size:14px;margin:0 0 4px}.roadmap-step p{font-size:11px;line-height:1.65}.roadmap-step.future{opacity:.7}.roadmap-step .label{font-size:9px;display:block;margin-top:5px}.toast-region{position:fixed;bottom:88px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;gap:8px;z-index:160;pointer-events:none;max-width:min(520px,calc(100vw - 28px));width:max-content}.toast{background:#16372dec;color:white;border:1px solid #b9d2a742;box-shadow:0 6px 25px #0a191b33;border-radius:10px;padding:13px 17px;display:flex;gap:10px;align-items:flex-start;font-size:12px;line-height:1.6;animation:toastIn .3s ease;backdrop-filter:blur(12px)}.toast.warn{background:#684d25f5;border-color:#e2c18266}.toast.bad{background:#744437f5;border-color:#e2ae9966}.toast svg{margin-top:2px}.confetti{position:fixed;width:7px;height:11px;background:#accf89;pointer-events:none;z-index:120;animation:confettiFall 1.8s ease-out forwards}.save-error{color:#ad6039}.mobile-tabs{display:none}body.reduced-motion *,body.reduced-motion *::before,body.reduced-motion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@keyframes guideHalo{0%,100%{box-shadow:0 4px 14px #10242b45,0 0 0 0 #d2eea6a6}55%{box-shadow:0 4px 14px #10242b45,0 0 0 7px #d2eea600}}@keyframes duckBob{0%,100%{transform:translateY(0) rotate(-10deg)}50%{transform:translateY(3px) rotate(-4deg)}}@keyframes floatAway{0%{opacity:0;transform:translateY(0) scale(.8)}12%{opacity:1;transform:translateY(-10px) scale(1)}80%{opacity:1}100%{opacity:0;transform:translateY(-65px) scale(.9)}}@keyframes toastIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes confettiFall{from{transform:translate(0,0) rotate(0);opacity:1}to{transform:translate(var(--x),var(--y)) rotate(300deg);opacity:0}}
@media(min-width:1700px){#app{grid-template-columns:240px minmax(0,1fr)}.workspace{grid-template-columns:minmax(0,1fr) 330px}.desk{padding:29px}.brand{padding:31px}.resource{max-width:310px}.scene-heading h1{font-size:35px}.page-view{padding:40px 45px}.building-button{font-size:12px;padding:10px 14px}}
@media(max-width:1199px){#app{grid-template-columns:180px minmax(0,1fr)}.brand{padding:24px 20px}.brand-name{font-size:19px}.brand-sub{font-size:10px}.level-area{padding:19px 18px}.sidebar-bottom{padding:17px 18px}.main-nav{padding:19px 9px}.nav-link{padding:12px 10px;font-size:12px;gap:10px}.workspace{grid-template-columns:minmax(0,1fr) 260px}.desk{padding:22px 18px}.resource-bar{padding:0 13px}.resource{padding-right:14px;gap:8px}.resource-value{font-size:22px}.resource-icon{width:26px}.resource-icon svg{width:25px}.resource-name{font-size:10px}.status-mini{display:none}.scene-heading{padding:24px 20px 57px}.scene-heading:before{left:19px;top:25px;height:47px}.scene-heading h1{font-size:24px}.scene-heading p{font-size:11px;max-width:320px}.production-title{display:none}.production-bar{gap:12px;padding:0 15px}.save-status{font-size:9px;margin-right:2px}.page-view{padding:28px 24px}.card-grid{grid-template-columns:1fr}.view-header h1{font-size:28px}.building-button{font-size:10px;padding:8px 9px}.building-subtitle{font-size:9px}.scene-caption{display:none}}
@media(max-width:1119px){html,body{overflow:auto;height:auto;min-height:100%}#app{height:auto;min-height:100dvh;grid-template-columns:1fr;grid-template-rows:68px minmax(0,1fr) auto;padding-bottom:61px}.sidebar{display:none}.resource-bar{grid-column:1;position:sticky;top:0;height:68px;padding:0 13px;box-shadow:0 3px 10px #10242b08}.resource{max-width:none;padding:9px 12px;gap:7px}.resource:not(:first-child):before{left:0;height:32px}.resource-value{font-size:21px}.resource-icon{width:24px}.workspace{grid-column:1;display:flex;flex-direction:column;overflow:visible;min-height:calc(100dvh - 129px)}.main-surface{height:min(77vw,590px);min-height:370px;flex:none;overflow:hidden}.main-surface:not(.campus-surface){height:auto;min-height:calc(100dvh - 130px)}.scene-heading{padding:22px 23px 57px}.scene-heading:before{left:22px;top:24px}.scene-heading h1{font-size:26px}.scene-heading p{font-size:12px}.desk{overflow:visible;border-left:0;border-top:1px solid var(--line);padding:24px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.desk-top{display:none}.desk>.event-peek{grid-column:1/3;margin:0}.desk .desk-section{border-top:0;border-left:1px solid var(--line);margin:0;padding:0 0 0 20px}.desk .inspector{grid-column:2;grid-row:1/3}.desk>.objective{grid-column:1}.desk>.adviser-section{grid-column:2;align-self:start}.desk .objective h2{font-size:22px}.step-track{margin:15px 0}.mission-card{padding:15px}.mission-icon{display:none}.mission-card h3{font-size:16px}.mission-card .btn{margin-top:12px}.production-bar{grid-column:1;padding:7px 19px;min-height:59px;flex-wrap:nowrap;gap:10px}.production-jobs{gap:7px}.footer-tools .save-status{max-width:110px;white-space:normal;line-height:1.4}.production-item{font-size:9px;padding:8px}.mobile-tabs{display:flex;position:fixed;left:0;bottom:0;right:0;height:61px;background:#10242b;border-top:1px solid #d8dfcf2b;z-index:50;padding:5px 5px max(5px,env(safe-area-inset-bottom))}.mobile-tabs button{flex:1;background:transparent;color:#aabdac;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:9px;border-radius:7px}.mobile-tabs button.active{background:#345b49;color:#fff}.mobile-tabs button.locked{opacity:.48}.page-view{height:auto;overflow:visible;padding:28px 25px 35px}.page-view .card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.toast-region{bottom:77px}.mobile-level{font-size:9px;display:block;color:#5f755b;margin-top:3px}.mobile-logo{display:flex;align-items:center;background:none;padding:7px 9px 7px 0;color:var(--green)}.resource.insight{padding-right:0}.resource-icon svg{width:23px;height:23px}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.scene-controls{bottom:13px;left:15px}.map-control{height:32px;font-size:10px}.scene-caption{display:block;font-size:9px}.modal-backdrop{padding:17px}.modal{max-height:calc(100dvh - 34px)}}
@media(max-width:599px){#app{grid-template-rows:63px minmax(0,1fr) auto}.resource-bar{height:63px;padding:0 6px}.mobile-logo{padding:4px 5px 4px 3px}.mobile-logo svg{width:20px;height:20px}.resource{padding:9px 8px;gap:4px}.resource-icon{display:none}.resource-name{font-size:9px;letter-spacing:0}.resource-value{font-size:20px}.resource:not(:first-child):before{height:30px}.resource>div{min-width:0}.mobile-level{font-size:8px}.main-surface{height:425px;min-height:425px}.scene-heading{padding:20px 18px 50px}.scene-heading:before{left:17px;top:21px;height:45px}.scene-heading h1{font-size:24px;margin-left:13px}.scene-heading p{font-size:10px;margin-left:13px;max-width:300px}.building-button{font-size:9px;padding:8px;gap:5px;min-height:34px}.building-value{padding-left:5px;font-size:10px}.building-subtitle{font-size:8px;padding:3px 6px;margin-top:5px}.building-level{width:16px;height:16px;right:-4px;top:-6px;font-size:8px}.building-button .dot{width:5px;height:5px}.building-node.selected .building-button{outline-offset:2px}.scene-caption{display:none}.desk{padding:22px 19px;display:block}.desk>.objective{display:block}.desk .desk-section{border-left:0;border-top:1px solid var(--line);padding:19px 0 0;margin-top:20px}.desk .adviser-section{display:block}.desk>.event-peek{margin-bottom:20px}.objective h2{font-size:24px!important}.mission-card{padding:17px}.mission-card h3{font-size:18px}.mission-card p{font-size:12px}.step-track{margin:17px 0}.step-circle{width:23px;height:23px}.desk-top{display:flex;margin-bottom:17px}.adviser-note{font-size:12px}.production-bar{padding:8px 13px;display:block}.production-jobs{padding:0 0 7px}.footer-tools{justify-content:flex-end}.save-status{margin-right:auto!important;font-size:10px!important;max-width:none!important}.icon-button{width:32px;height:32px}.page-view{padding:24px 19px}.view-header h1{font-size:29px}.view-header p{font-size:12px}.page-view .card-grid,.card-grid,.form-grid,.option-grid{grid-template-columns:1fr}.subnav{gap:3px;margin-bottom:20px}.subnav button{font-size:11px;padding:9px 10px}.feature-row{gap:12px}.card{padding:17px}.modal-backdrop{padding:10px}.modal{max-height:calc(100dvh - 20px);border-radius:13px}.modal-header{padding:23px 21px 0}.modal-header h2{font-size:22px}.modal-body{padding:18px 21px 24px}.welcome-art{height:145px}.welcome-content{padding:22px}.welcome-content h1{font-size:27px}.welcome-content>p{font-size:12px}.welcome-loop{gap:8px;padding:17px 0}.welcome-loop>div{font-size:10px;gap:5px;flex-direction:column;text-align:center}.welcome-loop>div svg{width:21px;height:21px}.welcome-loop>.chevron{width:14px}.welcome-content form{flex-direction:column;align-items:stretch;gap:10px}.welcome-content form .btn{width:100%;margin-top:3px}.welcome-content form input{font-size:16px}.welcome-foot{font-size:9px;margin-top:14px}.welcome-wordmark{left:22px;bottom:21px;font-size:11px}.modal input,.modal select{font-size:16px}.quiz-block{padding:14px}.quiz-option{font-size:12px;padding:11px}.settings-row{gap:13px}.settings-row h3{font-size:13px}.settings-row p{font-size:10px}.settings-row label{font-size:10px}.scene-controls{gap:5px}.map-control{padding:0 9px;font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* The strategic panels provide their own page gutters. */
.page-view:has(.strategy-view){padding:0}

@media(min-width:1200px){.building-button{font-size:12px}.building-subtitle{font-size:10px}.resource-name{font-size:12px}.mission-card p,.adviser-note{font-size:13px}.desk-top span{font-size:11px}}

/* strategic view styles are also embedded below */