*,:before,:after{box-sizing:border-box;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body,#root{width:100%;height:100dvh;overflow:hidden}:root{--color-mustard:#f5a623;--color-yellow:#ebb602;--color-red:#df2424;--color-red-pale:#ec7575;--color-forest:#0d4c16}body{cursor:default;-webkit-font-smoothing:antialiased;background:#000;font-family:hatch,system-ui,-apple-system,sans-serif}img{-webkit-user-drag:none;user-drag:none;pointer-events:none}input,textarea{-webkit-user-select:text;user-select:text;cursor:text}.hidden{display:none}.game-frame{aspect-ratio:16/9;width:min(100dvw,177.778dvh);height:min(100dvh,56.25dvw);position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);container:game/size}.panel{border-radius:1.6cqh;position:absolute;overflow:hidden}.fruit-columns{gap:.5cqw;width:24cqw;height:58cqh;display:flex;top:2cqh;left:1.5cqw}.fruit-col{background:#ffffff26;border-radius:1.2cqh;flex:1}.blender{background:#1a1a1a;border-radius:2cqh;width:24cqw;height:34cqh;bottom:2cqh;left:1.5cqw}.character{background:#efd9cb;border-radius:2cqh;flex-direction:column;justify-content:center;align-items:center;width:38cqw;height:72cqh;display:flex;top:2cqh;left:27cqw}.speech-bubble-wrap{z-index:5;pointer-events:none;width:60%;line-height:1;position:absolute;bottom:27cqh;left:37cqw}.speech-bubble-wrap .aiden-label{color:var(--color-yellow);justify-content:center;align-items:center;width:14.5%;height:20%;font-family:hatch-sans,sans-serif;font-size:2cqh;font-style:normal;line-height:1;display:flex;position:absolute;top:6%;left:1%}.speech-bubble-wrap .aiden-label i{font-family:hatch,serif;font-style:normal;line-height:1}.speech-bubble-wrap img.speech-bubble{pointer-events:none;width:100%;display:block}.speech-bubble-wrap .bubble-text-container{align-items:center;display:flex;position:absolute;inset:39% 3.7% 20% 2.5%;overflow:hidden}.speech-bubble-wrap .bubble-text{color:var(--color-forest);text-align:center;word-break:keep-all;font-family:nitti,monospace;font-size:1.7cqh;font-weight:500;line-height:1.3}.speech-bubble-wrap .bubble-word{white-space:nowrap;display:inline-block}.bubble-text p{margin:0 0 .6cqh}.bubble-text p:last-child{margin-bottom:0}.bubble-text strong{font-weight:800}.bubble-text em{font-style:italic}.bubble-text ul,.bubble-text ol{margin:.4cqh 0;padding-left:2cqw}.bubble-text code{background:#0003;border-radius:.3cqh;padding:.1cqh .3cqw}.character-img{pointer-events:none;z-index:3;width:37%;height:auto;position:absolute;bottom:20%;left:52%;transform:translate(-50%)}.chat-panel{aspect-ratio:.791139;z-index:4;background:url(/chatgpt-bg.png) 50%/contain no-repeat;flex-direction:column;width:24cqw;padding:5cqh 4cqh 3cqh;display:flex;bottom:39cqh;right:4.5cqw}.chat-panel .header{z-index:3;width:calc(100% - 8cqh);position:absolute}.chat-panel .header img{width:100%;display:block}.chat-panel:before{content:" ";z-index:2;background:linear-gradient(#ecd8c9,#ecd8c900);width:calc(100% - 4cqh);height:4cqh;position:absolute;top:5cqh;left:2cqh}.chat-panel .chat-messages{scrollbar-width:none;-webkit-overflow-scrolling:touch;touch-action:pan-y;overscroll-behavior:contain;flex-direction:column;flex:1;gap:2cqh;padding:6cqh 0 1cqh;display:flex;position:relative;overflow-y:auto}.chat-panel .chat-messages::-webkit-scrollbar{display:none}.chat-panel .msg{color:#1a1a1a;font-family:inclusive-sans,sans-serif;font-size:1.3cqh;line-height:1.6}.chat-panel .msg.user{color:#fff;background:#1a4d2e;border-radius:2cqh;align-self:flex-end;padding:.5cqh 1cqw}.chat-panel .msg.assistant{align-self:flex-start}.chat-panel .msg.user.pending{opacity:1}.chat-panel .msg.assistant.typing{align-items:center;gap:.4cqw;padding:.6cqh .2cqw;display:inline-flex}.chat-panel .typing-dot{opacity:.25;background:#1a1a1a;border-radius:50%;width:.9cqh;height:.9cqh;animation:1.2s ease-in-out infinite typingDot}.chat-panel .typing-dot:nth-child(2){animation-delay:.2s}.chat-panel .typing-dot:nth-child(3){animation-delay:.4s}.chat-panel .msg.assistant p{margin:0 0 .8cqh}.chat-panel .msg.assistant p:last-child{margin-bottom:0}.chat-panel .msg.assistant ul,.chat-panel .msg.assistant ol{margin:.4cqh 0;padding-left:2.5cqw}.chat-panel .msg.assistant code{background:#00000014;border-radius:.4cqh;padding:.1cqh .4cqw;font-size:.9em}.chat-panel .msg.assistant pre{background:#00000014;border-radius:.8cqh;margin:.6cqh 0;padding:1cqh 1.2cqw;overflow-x:auto}.chat-panel .msg.assistant pre code{background:0 0;padding:0}.chat-panel .msg.assistant strong{font-weight:800}.chat-panel .msg.assistant h1,.chat-panel .msg.assistant h2,.chat-panel .msg.assistant h3{margin:.8cqh 0 .4cqh;font-size:1.05em}.chat-panel .chat-input-wrap{background:#ede4d6;border-radius:2cqh;align-items:center;gap:.6cqw;margin-top:auto;padding:1.2cqh 1.5cqw;display:flex}.chat-panel .chat-input-cursor{background:#999;border-radius:1px;width:.25cqw;height:2cqh}.chat-panel .chat-input{color:#333;background:0 0;border:none;outline:none;flex:1;padding:0;font-size:1.5cqh;font-weight:500}.chat-panel .chat-send-btn{color:#fff;cursor:pointer;background:#1a4d2e;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:3.2cqh;height:3.2cqh;padding:0;display:flex}.chat-panel .chat-send-btn svg{width:1.8cqh;height:1.8cqh}.chat-panel .chat-send-btn:disabled{cursor:default;opacity:.5}.chat-restart-btn{background:var(--color-forest);color:var(--color-mustard);border:0;margin:0 auto;padding:.2cqh 1cqh;font-family:hatch;font-size:1.8cqh}.dev-btn,.copy-btn{z-index:1000;color:#0f0;cursor:pointer;letter-spacing:1px;background:#000000b3;border:1px solid #0f0;border-radius:6px;padding:4px 10px;font-family:monospace;font-size:11px;position:fixed;bottom:12px;left:12px}.copy-btn{left:70px}.copy-btn--alone{left:12px}.modal-overlay{z-index:2000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{color:#eee;background:#1e1e1e;border-radius:12px;flex-direction:column;gap:20px;width:640px;max-width:90vw;max-height:85vh;padding:32px;font-family:system-ui,sans-serif;display:flex;overflow-y:auto}.modal-header{justify-content:space-between;align-items:center;font-size:16px;font-weight:700;display:flex}.modal-close{color:#999;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:22px}.modal-tabs{border-bottom:1px solid #333;gap:4px;padding-bottom:0;display:flex}.modal-tab{color:#777;cursor:pointer;text-transform:uppercase;letter-spacing:.3px;background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 12px;font-family:system-ui,sans-serif;font-size:12px;font-weight:600;transition:color .15s,border-color .15s}.modal-tab:hover{color:#ccc}.modal-tab.active{color:#0f0;border-bottom-color:#0f0}.modal-textarea{color:#eee;resize:vertical;-webkit-user-select:text;user-select:text;cursor:text;background:#2a2a2a;border:1px solid #444;border-radius:8px;outline:none;min-height:180px;padding:12px;font-family:monospace;font-size:14px}.modal-textarea:focus{border-color:#0f0}.modal-label{color:#aaa;text-transform:uppercase;letter-spacing:.5px;flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.modal-label textarea{color:#eee;resize:vertical;-webkit-user-select:text;user-select:text;cursor:text;background:#2a2a2a;border:1px solid #444;border-radius:8px;outline:none;padding:10px;font-family:monospace;font-size:14px}.modal-label textarea:focus{border-color:#0f0}.modal-actions{border-top:1px solid #333;flex-direction:column;gap:12px;margin-top:8px;padding-top:16px;display:flex}.modal-action-group{align-items:center;gap:8px;display:flex}.modal-action-group-label{color:#666;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0;width:80px;font-size:11px;font-weight:600}.modal-action-group-buttons{flex-wrap:wrap;gap:8px;display:flex}.modal-btn{cursor:pointer;border:none;border-radius:8px;padding:8px 16px;font-family:system-ui,sans-serif;font-size:13px;font-weight:600}.modal-btn.export{color:#eee;background:#2a2a2a;border:1px solid #444}.modal-btn.export:hover{background:#333}.modal-btn.reset{color:#f66;background:#3a1a1a;border:1px solid #522}.modal-btn.reset:hover{background:#4a1f1f}.modal-save{color:#000;cursor:pointer;background:#0f0;border:none;border-radius:8px;padding:8px 24px;font-size:14px;font-weight:700}.main-panel-bg{z-index:2;background:url(/panel-bg.png) 50%/cover no-repeat;width:62.5%;height:71.2963%;position:absolute;top:4%;left:35.2%}.track{aspect-ratio:17.4756;z-index:2;background:url(/track.png) 50%/cover no-repeat;width:69.4271%;position:absolute;left:34%}.track.track-1{top:20%}.track.track-2{top:40%}.track.track-3{top:60%}.track .track-grooves-1{aspect-ratio:80.2353;background-image:url(/track-grooves-1.png);background-repeat:repeat-x;background-size:100%;width:95.1849%;animation:.3s linear infinite trackGrooves1;position:absolute;top:-1%;left:2%}.track .track-grooves-2{aspect-ratio:80.2353;background-image:url(/track-grooves-2.png);background-repeat:repeat-x;background-size:100%;width:95.1849%;animation:.3s linear infinite trackGrooves2;position:absolute;bottom:-2%;left:2%}.track .cog-group{aspect-ratio:1;width:2.79135%;position:absolute;top:24%}.track .cog-group .cog{aspect-ratio:1;background-image:url(/cog.png);background-repeat:no-repeat;background-size:100%;width:100%;animation:3s linear infinite cog;position:absolute;top:0;left:0}.track .cog-group .shadow{aspect-ratio:1;background-image:url(/cog-shadow.png);background-repeat:no-repeat;background-size:100%;width:100%;animation:3s linear infinite cog;position:absolute;top:12%;left:12%}.track .fruits{aspect-ratio:11;background-image:url(/fruit-conveyor-belt-1.png);background-repeat:repeat-x;background-size:cover;width:100%;animation:40s linear infinite fruits1;position:absolute;bottom:95%}.track.reverse .track-grooves-1{animation:.3s linear infinite trackGrooves2}.track.reverse .track-grooves-2{animation:.3s linear infinite trackGrooves1}.track.reverse .cog,.track.reverse .shadow{animation:3s linear infinite cogReverse}.track.reverse .fruits{animation:40s linear infinite fruits2}.track.track-1 .fruits{background-image:url(/fruit-conveyor-belt-1.png)}.track.track-2 .fruits{background-image:url(/fruit-conveyor-belt-2.png)}.track.track-3 .fruits{background-image:url(/fruit-conveyor-belt-3.png)}@keyframes typingDot{0%,60%,to{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-.4cqh)}}@keyframes trackGrooves1{0%{left:0%}to{left:1.3%}}@keyframes trackGrooves2{0%{left:1.3%}to{left:0%}}@keyframes cog{0%{transform:rotate(0)}to{transform:rotate(359.9deg)}}@keyframes cogReverse{0%{transform:rotate(0)}to{transform:rotate(-359.9deg)}}@keyframes evalTrackMoving{0%{background-position-x:-5%}to{background-position-x:-67%}}@keyframes fruits1{0%{background-position-x:222%}to{background-position-x:0%}}@keyframes fruits2{0%{background-position-x:0%}to{background-position-x:222%}}.tube-bg{z-index:2;background:#efd9cb;width:31%;height:67%;position:absolute;top:3%;left:2.2%}.tube-content{z-index:3;width:10%;height:67%;position:absolute;top:3%}.tube-content.tube-1{background:url(/tube-fruits1.png?) 50%/cover no-repeat;left:2.2%}.tube-content.tube-2{background:url(/tube-swirly.png?) 50%/cover no-repeat;left:12.2%}.tube-content.tube-3{background:url(/tube-fruits2.png?) 50%/cover no-repeat;left:23.2%}.hopper{z-index:14;aspect-ratio:1.04559;background:url(/hopper.png) 50%/contain no-repeat;width:8.9%;position:absolute;top:64.7%;left:2.8%}.hopper.hopper-1{left:2.8%}.hopper.hopper-2{left:13.35%}.hopper.hopper-3{left:23.9%}.bottom-bar{z-index:7;background:url(/bottom-conveyor-bg.png) 50%/cover no-repeat;width:95.1%;height:17.1%;position:absolute;top:78.9%;left:2.7%;overflow:hidden}.bottom-bar .indicators{justify-content:space-around;width:94%;height:70%;display:flex;position:absolute;top:14%;left:3%}.bottom-bar .indicators .indicator{text-transform:uppercase;color:var(--color-red-pale);flex-direction:column;justify-content:center;align-items:center;gap:0;font-family:hatch-sans,sans-serif;font-size:1.8cqh;font-weight:600;line-height:1;display:flex}.bottom-bar .indicators .indicator span{position:relative;top:12%}.bottom-bar .indicators .indicator .bulb{aspect-ratio:1;background:url(/prompt-eval-indicator.png) bottom/cover no-repeat;width:11cqh;display:block}.bottom-bar .indicators .indicator.active{color:var(--color-red)}.bottom-bar .indicators .indicator.active .bulb{background:url(/prompt-eval-indicator.png) top/cover no-repeat}.bottom-bar .track-grooves{aspect-ratio:111;background-image:url(/bottom-conveyor-track-grooves.png);background-size:105%;width:100%;position:absolute;bottom:6%}.bottom-bar .track-grooves.moving{animation:1s linear infinite evalTrackMoving}.canvas-container{z-index:8;pointer-events:none;width:100%;height:100%;display:none;position:absolute;top:0;left:0}.canvas-container canvas{width:100%;height:100%;position:absolute}.bottom-bar-reflections{z-index:9;background:url(/bottom-bar-reflection.png) 50%/cover no-repeat;width:95.1%;height:17.1%;position:absolute;top:78.9%;left:2.7%}.panel-mask{z-index:10;pointer-events:none;width:100%;height:100%;position:absolute}
