@font-face{font-family:Baloo;src:url('/assets/baloo.woff2') format('woff2');font-weight:400 800;font-display:swap}@font-face{font-family:Nunito;src:url('/assets/nunito.woff2') format('woff2');font-weight:200 1000;font-display:swap}
:root{--cream:#f5f1e8;--paper:#fffdf8;--ink:#343d32;--muted:#82867b;--green:#527346;--green-dark:#3f6038;--line:#e3e4d5;--red:#b7614d;--gold:#dab66b;--radius:20px}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:Nunito,system-ui,sans-serif;font-size:14px;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%2383775b' opacity='.045' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible,textarea:focus-visible{outline:3px solid #bd884b;outline-offset:4px}button{touch-action:manipulation}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}.skip{position:absolute;left:20px;top:-80px;z-index:100;background:var(--ink);color:white;padding:10px}.skip:focus{top:10px}.topbar{height:83px;padding:0 max(35px,calc((100vw - 1320px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px dashed #d2d3c2;background:#f8f5ede6}.brand{display:flex;align-items:center;gap:12px}.brand img{border-radius:50%;border:3px solid #e5c4b7;box-shadow:0 0 0 3px #fff7ed}.brand>span{font-family:Baloo;font-weight:800;color:var(--red);font-size:25px;letter-spacing:.8px;line-height:.9}.brand-small{display:block;font-family:Nunito;font-size:9px;letter-spacing:2px;color:#727967;margin-top:7px}.topbar nav{display:flex;gap:9px;align-items:center}.save-status{color:#838775;font-size:11px;margin-right:17px;display:flex;align-items:center;gap:6px}.save-status i,.live-pill i{width:5px;height:5px;border-radius:50%;background:#7b9263}.icon-button{height:35px;width:35px;border:1px solid #dddccd;border-radius:10px;background:#fffdf75c;display:grid;place-items:center}.icon-button svg{width:17px;height:17px}.icon-button:hover{background:#ede9db}.game-shell{max-width:1320px;padding:31px 35px 0;margin:auto}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px}.eyebrow{font-size:9px;letter-spacing:1.8px;font-weight:900;color:#879175;display:flex;align-items:center;gap:7px}.intro .eyebrow>span{width:6px;height:6px;background:#859768;border-radius:50%}h1{font-family:Baloo;font-size:48px;line-height:1.22;font-weight:800;margin-top:7px;letter-spacing:-1.6px}h1 span{color:var(--green)}.intro>div>p:last-child{font-size:13px;color:#868879;margin-top:3px}.mission-badge{display:flex;align-items:center;gap:12px;border:1px dashed #c7cdb8;border-radius:14px;padding:15px 21px;transform:rotate(-2deg);background:#eeefdf}.badge-icon{display:grid;place-items:center;background:#dce3cc;border-radius:50%;height:37px;width:37px;color:var(--green)}.badge-icon svg{width:23px;height:23px}.mission-badge strong{display:block;font-size:10px;letter-spacing:1.2px;color:var(--green)}.mission-badge>div>span{display:block;font-size:10px;color:#929581;margin-top:4px}.stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:var(--paper);border-radius:16px;padding:20px 0;margin-bottom:25px;box-shadow:0 3px 0 #e8e4d75e}.stat{display:flex;gap:14px;align-items:center;padding:0 25px;border-right:1px dashed var(--line)}.stat:last-child{border:0}.stat-icon{height:42px;width:42px;display:grid;place-items:center;border-radius:13px;flex-shrink:0}.green{background:#edf1e2;color:#69845b}.peach{background:#f7e6da;color:#ba8b72}.gold{background:#f7edce;color:#b08c42}.blue{background:#e6eef1;color:#799da7}.stat-label{font-size:8px;letter-spacing:1.2px;font-weight:900;color:#909184}.stat strong{font-family:Baloo;font-size:29px;line-height:1.2;display:block;font-weight:700;font-variant-numeric:tabular-nums}.stat strong em{white-space:nowrap;font-family:Nunito;font-size:11px;font-weight:600;font-style:normal;color:#9c9e8f}.stat small{font-size:9px;color:#919385;display:block;margin-top:3px}.play-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(325px,1fr);gap:24px}.world-panel,.workshop{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);overflow:hidden;box-shadow:0 3px 0 #e9e7d975}.world-header{height:86px;padding:20px 24px;display:flex;justify-content:space-between;align-items:center}.world-header .eyebrow{font-size:8px;letter-spacing:1.4px}h2{font-family:Baloo;font-size:23px;font-weight:700;letter-spacing:-.4px}.world-header h2{margin-top:4px}.live-pill{display:flex;align-items:center;gap:6px;font-size:7px;letter-spacing:1px;background:#f0f3e7;border:1px solid #e4e9d7;padding:7px 8px;border-radius:6px;color:#80916c;font-weight:900}.world-scene{position:relative;height:313px;background:#e9efdf;border-top:1px solid #e5e8d9;border-bottom:1px solid #e1e5d4;overflow:hidden}.world-scene canvas{height:100%;width:100%;display:block}.scene-label{position:absolute;top:16px;left:20px;font-size:8px;background:#fffdf1cd;color:#6d8060;border:1px solid #dbe3cb;padding:6px 9px;border-radius:7px;display:flex;align-items:center;gap:4px}.scene-label svg{width:11px;height:11px}.scene-hint{position:absolute;bottom:95px;right:55px;font-size:10px;font-weight:800;color:#7d9166;transform:rotate(-5deg)}.scene-hint span{font-size:25px;display:block;margin-left:130px}.frank-character{position:absolute;left:12px;bottom:11px;width:150px;pointer-events:none;filter:drop-shadow(1px 8px 5px #58644122)}.frank-character img{width:100%;height:176px;object-fit:contain;display:block;transform-origin:bottom center;transition:transform .15s}.frank-character.building img{transform:rotate(-5deg) translateY(-5px)}.frank-name{position:absolute;bottom:-3px;left:3px;background:#fffdf3;border:1px dashed #c7cbb4;padding:5px 9px;border-radius:5px;font-size:6px;letter-spacing:.7px;color:#7d8a6a;font-weight:900}.scene-zoom{position:absolute;right:14px;bottom:14px;width:29px;height:29px;background:#fffdf4c9;border-color:#d4dfc5}.build-area{padding:16px 25px 12px}.frank-says{display:flex;align-items:center;justify-content:center;gap:6px;color:#8b8f7c;font-size:11px;margin-bottom:12px}.quote-mark{font-family:Georgia;font-size:30px;line-height:.6;color:#bfc9ac}.build-button{width:100%;border:0;border-radius:12px;background:var(--green);box-shadow:0 5px 0 #385832,0 8px 15px #37533310;color:#fffcf1;padding:13px 21px;display:flex;align-items:center;gap:17px;position:relative;transition:transform .1s,box-shadow .1s}.build-button:before{content:'';position:absolute;inset:5px;border:1px dashed #b8c8a07d;border-radius:8px;pointer-events:none}.build-button:hover{background:#608251}.build-button:active{transform:translateY(4px);box-shadow:0 1px 0 #385832}.build-icon svg{height:27px;width:27px}.build-button strong{font-family:Baloo;font-size:23px;display:block;line-height:1.2;font-weight:700}.build-button small{font-size:9px;color:#d2dfc8;display:block}.build-arrow{margin-left:auto;font-size:28px;color:#d4dfc8;font-weight:300}.assembly-line{display:flex;align-items:center;gap:10px;margin-top:19px;font-size:7px;letter-spacing:.8px;color:#929a82;font-weight:900}.assembly-track,.goal-track,.mission-track{background:#eaeedd;border-radius:5px;overflow:hidden}.assembly-track{height:4px;flex:1}.assembly-track span,.goal-track span,.mission-track span{height:100%;display:block;background:#94ad79;border-radius:4px;transition:width .15s}#assembly-value{min-width:32px;text-align:right}.keyboard-hint{font-size:8px;text-align:center;color:#9ea18e;margin-top:10px}.keyboard-hint span{color:#b7b7a7}kbd{font-family:Nunito;border:1px solid #dedfce;border-radius:3px;font-size:7px;padding:1px 4px;background:#f8f8ef}.next-goal{display:flex;align-items:center;gap:15px;padding:17px 25px;border-top:1px dashed #dedfce;background:#f7f8ef}.goal-icon{height:35px;width:35px;background:#e9efdb;display:grid;place-items:center;color:#8ea270;border-radius:50%}.goal-icon svg{height:18px;width:18px}.next-goal>div{flex:1}.goal-title{display:flex;justify-content:space-between;font-size:10px;margin-bottom:8px}.goal-title>span{font-size:8px;color:#8e977d;font-weight:800}.goal-track{height:5px}.next-goal small{display:block;font-size:8px;color:#a0a38f;margin-top:6px}.workshop-heading{height:86px;padding:20px 23px;display:flex;align-items:center;justify-content:space-between}.workshop-heading>.eyebrow{font-size:7px}.workshop-heading h2{margin-top:4px}.workshop-heading>span{color:#93a77e;transform:rotate(6deg)}.workshop-heading>span svg{width:30px;height:30px}.tabs{display:flex;margin:0 18px;border-bottom:1px solid #e6e7d8;gap:4px}.tabs button{flex:1;display:flex;gap:6px;justify-content:center;align-items:center;padding:12px 5px;border:0;border-bottom:2px solid transparent;background:none;font-size:10px;color:#949885;font-weight:800;position:relative}.tabs button svg{width:14px;height:14px}.tabs button[aria-selected=true]{color:var(--green);border-bottom-color:var(--green);background:#edf1e14d;border-radius:8px 8px 0 0}.notification-dot{width:5px;height:5px;border-radius:50%;background:#b78147;position:absolute;top:9px;right:7px}.notification-dot[hidden]{display:none}.purchase-bar{display:flex;align-items:center;justify-content:space-between;padding:15px 23px 12px;font-size:7px;letter-spacing:1px;color:#a0a18d;font-weight:900}.buy-quantities{display:flex;background:#f2f3e9;border:1px solid #e9eadc;border-radius:5px;padding:2px;gap:1px}.buy-quantities button{border:0;background:none;border-radius:3px;padding:4px 7px;color:#969c86;font-size:8px;font-weight:900}.buy-quantities .selected{background:#fffdf6;color:var(--green);box-shadow:0 1px 4px #9f9f8922}#workshop-content{height:370px;overflow-y:auto;padding:0 18px 8px;scrollbar-width:thin;scrollbar-color:#d9decb transparent}.producer-card{display:flex;align-items:center;gap:12px;border:1px solid #e6e8d9;border-radius:12px;margin-bottom:9px;padding:13px 12px;background:#fdfdf5;position:relative;min-height:86px}.producer-card .item-art{height:48px;width:48px;border-radius:10px;display:grid;place-items:center;flex-shrink:0;background:#eef1e3;color:#81966b}.producer-card .item-art svg{height:34px;width:34px;stroke-width:1.5}.producer-card:nth-child(2) .item-art{background:#f3ebd8;color:#ab8f5a}.producer-card:nth-child(3) .item-art{background:#e7eceb;color:#789389}.producer-info{flex:1;min-width:0}.producer-info h3{font-size:12px;font-weight:900;display:flex;align-items:center;gap:6px}.owned{font-family:Nunito;font-size:8px;background:#edf0e2;color:#839374;border-radius:3px;padding:1px 4px}.producer-info p{font-size:8px;line-height:1.6;color:#a0a18f;margin-top:3px}.producer-rate{font-size:8px;font-weight:800;color:#8c9f73;display:block;margin-top:4px}.purchase-button{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;border:1px solid #a5b38e;color:#63814e;min-width:70px;background:#f0f4e5;border-radius:7px;padding:7px 8px;font-size:10px;font-weight:900;flex-shrink:0}.purchase-button svg{height:11px;width:11px;vertical-align:middle;margin-right:2px}.purchase-button small{font-size:6px;letter-spacing:.8px;color:#859775}.purchase-button:hover:enabled{background:#dde8c8}.purchase-button:disabled{background:#f4f3e9;border-color:#e1e1cf;color:#acae96}.purchase-button:disabled small{color:#b8baa6}.producer-card.locked{background:#f7f7ef;border-style:dashed}.producer-card.locked .item-art{background:#eceee3;color:#bac0aa}.producer-card.locked h3{color:#9ca38b}.lock-text{font-size:7px;text-align:center;max-width:72px;color:#a4ad94;line-height:1.5;font-weight:800}.lock-text svg{display:block;margin:0 auto 4px;height:14px;width:14px}.workshop-tip{display:flex;gap:10px;margin:0 18px 17px;padding:12px 15px;background:#f2f3e7;border-radius:10px;align-items:center;color:#9ca984}.workshop-tip svg{height:22px;width:22px}.workshop-tip p{font-size:9px;line-height:1.6;color:#8b967b}.workshop-tip strong{font-weight:800}.research-card .producer-info h3{font-size:11px}.researched{font-size:8px;color:#7f9b66;max-width:66px;font-weight:900}.section-intro{font-size:10px;line-height:1.7;color:#929c81;padding:13px 6px 15px}.milestone-card{padding:12px;display:flex;gap:12px;align-items:center;border:1px dashed #dedfce;border-radius:10px;margin-bottom:8px;color:#acb098}.milestone-card svg{height:25px;width:25px}.milestone-card.earned{border-style:solid;background:#f0f4e5;color:#809761}.milestone-card h3{font-size:11px;margin-bottom:3px}.milestone-card p{font-size:9px;color:#9ca18c}.milestone-card>small{margin-left:auto;font-size:7px;font-weight:900}.prestige-card{margin:10px 0;padding:15px;background:#e9eef2;border:1px dashed #b9c8d0;border-radius:12px;color:#6c8894}.prestige-card h3{font-family:Baloo;font-size:18px}.prestige-card p{font-size:10px;line-height:1.6;margin:7px 0}.prestige-card button{border:1px solid #b0c2c7;background:#f6fbfb;color:#617f8b;border-radius:6px;padding:7px 10px;font-size:10px;font-weight:900}.prestige-card button:disabled{opacity:.5}.big-mission{margin-top:23px;border:1px dashed #cfd5bd;border-radius:16px;padding:20px 25px;background:#f2f3e7}.mission-head{display:flex;justify-content:space-between;align-items:center}.mission-head>div{display:flex;align-items:center;gap:9px}.mission-head svg{height:21px;width:21px;color:#8b9e73}.mission-head h2{font-size:19px;color:#627956}.mission-head>strong{font-size:9px;color:#90a176}.mission-track{height:7px;background:#e3e8d6;margin-top:14px}.mission-stages{display:flex;justify-content:space-between;margin-top:13px}.mission-stage{font-size:8px;color:#a3ab93;display:flex;align-items:center;gap:5px}.mission-stage i{height:6px;width:6px;background:#d5ddc4;border-radius:50%}.mission-stage.current{color:#5a794a;font-weight:900}.mission-stage.current i{background:#73915b;box-shadow:0 0 0 3px #dfe8cd}.mission-stage.complete{color:#6e8d55}.mission-stage.complete i{background:#8ca774}.mission-foot{display:flex;justify-content:space-between;font-size:8px;color:#929d81;margin-top:14px;padding-top:12px;border-top:1px dashed #d6dcc6}footer{display:flex;gap:22px;justify-content:space-between;padding:22px 0;color:#a2a592;font-size:9px}footer a{margin-left:auto}footer a:hover{text-decoration:underline}footer button{background:none;border:0;padding:0;font-size:9px;color:#9ba18c}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:30;background:#3f5f38;color:#fffbed;padding:14px 25px;border-radius:12px;box-shadow:0 5px 24px #283b332c;font-size:13px;max-width:90vw;text-align:center}.toast[hidden]{display:none}dialog{border:1px solid #d2d5c3;border-radius:23px;background:var(--paper);color:var(--ink);padding:34px;max-width:460px;width:calc(100vw - 30px);box-shadow:0 20px 70px #303f3540}dialog::backdrop{background:#333f326b;backdrop-filter:blur(4px)}.dialog-close{position:absolute;right:12px;top:12px;font-size:23px}dialog h2{font-size:28px;line-height:1.1;margin-top:9px}dialog p{font-size:13px;color:#858c76;line-height:1.8;margin:12px 0}dialog ol{padding-left:22px;font-size:13px;line-height:1.8;color:#7c886f}dialog li{margin:9px 0}dialog .dialog-frank{width:64px;border-radius:50%;display:block;margin-bottom:15px}.dialog-primary{background:var(--green);border:0;border-radius:9px;color:white;padding:11px 20px;font-weight:900;margin-top:8px}.dialog-secondary{background:#f1f2e7;border:1px solid #d8dccb;border-radius:9px;padding:10px 15px;font-size:11px;font-weight:800}.settings-actions{display:flex;gap:8px;flex-wrap:wrap}.save-input{width:100%;resize:vertical;border:1px solid #d1d7c3;border-radius:9px;padding:12px;background:#f9faf2;font:11px monospace;min-height:90px;margin-top:12px}.danger{color:#a6634f;margin-top:20px;background:none;border:0;font-size:10px}.field-error{font-size:11px;color:#b25f4d;margin-top:8px}.save-input.invalid{border:2px solid #b25f4d}.about-note{font-size:10px!important;border-top:1px dashed var(--line);padding-top:12px}dialog a{text-decoration:underline}.floating{position:absolute;pointer-events:none;color:var(--green-dark);font-family:Baloo;font-weight:700;font-size:19px;animation:float-up 1s ease-out forwards;z-index:4;text-shadow:0 1px #fff}#confetti{pointer-events:none;position:fixed;inset:0;width:100%;height:100%;z-index:45}.victory{text-align:center}.victory .dialog-frank{margin:0 auto 15px;width:85px}.victory h2{font-size:38px;color:var(--green)}.victory strong{color:var(--green)}@keyframes float-up{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-65px) rotate(-7deg)}}
@media(min-width:1450px){.game-shell{padding-top:38px}.world-scene{height:340px}#workshop-content{height:397px}}
@media(max-width:1050px){.game-shell{padding:25px 22px 0}.topbar{padding:0 24px}.stat{padding:0 17px;gap:10px}.stat small{font-size:8px}.stat-label{font-size:7px}.stat-icon{width:35px;height:35px}.play-layout{gap:16px;grid-template-columns:minmax(0,1.45fr) minmax(315px,1fr)}h1{font-size:43px}.world-header{padding:20px}.world-header h2{font-size:20px}.live-pill{font-size:6px}.producer-card{gap:8px;padding:12px 9px}.producer-card .item-art{height:39px;width:39px}.producer-info h3{font-size:11px}.purchase-button{min-width:61px;padding:7px 5px}.mission-badge{padding:13px 15px}.world-scene{height:300px}#workshop-content{height:357px}.keyboard-hint span:last-child{display:none}}
@media(max-width:790px){.play-layout{grid-template-columns:1fr}.workshop #workshop-content{height:330px}.intro{gap:15px}.mission-badge{display:none}.stats{padding:16px 0}.stat{padding:0 12px;gap:8px}.stat-icon{display:none}.stat strong{font-size:26px}.stat small{font-size:8px}.world-scene{height:340px}.world-header h2{font-size:23px}.scene-hint{right:80px}.frank-character{width:160px}.frank-character img{height:195px}.workshop-heading{height:78px}.producer-card{padding:13px}.producer-info h3{font-size:13px}.producer-info p{font-size:10px}.producer-rate{font-size:10px}.producer-card .item-art{width:50px;height:50px}.purchase-button{min-width:85px;padding:8px 12px}.mission-head h2{font-size:17px}.mission-stages{flex-wrap:wrap;gap:13px}.mission-stage{font-size:9px}footer{flex-wrap:wrap;gap:12px}.producer-card .lock-text{max-width:100px;font-size:9px}.keyboard-hint span:last-child{display:inline}}
@media(max-width:480px){.topbar{height:69px;padding:0 17px}.brand{gap:9px}.brand img{height:35px;width:35px}.brand>span{font-size:22px}.brand-small{font-size:7px;letter-spacing:1.5px}.save-status{font-size:0;margin-right:4px}.save-status i{height:7px;width:7px}.icon-button{height:30px;width:30px;border-radius:8px}.topbar nav{gap:5px}.game-shell{padding:23px 14px 0}.intro{margin-bottom:22px}.intro .eyebrow{font-size:7px;letter-spacing:1.1px}h1{font-size:39px}.intro>div>p:last-child{font-size:11px;line-height:1.6;max-width:300px}.stats{display:grid;grid-template-columns:1fr 1fr;padding:0;margin-bottom:18px}.stat{padding:15px 17px;border-bottom:1px dashed var(--line);gap:12px}.stat:nth-child(2){border-right:0}.stat:nth-child(3),.stat:nth-child(4){border-bottom:0}.stat-icon{display:grid;height:34px;width:34px}.stat-label{font-size:7px}.stat strong{font-size:27px}.stat small{font-size:7px}.world-header{height:82px;padding:18px}.world-header .eyebrow{font-size:7px}.world-header h2{font-size:21px}.world-header .live-pill{display:none}.world-scene{height:270px}.frank-character{left:1px;width:115px}.frank-character img{height:150px}.frank-name{font-size:5px;padding:4px 6px;bottom:-2px}.scene-hint{font-size:8px;right:25px;bottom:67px}.scene-hint span{margin-left:90px}.scene-label{top:12px;left:14px;font-size:7px}.build-area{padding:16px 18px 13px}.frank-says{font-size:9px}.build-button{padding:13px 18px;gap:12px}.build-button strong{font-size:23px}.keyboard-hint span:last-child{display:none}.next-goal{padding:16px 18px;gap:10px}.goal-title{font-size:9px}.goal-title>span{font-size:7px}.next-goal small{font-size:7px}.workshop-heading{padding:18px}.workshop-heading .eyebrow{font-size:7px}#workshop-content{padding:0 14px 10px}.producer-card{padding:12px 9px;gap:9px}.producer-card .item-art{width:41px;height:41px}.producer-info h3{font-size:11px}.producer-info p{font-size:8px}.producer-rate{font-size:8px}.purchase-button{min-width:70px;padding:8px}.big-mission{padding:18px}.mission-head{gap:12px}.mission-head h2{font-size:15px;line-height:1.3}.mission-head svg{width:21px;flex-shrink:0}.mission-head>strong{font-size:7px;white-space:nowrap}.mission-foot{display:block;font-size:8px}.mission-foot>span{display:block;margin-top:3px}.mission-stages{gap:11px}.mission-stage{font-size:8px}footer{font-size:8px;justify-content:center;padding:20px 0}footer a{margin-left:0}footer>span{width:100%;text-align:center}dialog{padding:29px}dialog h2{font-size:26px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

@media(max-width:480px){#production-value{font-size:24px;white-space:nowrap}#production-value em{font-size:8px}}
/* Frank’s handmade factory: brick, denim, mustard, and warm stitched canvas. */
:root{--ink:#344652;--muted:#7b888b;--green:#b5624d;--green-dark:#994b3b;--line:#d9ddd2;--red:#b5624d;--gold:#d1ae62;--radius:16px}
.topbar{background:#f6f1e7;border-bottom:2px dashed #d3caba}.brand-small{color:#557589}.game-shell{padding-top:25px}.intro{margin-bottom:23px}.intro .eyebrow{color:#a66d50}.intro .eyebrow>span{background:#c49b55;border-radius:1px;transform:rotate(45deg)}h1{font-size:49px;color:#3c6077;letter-spacing:-1.6px}h1 span{color:#b5624d}.intro>div>p:last-child{color:#7c8a88}.mission-badge{background:#f0e7cc;border-color:#cfb87a;transform:rotate(-1.5deg)}.badge-icon{background:#e6d7ac;color:#957d48}.mission-badge strong{color:#8c784c}.mission-badge>div>span{color:#a39269}.stats{border-radius:12px;background:#fcf9f1;border-color:#d6d9cf;box-shadow:0 3px 0 #dedfce;padding:17px 0;position:relative}.stats:after{content:'';position:absolute;bottom:0;left:0;right:0;height:4px;background:repeating-linear-gradient(125deg,#d4ba75 0 9px,#7f8c8022 9px 18px);border-radius:0 0 10px 10px}.stat-label{color:#859091}.stat strong{color:#395969}.stat-icon{border-radius:7px;border:1px dashed #c2ccb5}.stat-icon.green{background:#e7eeeb;color:#5d7d86}.stat-icon.peach{background:#f1e0d6;color:#b56d53}.stat-icon.gold{border-color:#d8c38b}.stat-icon.blue{background:#e3eaec;color:#557888}.world-panel,.workshop{background:#fcf9f0;border-color:#cbd1c9;box-shadow:0 4px 0 #d9ded3}.world-header{height:79px;background:#3f6176;color:#fff8e8;padding:16px 24px;position:relative}.world-header:after{content:'';position:absolute;inset:5px;border:1px dashed #b8c4bc60;border-radius:11px 11px 0 0;pointer-events:none}.world-header .eyebrow{color:#e0cf9d}.world-header h2{font-size:24px}.live-pill{color:#dfd3af;background:#304f62;border-color:#76909b70;white-space:nowrap}.live-pill i{background:#d6bc76;box-shadow:0 0 5px #d6bc7633}.world-scene{height:348px;background:#ebe8dc;border:0}.scene-label{background:#f7f0d9dd;border:1px dashed #c9bc90;color:#887b53;top:13px;left:18px;font-weight:800;letter-spacing:.4px}.scene-label svg{color:#ac8c50}.frank-character{left:9px;bottom:18px;width:160px}.frank-character img{height:198px}.frank-name{color:#a06a51;background:#f6e6d7;border-color:#c59981;bottom:-7px;font-size:6px;letter-spacing:1px}.scene-hint{bottom:35px;right:125px;color:#849082;font-size:9px;transform:rotate(0deg)}.scene-hint span{display:none}.scene-zoom{background:#ece8d8;color:#56727e;border:1px dashed #b9c5bd}.factory-process{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:13px 20px;border-top:4px solid transparent;border-image:repeating-linear-gradient(120deg,#cfb372 0 8px,#536b7333 8px 16px) 4;border-bottom:1px dashed #d6d8c9;background:#ecefe3;font-size:8px;color:#91a08f;font-weight:900}.factory-process span{display:flex;align-items:center;gap:6px;white-space:nowrap}.factory-process b{display:grid;place-items:center;width:18px;height:18px;border:1px solid #cbd3c2;border-radius:4px;font-size:7px;color:#a3ad96;background:#f7f5e9}.factory-process .active{color:#b16b4e}.factory-process .active b{background:#bd7754;color:#fff7dd;border-color:#ab6a49}.factory-process>i{font-size:11px;font-style:normal;color:#bcc5ae}.build-area{padding-top:13px;padding-bottom:11px}.frank-says{color:#8a8f7c;font-size:10px;margin-bottom:10px}.build-button{background:#b5624d;box-shadow:0 5px 0 #8e4c3a,0 8px 15px #704b3710;border-radius:9px;padding:12px 21px}.build-button:hover{background:#c16d56}.build-button:active{box-shadow:0 1px 0 #8e4c3a}.build-button:before{border-color:#e1b597a8;border-radius:6px}.build-button small{color:#eed6bf}.build-arrow{color:#ebcaae}.assembly-track span{background:#bc7858}.assembly-line{color:#9b926d}.next-goal{background:#f0f1e4}.goal-icon{background:#e2e9e0;color:#658491}.goal-track span,.mission-track span{background:#a4b17d}.workshop-heading{background:#eee9d7;border-bottom:1px dashed #d5ccb4;height:79px;color:#536b74;padding:16px 23px}.workshop-heading .eyebrow{color:#a5956d;font-size:8px;letter-spacing:1.25px}.workshop-heading h2{font-size:24px}.workshop-heading>span{color:#9b8a5a}.tabs{margin:0 18px;padding-top:8px;border-bottom-color:#d7dfd4}.tabs button[aria-selected=true]{color:#416a81;border-bottom-color:#416a81;background:#e8efeb}.tabs button{font-size:10px;color:#8b9686}.purchase-bar{color:#969575}.buy-quantities{background:#e9ebdf}.buy-quantities .selected{color:#537587}.producer-card{border-radius:9px;border-color:#d5dccf;background:#fcfbf2;min-height:90px}.producer-card .item-art{color:#4e788d;background:#e5edef;border-radius:6px;border:1px dashed #b8c9c7}.producer-card:nth-child(2) .item-art{color:#a68545;background:#efe5c9;border-color:#d2be86}.producer-card:nth-child(3) .item-art{color:#759078;background:#e6ecde;border-color:#bdcbb1}.producer-info h3{color:#48616a}.producer-info p{color:#939b88}.producer-rate{color:#7b9874}.owned{border:1px solid #d2d9c9;background:#edf0e1}.purchase-button{background:#e5ecea;border-color:#9eb4b7;color:#4e7182;border-radius:5px}.purchase-button small{color:#8a9b97}.purchase-button:hover:enabled{background:#d5e4e3}.producer-card.locked{background:#f1f1e4;border-color:#dbdecf}.producer-card.locked .item-art{border-color:#d8dccb;background:#e8ebde}.workshop-tip{border-radius:7px;border:1px dashed #d4c695;background:#f1ead0;color:#b09151;margin-bottom:15px}.workshop-tip p{color:#9b8c65}.big-mission{background:#eceede;border-color:#c6cfb4;border-radius:12px}.mission-head h2{color:#5b7580}.mission-head svg{color:#6b8790}#workshop-content{height:453px}.toast{background:#41687b}.dialog-primary{background:#b5624d}.prestige-card{background:#e6edf0}.factory-process .active b{transition:background .15s}.stat strong em{color:#8d9a96}
@media(min-width:1450px){.world-scene{height:376px}#workshop-content{height:481px}}
@media(max-width:1050px){h1{font-size:43px}.world-scene{height:330px}#workshop-content{height:435px}.factory-process{padding:12px 14px;font-size:7px}.factory-process span{gap:4px}.world-header h2{font-size:22px}.frank-character{width:140px}.frank-character img{height:182px}}
@media(max-width:790px){.world-scene{height:365px}.workshop #workshop-content{height:345px}.world-header h2{font-size:24px}.factory-process{font-size:9px;padding:13px 20px}.frank-character{width:166px}.frank-character img{height:207px}}
@media(max-width:480px){h1{font-size:38px}.intro .eyebrow{font-size:6.5px;letter-spacing:1px}.intro>div>p:last-child{font-size:10px;max-width:290px}.game-shell{padding-top:20px}.stats{padding:0}.stat{padding:14px 17px}.world-header{height:77px;padding:17px}.world-header h2{font-size:21px}.world-scene{height:274px}.frank-character{width:119px;bottom:16px;left:2px}.frank-character img{height:156px}.frank-name{font-size:4.5px;letter-spacing:.7px}.scene-label{font-size:6px;letter-spacing:.15px;top:11px;left:13px;padding:6px}.scene-hint{bottom:25px;right:40px;font-size:6px}.factory-process{padding:11px 10px;font-size:6px;gap:3px}.factory-process span{gap:3px}.factory-process b{width:14px;height:14px;font-size:6px}.factory-process>i{font-size:8px}.build-area{padding:14px 18px 12px}.build-button{padding:13px 16px;gap:12px}.build-button strong{font-size:21px}.workshop-heading{height:77px;padding:17px}.workshop-heading .eyebrow{font-size:6px}.workshop-heading h2{font-size:22px}.producer-card{min-height:87px}.big-mission{padding:17px}.mission-head h2{font-size:15px}}
/* The world changes with every breakthrough; Frank's felt-and-denim identity stays. */
[hidden]{display:none!important}body{--era:#41687b;--era-soft:#e6edef;--era-accent:#b5624d;--era-bg:#f5f1e8;--era-mist:#e9ede2;background-color:var(--era-bg);transition:background-color .9s,color .6s}body[data-era=droid]{--era:#294c59;--era-soft:#d7e9e4;--era-accent:#4a8d82;--era-bg:#eaf0eb;--era-mist:#dce7e3}body[data-era=abundance]{--era:#567554;--era-soft:#e3edda;--era-accent:#8d9b55;--era-bg:#f0f2e5;--era-mist:#e5edd8}body[data-era=lab]{--era:#666c91;--era-soft:#e6e7f3;--era-accent:#8781b6;--era-bg:#f1eff6;--era-mist:#e9e6f2}body[data-era=gardens]{--era:#3d7256;--era-soft:#dfeeda;--era-accent:#7d9d47;--era-bg:#f0f2e4;--era-mist:#e0ead3}body[data-era=solar]{--era:#94703e;--era-soft:#f4e6bf;--era-accent:#bc8b41;--era-bg:#f7f0dc;--era-mist:#f2e7c9}body[data-era=essentials]{--era:#4f7980;--era-soft:#dcecec;--era-accent:#679c91;--era-bg:#edf3ed;--era-mist:#e0ece5}body[data-era=global]{--era:#345d76;--era-soft:#dce9ef;--era-accent:#b5624d;--era-bg:#eaf1f1;--era-mist:#dce8e7}
.intro .eyebrow>#intro-eyebrow{width:auto;height:auto;background:none;border-radius:0;color:var(--era);font-size:8px}.intro .eyebrow>span:first-child{flex:none}h1 span{color:var(--era-accent)}.world-header{background:var(--era);transition:background .7s}.live-pill{background:#0002;color:#f8f1dc}.world-scene{background:var(--era-mist);transition:background .7s}.scene-label{max-width:80%;background:#fff9e4eb;font-size:7px}.mission-badge{background:var(--era-soft);border-color:#aab8a0}.mission-badge strong{color:var(--era)}.mission-badge .badge-icon{background:#fff9;color:var(--era)}.build-button,.dialog-primary{background:var(--era-accent)}.build-button:hover{background:var(--era-accent);filter:brightness(1.06)}.workshop-heading{background:var(--era-soft)}.tabs button[aria-selected=true]{color:var(--era);border-bottom-color:var(--era);background:var(--era-soft)}.era-path{display:grid;grid-template-columns:repeat(9,1fr);gap:6px;margin:-8px 0 22px}.era-step{border:1px dashed #ccd2c4;background:#fff9;border-radius:9px;padding:9px 8px;display:flex;align-items:center;gap:7px;min-width:0;font-size:9px;font-weight:800;color:#6a7c79;transition:background .3s}.era-step b{font-size:8px;color:#9a9f86}.era-step small{margin-left:auto;font-size:7px;letter-spacing:.5px}.era-step.selected{color:#fff7e9;background:var(--era);border-color:var(--era)}.era-step.selected b{color:#e1cf9d}.era-step.complete{border-style:solid}.era-step:disabled{opacity:.58;cursor:default}.era-step:hover:enabled{box-shadow:0 2px 0 #455d4925}.chapter-story{padding:14px 25px;background:var(--era-soft);border-bottom:1px dashed #c5cbbb;color:var(--era);font-size:10px;line-height:1.65;transition:background .6s}.chapter-story p{max-width:580px}.chapter-story button{border:0;background:none;font-size:9px;font-weight:900;color:var(--era);padding:6px 0 0;text-decoration:underline}.next-leap{margin:16px 25px 0;padding:13px 15px;border:1px dashed #c9ae77;border-radius:9px;background:#f6efd8;display:flex;align-items:center;gap:15px}.next-leap>div{flex:1}.next-leap .eyebrow{font-size:7px;color:#a08752;letter-spacing:1.2px}.next-leap strong{font-family:Baloo;font-size:17px;display:block;color:var(--era);margin:4px 0}.next-leap p{font-size:9px;color:#818371;line-height:1.5}.next-leap small{display:block;font-size:8px;font-weight:900;color:#9d8557;margin-top:5px}.next-leap button{border:1px solid #c3bba4;background:#fff8e8;color:#887c55;border-radius:6px;padding:10px 12px;white-space:nowrap;font-size:9px;font-weight:900}.next-leap button.ready{background:var(--era);color:#fff8df;border-color:var(--era)}.lab-stats{display:flex;align-items:center;gap:20px;border:1px dashed #bfc1db;border-radius:12px;background:#e6e5f2;padding:12px 20px;margin-bottom:23px;color:#747696}.lab-stat-icon{display:grid;place-items:center;height:36px;width:36px;border-radius:8px;background:#fff8}.lab-stats small{font-size:7px;font-weight:900;letter-spacing:1px;display:block}.lab-stats strong{font-family:Baloo;font-size:24px;line-height:1.2;display:block}.lab-stats>span{font-size:10px}.lab-stats>#housing-complete{margin-left:auto;font-weight:800;color:#698c61}.floor-switch{display:flex;gap:5px;margin:0 18px 12px;padding:4px;background:#e9ecdf;border-radius:7px}.floor-switch button{background:none;border:0;border-radius:5px;flex:1;padding:8px;font-size:9px;font-weight:900;color:#899681}.floor-switch button[aria-pressed=true]{background:var(--era);color:#fff7e7}.production-focus{display:flex;flex-wrap:wrap;gap:5px;margin:2px 0 13px}.production-focus button{display:flex;align-items:center;gap:4px;background:#f3f4e9;border:1px dashed #cbd2c1;border-radius:6px;padding:6px 9px;font-size:8px;font-weight:900;color:#8c9b86}.production-focus svg{width:13px;height:13px}.production-focus button[aria-pressed=true]{background:var(--era-soft);color:var(--era);border-style:solid;border-color:var(--era)}.section-intro{line-height:1.7}.section-intro strong{display:block;font-size:9px;letter-spacing:1px;color:var(--era);margin-bottom:7px}.section-intro p{font-size:11px}.research-card.is-next{border:1px dashed #b39863;background:#f8f0da}.story-research .item-art{background:var(--era-soft);color:var(--era)}.research-card .producer-info h3{font-size:12px}.research-card .producer-info p{font-size:9px;line-height:1.45}.lock-text{max-width:95px;line-height:1.5;font-size:8px}.impact-section{margin:24px 0}.impact-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.impact-heading h2{font-family:Baloo;font-size:23px;line-height:1.2;margin-top:5px;color:var(--era)}.impact-heading>span{font-size:7px;font-weight:900;letter-spacing:1px;color:#91a187}.impact-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.impact-card{border:1px solid #c8d7c5;background:#fff9ef;border-radius:12px;padding:17px;position:relative}.impact-card>span{display:block;color:var(--era);margin-bottom:7px}.impact-card svg{width:24px;height:24px}.impact-card h3{font-size:10px;color:#749071}.impact-card strong{display:block;font-family:Baloo;font-size:26px;color:var(--era);line-height:1.2;margin:4px 0}.impact-card small{font-size:8px;display:block;color:#91a087}.impact-track{height:4px;border-radius:4px;background:#e4e9da;overflow:hidden;margin:10px 0 7px}.impact-track span{height:100%;display:block;background:var(--era-accent);width:0}.impact-card.locked{opacity:.52;filter:saturate(.35);border-style:dashed}.era-jump:after{content:'A WHOLE NEW WORLD';position:absolute;inset:0;display:grid;place-items:center;background:#fff8dbd9;color:var(--era);font-family:Baloo;font-size:30px;letter-spacing:1px;pointer-events:none;animation:era-reveal 1.2s both;z-index:4}@keyframes era-reveal{0%{opacity:0}20%{opacity:1}80%{opacity:.9}100%{opacity:0}}#workshop-content{height:590px}.mission-stages{flex-wrap:wrap;gap:8px}.mission-badge strong{font-size:9px}.world-panel{align-self:start}.world-header h2{font-size:23px}.world-header .eyebrow{font-size:7px}.build-button strong{font-size:23px}.workshop .producer-info p{line-height:1.45}.factory-process>span>span{font-size:inherit}.world-scene{height:365px}
@media(max-width:1100px){.era-step{font-size:8px;padding:8px 5px;gap:4px}.era-step small{display:none}.lab-stats{gap:13px}.world-header h2{font-size:21px}.next-leap{margin:13px 17px 0;padding:12px}.next-leap strong{font-size:16px}.next-leap button{font-size:8px;padding:9px}.impact-card{padding:14px}.world-scene{height:325px}}
@media(max-width:790px){.era-path{grid-template-columns:repeat(9,90px);overflow:auto;padding-bottom:5px;scrollbar-width:thin}.era-step{font-size:9px;padding:10px 6px}.world-scene{height:365px}.workshop #workshop-content{height:390px}.lab-stats{flex-wrap:wrap;gap:11px}.lab-stats>#housing-complete{margin-left:0}.impact-grid{grid-template-columns:repeat(3,1fr)}.impact-heading>span{max-width:90px;text-align:right;font-size:6px}.build-button strong{font-size:23px}.next-leap button{font-size:9px}.era-jump:after{font-size:24px}}
@media(max-width:480px){.intro .eyebrow>#intro-eyebrow{font-size:6px;letter-spacing:1px}.intro>div>p:last-child{max-width:340px;line-height:1.6}.era-path{margin:0 0 18px;grid-template-columns:repeat(9,84px)}.world-scene{height:284px}.world-header h2{font-size:21px;max-width:238px}.live-pill{font-size:6px;padding:7px}.chapter-story{padding:12px 17px;font-size:9px}.next-leap{gap:8px}.next-leap p{font-size:8px}.next-leap strong{font-size:14px}.next-leap button{font-size:8px;white-space:normal;width:77px}.build-button strong{font-size:20px}.build-button small{font-size:7px}.production-focus{gap:4px}.production-focus button{font-size:7px;padding:6px 7px}.impact-grid{grid-template-columns:repeat(2,1fr);gap:8px}.impact-card:last-child{grid-column:span 2}.impact-heading h2{font-size:20px}.impact-heading .eyebrow{font-size:6px}.lab-stats{padding:12px 15px}.lab-stats>span{font-size:8px}.lab-stats small{font-size:6px}.lab-stats strong{font-size:21px}.world-header .eyebrow{font-size:6px}.scene-label{font-size:5px;max-width:90%}.frank-character img{height:146px}.factory-process{font-size:5.5px}.factory-process>span{gap:2px}.factory-process b{width:12px;height:12px;font-size:5px}}
@media(prefers-reduced-motion:reduce){body,.world-header,.world-scene,.chapter-story{transition:none}.era-jump:after{display:none}}

.intro .eyebrow>#intro-eyebrow{transform:none;flex:initial;display:inline-block}

@media(max-width:480px){.world-header{height:auto;min-height:90px;gap:8px}.world-header>div{min-width:0}.world-header h2{font-size:20px;line-height:1.2;max-width:none}.world-header .live-pill{flex-shrink:0}.world-header .eyebrow{margin-bottom:5px}}

.happy-dad-card{margin:15px;border:1px solid #bac6d3;border-radius:13px;overflow:hidden;background:#f9f7ed;box-shadow:0 6px 15px #51718f0a}.bar-art{position:relative;background:#e7e8ee}.bar-art img{display:block;width:100%;height:158px;object-fit:contain}.bar-art>span{position:absolute;left:12px;bottom:10px;font-size:7px;font-weight:900;letter-spacing:1px;color:#f9f3df;background:#54789a;padding:6px 9px;border-radius:5px}.bar-content{padding:17px}.bar-content .eyebrow{font-size:7px;margin:0 0 8px;color:#8493a5}.bar-content h3{font:700 25px/1.1 Baloo,sans-serif;margin:0 0 8px;color:#47678c}.bar-content p{font-size:10px;line-height:1.65;color:#7f887f;margin:0 0 13px}.bar-boost{font-size:10px;font-weight:900;color:#6e8457;margin-bottom:12px}.bar-research{width:100%;padding:13px 8px;border:0;border-radius:7px;background:#4b709a;color:#fff8e7;font:800 10px Nunito,sans-serif;cursor:pointer}.bar-research:disabled{background:#9eafbb;cursor:default}.bar-content>small{display:block;margin-top:12px;font-size:8px;line-height:1.6;color:#90978c}.bar-content a{color:#5c7897;text-underline-offset:2px}.bar-open .bar-art>span{background:#788f5f}.bar-open .bar-research:disabled{background:#81996a;color:#fff9e9}.bar-unfold{animation:bar-unfold 1.2s ease-out}@keyframes bar-unfold{0%,100%{filter:none}25%{filter:brightness(1.18)}60%{filter:brightness(1.05)}}footer{flex-wrap:wrap;gap:14px}footer>a:last-child{color:#8d8e7f}.disclaimer-page{max-width:780px;margin:55px auto;padding:0 24px}.disclaimer-page h1{font:700 54px/1.07 Baloo,sans-serif;color:#526d51;margin:17px 0}.disclaimer-page .disclaimer-card{padding:30px;border:1px dashed #b8c4a7;border-radius:17px;background:#fffdf5}.disclaimer-page p{font-size:14px;line-height:1.85;color:#79816f}.disclaimer-page strong{color:#52634d}.disclaimer-page h2{font:700 25px Baloo,sans-serif;margin:28px 0 8px;color:#6d805b}.disclaimer-page a{color:#547591}.disclaimer-page .back-to-game{display:inline-block;text-decoration:none;background:#829a68;color:#fff9e9;padding:13px 20px;border-radius:8px;font:800 12px Nunito,sans-serif;margin:18px 0}.disclaimer-page .creator{font-size:11px;letter-spacing:2px;color:#a17659;font-weight:900}@media(max-width:480px){.disclaimer-page{padding:0 17px;margin:30px auto}.disclaimer-page h1{font-size:36px}.disclaimer-page .disclaimer-card{padding:21px}.disclaimer-page p{font-size:12px}.bar-art img{height:165px}footer>a:last-child{flex-basis:100%}}@media(prefers-reduced-motion:reduce){.bar-unfold{animation:none}}
