@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@300;400;500&family=Fraunces:opsz,wght@9..144,600;9..144,800&display=swap";:root{--ink:#172015;--paper:#e9e3cb;--moss:#586b3a;--lichen:#a9b66d;--amber:#e9a63a;--rust:#8e3d20;--soil:#261b14;--line:rgba(23,32,21,.22);--mono:"DM Mono",monospace;--serif:"Fraunces",Georgia,serif;--snap:cubic-bezier(.2,.8,.2,1)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;background:var(--ink);color:var(--ink)}button{font:inherit}button:focus-visible{outline:3px solid var(--amber);outline-offset:3px}.loading{height:100vh;background:var(--ink);color:var(--paper);display:grid;place-content:center;text-align:center;font-family:var(--mono);letter-spacing:.12em}.loading span{font-size:.68rem;color:var(--lichen)}.loading strong{font:600 clamp(2.4rem,7vw,6.5rem)/.9 var(--serif);letter-spacing:-.055em;margin:1rem 0}.loading i{width:13rem;height:2px;background:#ffffff24;position:relative;margin:auto;overflow:hidden}.loading i:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--amber);animation:load .4s var(--snap) forwards;transform-origin:left}@keyframes load{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.game-shell{min-height:100vh;background:var(--paper);display:grid;grid-template-columns:minmax(0,1fr) 22rem;grid-template-rows:auto minmax(32rem,1fr) auto;position:relative;overflow:hidden}.game-shell:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.16;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='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E");z-index:9}.masthead{grid-column:1/-1;display:flex;justify-content:space-between;align-items:end;padding:1.25rem 2rem 1rem;border-bottom:1px solid var(--line)}.eyebrow,.scene-label span,.ledger span,.command-bar span{font:.58rem/1 var(--mono);letter-spacing:.16em;text-transform:uppercase}.masthead h1{font:800 clamp(2.5rem,5vw,5.3rem)/.72 var(--serif);letter-spacing:-.065em;margin:.45rem 0 0}.masthead h1 em{font-style:italic;color:var(--moss)}.clock{text-align:right;font-family:var(--mono)}.clock span{display:block;font-size:.55rem;letter-spacing:.14em}.clock strong{font-size:1.25rem}.scene-frame{position:relative;min-height:32rem;background:linear-gradient(145deg,#849264,#495536);overflow:hidden;border-right:1px solid var(--line)}.colony-scene,.colony-scene canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%!important;height:100%!important}.scene-label{position:absolute;top:1.4rem;left:1.5rem;color:#f0ebd5;display:grid;gap:.35rem}.scene-label b{font:600 1.65rem var(--serif);text-transform:capitalize}.view-switch{position:absolute;top:1.25rem;right:1.25rem;background:#182015cc;padding:.25rem;display:flex;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.view-switch button{border:0;background:transparent;color:#c9ceb4;padding:.62rem .85rem;font:.62rem var(--mono);text-transform:uppercase;cursor:pointer}.view-switch button.active{background:var(--paper);color:var(--ink)}.paused-stamp{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%) rotate(-2deg);border:3px double var(--paper);padding:1.15rem 2rem;color:var(--paper);font:500 .85rem var(--mono);letter-spacing:.2em;background:#172015c9;white-space:nowrap}.ledger{padding:1.4rem 1.5rem 1.2rem;background:var(--paper);overflow:auto}.colony-name{border-bottom:1px solid var(--line);padding-bottom:1rem}.colony-name span{display:block;color:var(--moss);margin-bottom:.4rem}.colony-name strong{font:600 1.3rem var(--serif)}.metrics{display:grid;grid-template-columns:1fr 1fr;margin:0;border-bottom:1px solid var(--line)}.metrics div{padding:1.05rem 0}.metrics div:nth-child(odd){border-right:1px solid var(--line)}.metrics div:nth-child(2n){padding-left:1rem}.metrics dt{font:.57rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#5f6656}.metrics dd{font:600 1.85rem var(--serif);margin:.2rem 0 0}.metrics small{font:.55rem var(--mono);margin-left:.25rem;color:#68705e}.activity,.orders{padding-top:1.15rem}.activity>span,.orders>span{display:block;color:var(--moss);margin-bottom:.65rem}.activity strong{font:600 .9rem var(--serif)}.progress{height:3px;background:#c9c2a9;margin-top:.8rem}.progress i{display:block;height:100%;background:var(--rust);transition:width .25s linear}.orders{display:grid;gap:.45rem}.orders>span{grid-column:1}.orders button{border:1px solid var(--ink);background:transparent;padding:.72rem;text-align:left;font:.65rem var(--mono);cursor:pointer;transition:.18s var(--snap)}.orders button:hover:not(:disabled),.orders button.selected{background:var(--ink);color:var(--paper);transform:translate(-3px)}.orders button:disabled{opacity:.35;cursor:not-allowed}.orders button b{float:right;color:var(--amber);font-weight:400}.command-bar{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:1rem 1.5rem;background:#ded7bd}.tutorial span{display:block;color:var(--rust);margin-bottom:.35rem}.tutorial strong{font:600 1rem var(--serif)}.controls{display:flex}.controls button{border:1px solid var(--ink);background:transparent;padding:.75rem 1.1rem;font:.68rem var(--mono);cursor:pointer;margin-left:-1px}.controls .pause{background:var(--ink);color:var(--paper);min-width:7rem}.notice{position:fixed;bottom:5.5rem;left:50%;transform:translate(-50%);background:var(--amber);color:var(--ink);padding:.8rem 1.2rem;font:.7rem var(--mono);z-index:10;box-shadow:5px 5px 0 var(--ink)}.success{position:fixed;top:0;right:0;bottom:0;left:0;background:#172015f5;color:var(--paper);z-index:8;display:grid;align-content:center;padding:clamp(2rem,10vw,10rem)}.success span{font:.62rem var(--mono);letter-spacing:.18em;color:var(--lichen)}.success h2{font:800 clamp(4rem,10vw,9rem)/.78 var(--serif);letter-spacing:-.06em;margin:1.2rem 0}.success p{max-width:32rem;font:300 .85rem/1.8 var(--mono)}.success button{justify-self:start;margin-top:1.5rem;background:var(--amber);border:0;padding:1rem 1.35rem;font:.72rem var(--mono);cursor:pointer}@media(max-width:850px){.game-shell{grid-template-columns:1fr;grid-template-rows:auto 58vh auto auto}.masthead{padding:1rem}.clock{display:none}.scene-frame{border-right:0}.ledger{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.orders{grid-column:1/-1}.command-bar{gap:1rem;align-items:stretch}.controls{flex-shrink:0}}@media(max-width:560px){.game-shell{grid-template-rows:auto 52vh auto auto}.masthead h1{font-size:2.6rem}.ledger,.command-bar{display:block}.controls{margin-top:1rem}.controls button{flex:1}.tutorial strong{font-size:.85rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.scene-fallback{height:100%;display:grid;place-content:center;text-align:center;color:var(--paper);background:radial-gradient(circle,#4b5935,#27301f)}.scene-fallback span{font:italic 600 3rem var(--serif);text-transform:capitalize}.scene-fallback b{font:.6rem var(--mono);letter-spacing:.15em}.camera-note{position:absolute;left:1.5rem;bottom:1.25rem;color:#f0ebd5cc;font:.54rem var(--mono);letter-spacing:.06em;background:#1720158c;padding:.45rem .6rem}.paused-stamp{text-align:center;background:#172015d9}.paused-stamp small{display:block;margin-top:.55rem;font-size:.5rem;letter-spacing:.08em;color:var(--lichen)}.food-ledger{border:1px solid var(--line);padding:.7rem;background:#ded7bd66}.food-ledger dl{display:grid;grid-template-columns:repeat(3,1fr);margin:0 0 .55rem}.food-ledger dl div+div{border-left:1px solid var(--line);padding-left:.55rem}.food-ledger dt{font:.48rem var(--mono);letter-spacing:.08em;text-transform:uppercase}.food-ledger dd{font:600 .95rem var(--serif);margin:.2rem 0}.food-ledger>span{font-size:.48rem}.worker-picker{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:.65rem .25rem;display:grid;grid-template-columns:1fr auto;align-items:center}.worker-picker>span{font-size:.52rem}.worker-picker>div{display:flex;align-items:center}.worker-picker button{width:2rem;padding:.35rem;text-align:center}.worker-picker output{min-width:2rem;text-align:center;font:600 1rem var(--serif)}.worker-picker small{grid-column:1/-1;font:.48rem var(--mono);color:#68705e;margin-top:.35rem}.action-hint{display:block;position:relative}.action-hint>button{width:100%}.action-hint>button:disabled{pointer-events:none}.action-hint[data-tooltip]:hover:after,.action-hint[data-tooltip]:focus-within:after{content:attr(data-tooltip);position:absolute;z-index:12;right:0;bottom:calc(100% + .45rem);width:min(17rem,80vw);padding:.55rem .65rem;background:var(--ink);color:var(--paper);font:.52rem/1.45 var(--mono);box-shadow:3px 3px 0 var(--amber)}.tutorial{min-width:min(28rem,55vw)}.tutorial-progress{height:4px;background:#c2bba2;margin-top:.55rem}.tutorial-progress i{display:block;height:100%;background:var(--rust);transition:width .3s var(--snap)}.tutorial-focus{position:relative;z-index:1;animation:tutorial-pulse 1.5s ease-in-out infinite;box-shadow:0 0 0 2px var(--amber),0 0 0 5px #e9a63a3d!important}@keyframes tutorial-pulse{50%{box-shadow:0 0 0 2px var(--amber),0 0 0 9px transparent}}.ledger-toggle{display:none}@media(max-width:1000px){.game-shell{grid-template-columns:1fr;grid-template-rows:auto minmax(32rem,1fr) auto}.scene-frame{border-right:0}.ledger{display:block;position:absolute;z-index:7;right:0;top:0;height:100%;width:min(24rem,88vw);box-shadow:-8px 0 24px #17201545;transition:transform .3s var(--snap);padding-top:4.5rem}.panel-closed .ledger{transform:translate(100%);visibility:hidden;transition:transform .3s var(--snap),visibility 0s .3s}.ledger-toggle{display:block;position:absolute;z-index:8;right:0;top:1.1rem;border:1px solid var(--ink);border-right:0;background:var(--paper);padding:.6rem .75rem;font:.58rem var(--mono);cursor:pointer;transition:right .3s var(--snap)}.panel-open .ledger-toggle{right:min(24rem,88vw)}.command-bar{gap:1rem;align-items:stretch}.controls{flex-shrink:0}}@media(max-width:560px){.game-shell{grid-template-rows:auto 62vh auto}.masthead{padding:1rem}.masthead h1{font-size:2.6rem}.clock{display:none}.scene-label{top:5rem}.view-switch{right:.75rem}.camera-note{font-size:.45rem;left:.75rem}.command-bar{display:block}.controls{margin-top:1rem}.controls button{flex:1}.tutorial{min-width:0}.tutorial strong{font-size:.85rem}.paused-stamp{padding:1rem;font-size:.67rem}.food-ledger dl{grid-template-columns:1fr}.food-ledger dl div+div{border-left:0;border-top:1px solid var(--line);padding:.35rem 0 0;margin-top:.35rem}}
