@font-face{font-family:Retro Gaming;src:url(../fonts/RetroGaming.ttf) format("truetype");font-display:swap}:root{--bg: #2e2e2e;--border: #323c39;--panel: #5a5a5a;--panel-inset: #696a6a;--panel-dark: #4c4c4c;--green: #46554f;--green-bright: #7d9b8e;--text: #e8e8e4;--text-dim: #b7b7b2;font-family:Retro Gaming,ui-monospace,Courier New,monospace;color:var(--text)}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{background:var(--bg);image-rendering:pixelated}.game{min-height:100%;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;min-height:3.25rem;padding:.75rem 1.25rem;border-bottom:2px solid var(--border);transition:border-color .6s ease}.topbar.bare{border-bottom-color:transparent}.title{margin:0;font-size:1.4rem;letter-spacing:1px;color:var(--green-bright)}.layout{--side: 300px;flex:1;display:grid;grid-template-columns:var(--side) 1fr var(--side);gap:1rem;padding:1.25rem;align-items:start}.layout.intro{display:flex;align-items:flex-start;justify-content:center}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.compute-counter,.increment-button,.workbench,.side-panel,.topbar .title,.topbar .menu-toggle{animation:fadeIn .6s ease both}.center-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:1rem;min-width:0}.side-panel{width:300px;display:flex;flex-direction:column;gap:.6rem}.side-panel.left{align-items:stretch}.side-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.side-header .panel-title{margin:0}.side-body{background:var(--panel);border:2px solid var(--border);box-shadow:inset 0 0 0 2px var(--panel-dark)}.collapse-btn{font-family:inherit;width:28px;height:28px;color:var(--text);background:var(--panel);border:2px solid var(--border);cursor:pointer;line-height:1}.panel-tab{font-family:inherit;justify-self:start;writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:2px;text-transform:uppercase;font-size:.8rem;padding:1rem .35rem;color:var(--text);background:var(--panel);border:2px solid var(--border);box-shadow:inset 0 0 0 2px var(--panel-dark);cursor:pointer}.panel-tab.left{transform:rotate(180deg)}.panel-tab.right{justify-self:end}.panel-tab:hover{border-color:var(--green-bright)}.panel{background:var(--panel);border:2px solid var(--border);box-shadow:inset 0 0 0 2px var(--panel-dark);border-radius:2px}.panel-title{align-self:flex-start;font-size:.8rem;letter-spacing:1px;text-transform:uppercase;color:var(--text-dim)}.eyes{--eye-w: min(var(--eye-max, 440px), 72vw);width:var(--eye-w);height:calc(var(--eye-w) * .75);background-repeat:no-repeat;background-size:calc(var(--eye-w) * 9) 100%;background-position-x:calc(var(--eye-frame, 0) * var(--eye-w) * -1);image-rendering:pixelated}.speech{margin:0;height:4em;max-width:460px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:1.15rem;line-height:1.2;color:var(--green-bright);text-shadow:0 2px 4px rgba(0,0,0,.6);opacity:0;transform:translateY(6px);transition:opacity .4s ease,transform .4s ease;pointer-events:none}.speech.visible{opacity:1;transform:translateY(0)}.stats{width:100%;padding:.9rem 1rem;text-align:center}.stats-total{font-size:2.2rem;color:var(--green-bright);font-variant-numeric:tabular-nums}.stats-label{font-size:.7rem;letter-spacing:2px;text-transform:uppercase;color:var(--text-dim);margin-bottom:.6rem}.stats-rows{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem}.stats-rows>div{display:flex;justify-content:space-between;padding:.25rem .4rem;background:var(--panel-dark);color:var(--text-dim)}.stats-rows b{color:var(--text)}.increment-button{width:100%;max-width:440px;font-family:inherit;font-size:1.1rem;letter-spacing:1px;padding:.85rem;color:var(--text);background:var(--green);border:2px solid var(--border);box-shadow:0 4px #2b332f;cursor:pointer;transition:transform .05s ease,box-shadow .05s ease}.increment-button:hover{background:#4f6157}.increment-button:active{transform:translateY(3px);box-shadow:0 1px #2b332f}.compute-counter{display:flex;flex-direction:column;align-items:center;line-height:1}.compute-value{font-size:2.6rem;color:var(--green-bright);font-variant-numeric:tabular-nums}.workbench{display:flex;justify-content:center;width:100%}.grid-column{width:min(440px,72vw);display:flex;flex-direction:column;gap:.4rem}.grid-wrap{position:relative;width:100%}.grid-toggle{font-family:inherit;display:flex;align-items:center;justify-content:space-between;padding:.4rem .7rem;font-size:.8rem;letter-spacing:1px;text-transform:uppercase;color:var(--text-dim);background:var(--panel);border:2px solid var(--border);cursor:pointer}.grid-toggle:hover{color:var(--text)}.compute-grid{display:grid;gap:6px;padding:10px;width:100%}.grid-cell{width:100%;aspect-ratio:1 / 1;background:var(--panel-inset);border:2px solid var(--panel-dark);display:flex;align-items:center;justify-content:center}.grid-cell.over{border-color:var(--green-bright);background:#74807a}.grid-cell.filled{background:var(--panel-dark)}.grid-chip{width:100%;height:100%;display:flex;align-items:center;justify-content:center;cursor:grab}.grid-chip:active{cursor:grabbing}.grid-chip img{width:72%;height:auto;image-rendering:pixelated}.store{position:absolute;top:0;left:100%;margin-left:1rem;width:240px;padding:.9rem;background:var(--panel);border:2px solid var(--border);box-shadow:inset 0 0 0 2px var(--panel-dark)}.store .panel-title{display:block;margin-bottom:.6rem}.store-list{display:flex;flex-direction:column;gap:.5rem}.store-item{display:flex;align-items:center;gap:.6rem;padding:.5rem;background:var(--panel-inset);border:2px solid var(--panel-dark);cursor:grab}.store-item.disabled{opacity:.45;cursor:not-allowed}.store-item:not(.disabled):hover{border-color:var(--green-bright)}.store-icon{width:40px;height:40px;image-rendering:pixelated}.store-meta{display:flex;flex-direction:column;flex:1;min-width:0}.store-name{font-size:.85rem}.store-blurb{font-size:.68rem;color:var(--text-dim)}.store-cost{font-size:.9rem;color:var(--green-bright);font-variant-numeric:tabular-nums}.store-cost.short{color:#c98b8b}.store-hint{margin:.7rem 0 0;font-size:.68rem;color:var(--text-dim);text-align:center}.menu-toggle{font-family:inherit;font-size:1.2rem;width:42px;height:42px;color:var(--text);background:var(--panel);border:2px solid var(--border);cursor:pointer}.menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0009}.menu-panel{width:min(360px,90vw);padding:1.5rem;background:var(--panel);border:2px solid var(--border);box-shadow:inset 0 0 0 2px var(--panel-dark);display:flex;flex-direction:column;gap:1rem}.menu-panel h2{margin:0;text-align:center;color:var(--green-bright)}.menu-field{display:flex;flex-direction:column;gap:.35rem;font-size:.8rem}.menu-field input{font-family:inherit;padding:.5rem .6rem;font-size:.95rem;color:var(--text);background:var(--panel-inset);border:2px solid var(--panel-dark)}.menu-buttons{display:flex;flex-direction:column;gap:.5rem}.menu-buttons button{font-family:inherit;padding:.6rem;font-size:.9rem;color:var(--text);background:var(--green);border:2px solid var(--border);cursor:pointer}.menu-buttons button:hover{background:#4f6157}.menu-buttons button.danger{background:#5a3b3b;border-color:#3c2727}.toast{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);padding:.5rem 1rem;background:var(--panel);border:2px solid var(--border);font-size:.85rem;animation:pop .25s ease}@keyframes pop{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 920px){.layout{--side: 210px;gap:.6rem;padding:.75rem}.side-panel{width:210px}}@media (max-width: 680px){.layout{--side: 150px}.side-panel{width:150px}.store-blurb{display:none}}
