:root{font-family:Inter,Arial,sans-serif;color:#e9eee7;background:#101f27;font-synthesis:none;--mint:#d0eea7;--ink:#19332b;--muted:#99aaa8}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible{outline:3px solid #8cabf2;outline-offset:4px}button{transition:background .18s,transform .18s,border-color .18s}button:not(:disabled):active{transform:translateY(1px)}a{color:inherit;text-decoration:none}.topbar{min-height:96px;max-width:1512px;padding:20px 46px;margin:auto;border-bottom:1px solid #314048;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:900;letter-spacing:1.5px}.brand-icon{width:43px;height:48px;display:grid;place-items:center;border:1px solid #789587;border-radius:13px;color:var(--mint);transform:rotate(-7deg)}.brand-small{display:block;margin-top:4px;font-size:18px;letter-spacing:3.5px}.brand-dot{color:var(--mint);font-size:10px;vertical-align:top;margin-left:6px}.top-actions{display:flex;gap:25px;align-items:center}.edition{font-family:monospace;font-size:11px;letter-spacing:1px;color:#a8b7b7}.edition span{margin-left:18px;color:#658079}.text-button,.icon-button{color:#dce6df;background:transparent;border:0;display:flex;align-items:center;justify-content:center;gap:9px;font-size:13px}.text-button{border-left:1px solid #45524f;padding:8px 0 8px 25px}.icon-button{width:36px;height:36px;border:1px solid #43534f;border-radius:50%}.icon-button:hover{background:#30433d}main{max-width:1512px;padding:0 46px;margin:auto}.intro{display:flex;justify-content:space-between;align-items:flex-end;padding:35px 0 29px}.eyebrow{font-family:monospace;font-size:11px;letter-spacing:1.6px;color:#b9d49c;display:flex;gap:8px;align-items:center}.eyebrow>span{width:6px;height:6px;background:#c1dfa5;border-radius:50%}h1{font-size:clamp(32px,3.1vw,46px);letter-spacing:-1.8px;line-height:1.08;margin:15px 0 13px;font-weight:600}h1 br{display:none}h1 span{color:var(--mint)}.intro p{font-size:14px;color:#a7b6b6;margin:0}.how-link{background:none;color:#d5dfd8;border:none;border-bottom:1px solid #64736e;padding:0 0 6px;display:flex;align-items:center;gap:22px;font-size:13px;white-space:nowrap}.lab-layout{display:grid;grid-template-columns:minmax(265px,1fr) minmax(340px,1.4fr) minmax(255px,.9fr);align-items:stretch;gap:18px}.panel{background:#f2f3ec;color:var(--ink);border-radius:19px;padding:24px 22px}.section-heading,.machine-heading{display:flex;align-items:center;gap:10px}h2{font-size:17px;letter-spacing:-.5px;margin:0;font-weight:700}.step{font-family:monospace;font-size:11px;border:1px solid #b9c8b8;border-radius:6px;padding:5px 6px;color:#6b7f6b}.quantity{font-size:17px;font-weight:600;margin-left:auto}.quantity span{font-size:12px;color:#839280}.section-description{font-size:13px;color:#74806d;margin:11px 0 20px}.categories{display:flex;flex-wrap:wrap;gap:6px;padding-bottom:19px;border-bottom:1px solid #dce1d5}.chip{border:1px solid #d7ded1;background:transparent;color:#63725e;font-size:11px;padding:7px 10px;border-radius:20px}.chip:hover{background:#e2e9d9}.chip.selected{background:#284a39;border-color:#284a39;color:#eff9df}.pantry{display:flex;flex-direction:column;min-width:0}.food-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-content:start;margin:19px -3px 12px;padding:3px;overflow-y:auto;max-height:433px;min-height:365px;scrollbar-width:thin;scrollbar-color:#bacab0 transparent}.food{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;background:#e9ece2;border:1px solid transparent;border-radius:11px;min-height:87px;color:#40533e;font-size:11px;padding:9px 4px}.food:hover:not(:disabled){background:#dce7cc;border-color:#9db986;transform:translateY(-2px)}.food.picked{background:#dcebc8;border-color:#6e9454;box-shadow:inset 0 0 0 1px #86a768}.food:disabled:not(.picked){opacity:.4}.food-emoji{font-size:32px;line-height:1.15;filter:drop-shadow(0 3px 2px #16352718)}.food-mark{position:absolute;right:5px;top:5px;width:15px;height:15px;border-radius:50%;background:#f5f7ef;color:#6b7e60;display:grid;place-items:center}.picked .food-mark{background:#537d3f;color:#fff}.random-button{background:none;border:1px dashed #b9c7ac;color:#4f6648;border-radius:9px;padding:12px;display:flex;align-items:center;justify-content:center;gap:9px;font-size:12px;margin-top:auto}.random-button span{margin-left:auto;font-size:17px}.random-button:hover{background:#e6ecd9}.machine-panel{background:#dbe5dc;border-radius:19px;overflow:hidden;color:var(--ink);display:flex;flex-direction:column;min-width:0;border:1px solid #627a70}.machine-heading{padding:20px 21px 8px}.machine-heading .step{border-color:#adbeae}.machine-status{margin-left:auto;font-family:monospace;font-size:9px;letter-spacing:.4px;display:flex;align-items:center;gap:6px;white-space:nowrap;color:#55725f}.machine-status i{width:5px;height:5px;background:#668948;border-radius:50%}.machine-status.busy i{background:#ae781e;animation:pulse .8s infinite}.machine-canvas{position:relative;flex:1;min-height:395px;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(ellipse at center,#eef2df,#dbe5dc 70%)}.machine-svg{display:block;width:100%;height:440px;filter:drop-shadow(0 8px 7px #52644516)}.blueprint-tag{position:absolute;left:20px;top:14px;font:8px/1.6 monospace;color:#789380;letter-spacing:.7px;z-index:1}.machine-caption{display:flex;justify-content:space-between;padding:0 22px 14px;font:8px monospace;letter-spacing:.7px;color:#68806b}.machine-controls{padding:17px 22px 8px;background:#eaf0e2;border-top:1px solid #bccbb9}.recipe-heading{display:flex;justify-content:space-between;align-items:center;font:10px monospace;letter-spacing:1px;color:#657c5e}.recipe-heading button{background:none;border:none;font:11px Arial;color:#64765a;padding:0}.recipe-heading button:disabled{opacity:.4}.slots{display:flex;gap:7px;margin:13px 0}.slot{min-width:0;flex:1;aspect-ratio:1;max-height:46px;border:1px dashed #bdcbb2;border-radius:8px;display:grid;place-items:center;color:#a2b196;font:12px monospace}.slot.filled{border:1px solid #aabd96;background:#dae7c9}.slot button{position:relative;background:none;border:none;width:100%;height:100%;display:grid;place-items:center}.slot button span{font-size:25px}.slot button svg{position:absolute;right:1px;top:2px;color:#60784d}.launch{background:#284d39;color:#e9f4dc;border:none;padding:16px 15px;border-radius:10px;width:100%;display:flex;justify-content:center;align-items:center;gap:11px;font-size:14px;font-weight:600;min-height:51px}.launch>svg:last-child:not(:first-child){margin-left:auto}.launch>svg:first-child{margin-right:auto}.launch:hover:not(:disabled){background:#356347}.launch:disabled{background:#b9c8ac;color:#5c6f51}.running .active-part{filter:drop-shadow(0 0 7px #ecbd55)}.under-button{text-align:center;color:#758367;font-size:10px;min-height:25px;padding-top:10px;line-height:1.3}.result-panel{display:flex;flex-direction:column;background:#e9eddf;outline:none}.result-content{text-align:center;flex:1;display:flex;flex-direction:column;align-items:center}.empty-specimen{width:168px;height:168px;border:1px dashed #abbba0;border-radius:50%;margin:53px auto 30px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;color:#849577;position:relative}.empty-specimen:after{content:"?";position:absolute;top:30px;right:39px;font:19px monospace;transform:rotate(12deg)}.empty-specimen span{font:8px monospace;letter-spacing:1px}.result-panel h3{font-size:23px;letter-spacing:-.7px;line-height:1.2;margin:0 0 12px;font-weight:600}.result-detail{font-size:13px;line-height:1.7;color:#74816a;margin:0;max-width:240px}.empty-dashes{display:flex;gap:5px;margin:26px 0}.empty-dashes span{height:4px;width:18px;background:#c8d2bd;border-radius:4px}.bristol{border-top:1px solid #cdd7c1;padding-top:20px;margin-top:24px}.bristol-heading{display:flex;justify-content:space-between;font:9px monospace;letter-spacing:.7px;color:#728367}.bristol-scale{display:flex;gap:4px;margin-top:12px}.bristol-scale span{flex:1;text-align:center;padding:11px 0;border-radius:5px;background:#d6deca;font-size:11px;color:#6c7d5c;border:1px solid transparent}.bristol-scale span:nth-child(2){background:#dae2cc}.bristol-scale span:nth-child(3){background:#cbd9bb}.bristol-scale span:nth-child(4){background:#b9d39f}.bristol-scale span:nth-child(5){background:#cbd9bb}.bristol-scale span:nth-child(6){background:#d9dec9}.bristol-scale span:nth-child(7){background:#dddfcb}.bristol-scale span.current{border-color:#365b31;background:#345835;color:#fff;transform:translateY(-3px);box-shadow:0 3px #c3cfb5}.scale-labels{display:flex;justify-content:space-between;font-size:9px;color:#87947a;margin-top:8px}.again{margin-top:25px;width:100%;padding:13px 5px;background:none;border:1px solid #b7c5a8;border-radius:9px;display:flex;justify-content:center;align-items:center;gap:10px;color:#4e6745;font-size:12px}.again:hover:not(:disabled){background:#d9e3cd}.again:disabled{opacity:.45}.experiment-count{text-align:center;font:8px monospace;letter-spacing:1.2px;color:#95a086;margin-top:16px}.result-type{margin:29px 0 0;font:9px monospace;letter-spacing:.5px;color:#6e855d}.specimen{width:190px;height:160px;position:relative;display:grid;place-items:center}.specimen svg{width:160px;z-index:1;animation:arrive .5s ease-out}.specimen-ring{position:absolute;width:150px;height:150px;border:1px dashed #b4c7a0;border-radius:50%;top:5px}.result-line{color:#6a7d5b;font-size:12px;margin:0 0 13px}.color-chip{display:flex;align-items:center;gap:5px;border:1px solid #c2cdb4;border-radius:15px;padding:5px 9px;font-size:10px;color:#647557;margin-bottom:18px}.color-chip i{width:7px;height:7px;border-radius:50%}.meters{width:100%;margin-top:17px;display:flex;flex-direction:column;gap:8px}.meter{display:flex;align-items:center;gap:7px;font-size:10px;color:#6b815c}.meter>span{width:55px;text-align:left}.meter>div{flex:1;height:4px;background:#d0dbc4;border-radius:10px;overflow:hidden}.meter i{height:100%;display:block;background:#7fa166;border-radius:10px}footer{padding:23px 0;display:flex;justify-content:space-between;gap:15px;color:#8a9c9e;font-size:11px}footer span:first-child{display:flex;align-items:center;gap:8px}dialog{background:#eef2e4;color:var(--ink);max-width:500px;width:calc(100% - 30px);padding:28px;border:1px solid #7e957e;border-radius:20px;box-shadow:0 20px 100px #0008}dialog::backdrop{background:#08171bc9;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between}.dialog-heading .eyebrow{color:#668249}.dialog-heading .icon-button{color:#4b6640;border-color:#b0c49e}dialog h2{font-size:28px;line-height:1.2;margin:15px 0}dialog ol{padding-left:20px}dialog li,dialog p{font-size:14px;line-height:1.7;color:#64745a}dialog li{margin:12px 0}dialog h3{font-size:17px}dialog .launch{margin-top:20px}.flow{animation:flow 1s linear infinite}.rotor{animation:spin 1.8s linear infinite}.needle{transform-origin:0 7px;animation:needle 1s ease-in-out infinite alternate}.running .bubble{animation:bubble 1.2s ease-in-out infinite}.running .b2{animation-delay:.5s}.blink,.working{animation:pulse 1.3s ease-in-out infinite}.spinner{height:15px;width:15px;border:2px solid #68835d;border-top-color:#eaf4de;border-radius:50%;animation:spin 1s linear infinite}@keyframes flow{to{stroke-dashoffset:-48}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes needle{0%{transform:rotate(-35deg)}to{transform:rotate(45deg)}}@keyframes bubble{to{transform:translateY(-13px);opacity:0}}@keyframes pulse{50%{opacity:.5}}@keyframes arrive{0%{transform:translateY(-25px);opacity:0}to{transform:translateY(0);opacity:1}}@media(min-width:1500px){.food-grid{max-height:455px}.machine-svg{height:460px}.food{min-height:96px}}@media(max-width:1150px){main{padding:0 24px}.topbar{padding:20px 24px}.lab-layout{grid-template-columns:minmax(240px,1fr) minmax(310px,1.3fr);gap:16px}.result-panel{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:10px 35px}.result-panel>.section-heading{grid-column:1/-1}.result-content{grid-row:2/6}.empty-specimen{margin:20px auto}.bristol{margin-top:35px}.experiment-count{margin-top:0}.again{align-self:end}.result-detail{max-width:340px}.result-content .meters{max-width:300px;margin-bottom:10px}.edition{display:none}h1 br{display:block}.intro{align-items:center}.machine-status{font-size:8px}.food-grid{max-height:440px}}@media(max-width:660px){.topbar{min-height:78px;padding:15px 18px}.brand-icon{height:38px;width:34px;border-radius:10px}.brand{font-size:10px;gap:9px}.brand-small{font-size:14px}.top-actions{gap:12px}.text-button{border:0;padding:8px;font-size:11px}.install>span{display:none}main{padding:0 14px}.intro{padding:26px 4px 23px}.eyebrow{font-size:8px;letter-spacing:1.1px}h1{font-size:34px;margin:12px 0;letter-spacing:-1.4px}.intro p{font-size:12px;line-height:1.6;max-width:280px}.how-link{font-size:0;border:none;padding:8px;align-self:flex-start;margin-top:32px}.how-link svg{width:22px;height:22px}.lab-layout{grid-template-columns:1fr;gap:15px}.panel{padding:20px}.pantry{order:0}.machine-panel{order:1}.result-panel{order:2;display:flex;gap:0}.food-grid{grid-template-columns:repeat(4,minmax(0,1fr));max-height:255px;min-height:175px;margin-top:14px}.food{min-height:80px;font-size:10px;gap:7px}.food-emoji{font-size:29px}.categories{gap:6px;padding-bottom:14px}.chip{font-size:10px;padding:7px 9px}.section-description{margin-bottom:15px}.random-button{margin-top:3px}.machine-svg{height:auto;max-height:510px}.machine-canvas{min-height:0}.machine-controls{padding:17px 20px 12px}.machine-status{font-size:9px}.slots{gap:8px}.slot{max-height:50px}.result-content{padding-top:5px}.empty-specimen{margin:30px auto 24px}.empty-dashes{margin:18px 0}.bristol,.again{margin-top:20px}.experiment-count{margin-top:15px}footer{padding:24px 5px;flex-direction:column;font-size:10px;gap:10px}.result-type{margin-top:20px}.result-content .meters{margin-bottom:0}.result-detail{max-width:290px}dialog{padding:22px}.brand-dot{font-size:8px}.machine-heading{padding-top:19px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.specimen .poop-art{width:180px;height:124px;animation:none}.poop-body,.poop-pebble,.poop-soft-piece,.poop-drop,.poop-ripple{transform-box:fill-box;transform-origin:center bottom}.poop-type-1 .poop-pebble{animation:pebble-land .65s both}.poop-type-2 .poop-body,.poop-type-3 .poop-body{animation:solid-land .65s both}.poop-type-4 .poop-body{animation:smooth-land .8s both}.poop-type-5 .poop-soft-piece{animation:soft-land .75s both}.poop-type-6 .poop-body{animation:soft-land .85s both}.poop-type-7 .poop-body{animation:puddle-spread .7s both}.poop-drop{animation:drop-splash .8s both}.poop-ripple{animation:ripple-spread 1.1s ease-out both}@keyframes pebble-land{0%{transform:translateY(-32px);opacity:0}45%{transform:translateY(0) scale(1.12,.88);opacity:1}66%{transform:translateY(-9px) scale(.98,1.02)}83%{transform:translateY(0) scale(1.04,.96)}to{transform:none;opacity:1}}@keyframes solid-land{0%{transform:translateY(-24px) rotate(-7deg);opacity:0}62%{transform:translateY(0) rotate(2deg);opacity:1}82%{transform:rotate(-1deg)}to{transform:none;opacity:1}}@keyframes smooth-land{0%{transform:translateY(-22px) scale(.88,1.1);opacity:0}55%{transform:scale(1.08,.92);opacity:1}78%{transform:scale(.98,1.02)}to{transform:none;opacity:1}}@keyframes soft-land{0%{transform:translateY(-20px) scale(.8,1.15);opacity:0}52%{transform:scale(1.15,.8);opacity:1}75%{transform:scale(.96,1.04)}to{transform:none;opacity:1}}@keyframes puddle-spread{0%{transform:scale(.3,.8);opacity:0}55%{transform:scale(1.06,.94);opacity:1}to{transform:none;opacity:1}}@keyframes drop-splash{0%{transform:translateY(25px) scale(.1);opacity:0}50%{transform:translateY(-6px) scale(1.05);opacity:1}to{transform:none;opacity:1}}@keyframes ripple-spread{0%{transform:scale(.2);opacity:0}40%{opacity:.7}to{transform:scale(1);opacity:.4}}.machine-svg{overflow:visible}.machine-svg .mixing-paddle{animation:spin 16s linear infinite}.machine-svg .bubble{animation:lab-bubble 3.4s ease-in-out infinite}.machine-svg .b2{animation-delay:1.6s}.machine-svg .status-light{animation:lab-glow 3s ease-in-out infinite}.machine-svg .pressure-needle{transform-origin:0 7px;animation:lab-pressure 4s ease-in-out infinite}.machine-svg.running{animation:lab-vibrate .22s linear infinite}.machine-svg.running .mixing-paddle{animation-duration:1.1s}.machine-svg.running.stage-1 .mixing-paddle{animation-duration:.38s}.machine-svg.running .bubble{animation:lab-bubble .8s ease-in-out infinite}.machine-svg.running .b2{animation-delay:.3s}.machine-svg.running .pressure-needle{animation:needle .45s ease-in-out infinite alternate}.machine-svg.running .status-light{animation:lab-glow .45s ease-in-out infinite}.machine-svg .tank-liquid{transform-origin:265px 252px;animation:liquid-sway 4s ease-in-out infinite}.machine-svg.running .tank-liquid{animation-duration:.65s}.machine-svg.running.stage-0 .throat-ring{animation:throat-squeeze .8s ease-in-out infinite}.machine-svg.running .active-part{animation:organ-work 1s ease-in-out infinite}.machine-svg.running .flow{animation:flow .45s linear infinite}.hopper{transform-origin:230px 66px}.hopper.receiving{animation:hopper-bounce .45s .65s ease-out}.feeding-food{pointer-events:none;animation:food-fall 1.15s cubic-bezier(.35,0,.75,.65) both}.outlet-hatch{transform-origin:230px 494px;transition:transform .35s ease}.stage-4.running .outlet-hatch{transform:translate(25px) rotate(-35deg)}.tray-delivery{animation:tray-drop .6s ease-out both}@keyframes lab-bubble{0%{transform:translateY(6px);opacity:0}25%{opacity:.85}to{transform:translateY(-23px);opacity:0}}@keyframes lab-glow{50%{opacity:.4;filter:drop-shadow(0 0 4px #bcff84)}}@keyframes lab-pressure{0%,to{transform:rotate(-18deg)}45%{transform:rotate(-7deg)}65%{transform:rotate(-12deg)}}@keyframes lab-vibrate{0%,to{transform:translate(0)}25%{transform:translate(.7px,-.5px)}75%{transform:translate(-.7px,.5px)}}@keyframes liquid-sway{0%,to{transform:rotate(-3deg) scaleY(.97)}50%{transform:rotate(3deg) scaleY(1.03)}}@keyframes throat-squeeze{0%,to{transform:scaleX(1)}45%{transform:scaleX(.78)}}@keyframes organ-work{50%{filter:drop-shadow(0 0 9px #edcf7f)}}@keyframes hopper-bounce{0%,to{transform:none}45%{transform:translateY(3px) rotate(-3deg)}70%{transform:rotate(2deg)}}@keyframes food-fall{0%{transform:translateY(-24px)}to{transform:translateY(66px)}}@keyframes tray-drop{0%{transform:translateY(-27px);opacity:0}65%{transform:translateY(2px);opacity:1}83%{transform:translateY(-3px)}to{transform:none;opacity:1}}@media(prefers-reduced-motion:reduce){.feeding-food{display:none}.machine-svg *,.machine-svg{animation:none!important;transition:none!important}}
