@font-face{font-family:Nunito;src:url(../fonts/Nunito-Bold.ttf)format("truetype");font-weight:700;font-display:block}@font-face{font-family:Nunito;src:url(../fonts/Nunito-ExtraBold.ttf)format("truetype");font-weight:800;font-display:block}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only;--ink:#2a1f2e;--text:#4a2a2c;--cream:#f7e6c8;--gold:#ffd75e;--red:#e0523f;--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px)}html,body{background:var(--ink);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;height:100%;margin:0;overflow:hidden}#game{position:fixed;inset:0}#ui{pointer-events:none;color:var(--text);image-rendering:pixelated;font-family:Nunito,sans-serif;font-size:17px;font-weight:700;line-height:1.25;position:fixed;inset:0}#ui>*{pointer-events:auto}.h{font-family:Nunito,sans-serif;font-size:17px;font-weight:800}.icon{image-rendering:pixelated;background-image:url(../assets/sprites.png);background-repeat:no-repeat;flex:none;display:inline-block}.ui-icon{width:28px;height:28px;image-rendering:pixelated;flex:none;display:block}.ui-icon.small{width:20px;height:20px}.panel{box-sizing:border-box;background:0 0;border-style:solid;border-width:12px 12px 18px;border-image:url(../ui/panel.png) 6 6 9 fill/12px 12px 18px}.slot{box-sizing:border-box;border-style:solid;border-width:8px;border-image:url(../ui/slot.png) 4 fill/8px;place-items:center;width:44px;height:44px;display:grid;position:relative}.slot.sel{outline:3px solid var(--gold);outline-offset:-1px}.slot.pick{outline-offset:-1px;outline:3px solid #fff}.slot.cooling .icon{filter:grayscale()brightness(.6)}.slot .n{color:#fff;text-shadow:1px 1px 0 var(--ink), -1px 1px 0 var(--ink), 1px -1px 0 var(--ink), -1px -1px 0 var(--ink);font-size:17px;position:absolute;bottom:-6px;right:-4px}.slot .key{color:var(--cream);text-shadow:1px 1px 0 var(--ink);font-size:12px;position:absolute;top:-6px;left:-4px}.btn{color:var(--text);cursor:pointer;background:0 0;border-style:solid;border-width:8px 12px 12px;border-image:url(../ui/button.png) 4 6 6 fill/8px 12px 12px;justify-content:center;align-items:center;gap:6px;padding:0 2px;font-family:Nunito,sans-serif;font-size:17px;font-weight:800;display:inline-flex}.btn:active{border-width:8px 12px;border-image-source:url(../ui/button_down.png);margin-top:4px}.btn[disabled]{filter:grayscale(.8)brightness(.85);cursor:default}.btn.small{border-width:6px 10px 10px;border-image-width:6px 10px 10px;font-size:17px}.btn.danger{color:#fff;border-image-source:url(../ui/button_red.png)}.btn.go{color:#fff;border-image-source:url(../ui/button_green.png)}#status{left:calc(10px + var(--safe-l));pointer-events:none;color:#fff;align-items:center;gap:2px;display:flex;position:absolute;top:8px}.shards{text-shadow:1px 1px 0 var(--ink), -1px 1px 0 var(--ink), 1px -1px 0 var(--ink), -1px -1px 0 var(--ink);align-items:center;gap:4px;margin-left:10px;display:inline-flex}#goal{left:calc(10px + var(--safe-l));pointer-events:none;max-width:min(62vw,600px);padding:0 4px;position:absolute;top:44px}#goal .h{color:#9e2f3a;font-size:17px}#goal{font-size:17px}.goal-line{align-items:center;gap:6px;display:flex}#goal .h{flex:none}.goal-tip{color:#7a4a2a;margin:2px 0 0 34px;font-size:14px;font-weight:700}.hint{animation:1s ease-in-out infinite hint-pulse;position:relative}.btn.hint,.slot.hint{z-index:2}@keyframes hint-pulse{0%,to{filter:drop-shadow(0 0 #ffd75e)}50%{filter:drop-shadow(0 0 6px #ffd75e)drop-shadow(0 0 2px #fff6c0)brightness(1.12)}}.hint:after{content:"";pointer-events:none;width:28px;height:28px;image-rendering:pixelated;background:url(../assets/arrow.png) 50%/contain no-repeat;margin-left:-14px;animation:.7s ease-in-out infinite alternate hint-bob;position:absolute;left:50%}#bagBtn.hint:after{top:calc(100% + 14px);transform:rotate(180deg)}.slot.hint:after{bottom:calc(100% + 8px)}.recipe.hint{outline:3px solid var(--gold);outline-offset:-2px}.recipe.hint:after{display:none}@keyframes hint-bob{0%{translate:0}to{translate:0 -5px}}.goal-icon{margin:-6px 0}.clock{gap:6px;margin-left:14px}#debug{right:calc(10px + var(--safe-r));opacity:.75;white-space:pre;pointer-events:none;color:#fff;text-shadow:1px 1px 0 var(--ink);font-size:12px;position:absolute;top:150px}#hotbar{left:50%;bottom:calc(6px + var(--safe-b));gap:4px;display:flex;position:absolute;transform:translate(-50%)}#menuBtn,#coopBtn,#bagBtn{position:absolute;top:8px}#bagBtn{right:calc(10px + var(--safe-r))}#coopBtn{right:calc(108px + var(--safe-r))}#menuBtn{right:calc(220px + var(--safe-r))}#buildBtn{top:8px;right:calc(332px + var(--safe-r));position:absolute}#buildBtn .icon{margin:-4px 0}#buildBtn.on{color:#fff;border-image-source:url(../ui/button_green.png)}#buildBar{left:50%;bottom:calc(6px + var(--safe-b));flex-direction:column;gap:4px;max-width:calc(100vw - 20px);display:none;position:absolute;transform:translate(-50%)}body.building #buildBar{display:flex}body.building #hotbar,body.building #useBtn{display:none!important}#buildBar .pieces{flex-wrap:wrap;justify-content:center;gap:4px;display:flex}#buildBar .pieces .slot{cursor:pointer}#buildBar .pick{text-align:center;font-size:14px}#buildBar .tools{justify-content:center;gap:6px;display:flex}.tabs{flex-wrap:wrap;gap:3px;display:flex}.tabs .btn.small{border-width:4px 7px 7px;border-image-width:4px 7px 7px;font-size:13px}.tabs .btn.on{color:#fff;border-image-source:url(../ui/button_green.png)}.recipe .makes{flex-direction:column;gap:2px;display:flex}.recipe .station.ok{color:#9be36a}#zoomBtns{right:calc(10px + var(--safe-r));flex-direction:column;gap:4px;display:flex;position:absolute;top:64px}#zoomBtns .btn{width:48px;height:44px}#useBtn{right:calc(22px + var(--safe-r));bottom:calc(80px + var(--safe-b));width:84px;height:84px;color:var(--text);image-rendering:pixelated;background:url(../ui/round.png) 50%/100% 100% no-repeat;border:none;font-family:Nunito,sans-serif;font-size:17px;font-weight:800;display:none;position:absolute}#useBtn:active{background-image:url(../ui/round_down.png);background-position:bottom;background-size:100% 86%}body.touch #useBtn{display:block}#bag{gap:14px;max-width:calc(100vw - 20px);max-height:calc(100vh - 90px);display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-54%)}#bag.open{display:flex}#bag .col{flex-direction:column;gap:8px;min-height:0;display:flex}#bag .grid{grid-template-columns:repeat(8,44px);gap:4px;display:grid}#bag .row{align-items:center;gap:8px;min-height:30px;display:flex}#recipes{flex-direction:column;gap:4px;width:320px;padding-right:4px;display:flex;overflow-y:auto}.recipe{color:var(--cream);border-style:solid;border-width:8px;border-image:url(../ui/slot.png) 4 fill/8px;align-items:center;gap:8px;padding:0 2px;display:flex}.recipe .what{flex:1;min-width:0}.recipe .needs{flex-wrap:wrap;align-items:center;gap:8px;margin-top:3px;font-size:17px;display:flex}.recipe .needs span{align-items:center;gap:2px;display:inline-flex}.recipe .no{color:#ff9ab8}.recipe .station{color:var(--gold);font-family:Nunito,sans-serif;font-size:12px}.modal{flex-direction:column;gap:8px;min-width:300px;max-width:calc(100vw - 20px);display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-54%)}.modal.open{display:flex}.modal>.btn{align-self:center}.modal .row{justify-content:space-between}.modal input[type=range]{width:12em;accent-color:var(--gold);background:0 0;border:none;padding:0}.modal input:not([type=range]){border:3px solid var(--ink);background:var(--cream);color:var(--ink);text-transform:uppercase;-webkit-user-select:text;user-select:text;border-radius:2px;width:9em;padding:6px;font-family:Nunito,sans-serif;font-size:17px}.code{letter-spacing:4px;color:#9e2f3a;text-align:center;-webkit-user-select:text;user-select:text;font-family:Nunito,sans-serif;font-size:30px;font-weight:800}#toasts{pointer-events:none;flex-direction:column;align-items:center;gap:2px;display:flex;position:absolute;top:14px;left:50%;transform:translate(-50%)}.toast{text-align:center;border-style:solid;border-width:10px 10px 14px;border-image:url(../ui/panel.png) 6 6 9 fill/10px 10px 14px;max-width:70vw;padding:0 4px;animation:2.4s forwards toast}@keyframes toast{0%{opacity:0;transform:translateY(-6px)}8%,80%{opacity:1;transform:none}to{opacity:0}}.celebrate{text-align:center;pointer-events:none;z-index:5;min-width:280px;max-width:min(86vw,520px);animation:3.6s ease-out forwards celebrate;position:absolute;top:22%;left:50%;transform:translate(-50%)}.celebrate .title{color:#9e2f3a;letter-spacing:2px;font-size:24px;font-weight:800}.celebrate .done{margin:4px 0 6px}.celebrate .next{justify-content:center;align-items:center;gap:6px;font-size:15px;display:flex}@keyframes celebrate{0%{opacity:0;transform:translate(-50%,-24px)scale(.9)}10%{opacity:1;transform:translate(-50%)scale(1.04)}16%{transform:translate(-50%)scale(1)}85%{opacity:1}to{opacity:0;transform:translate(-50%,-6px)}}.intro{max-width:420px;line-height:1.35}#recipes .tabs{z-index:1;background:#e3a26c;padding:0 0 4px;position:sticky;top:0}
