/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-gray-100:oklch(96.7% .003 264.542);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-500:oklch(55.1% .027 264.364);--color-white:#fff;--spacing:.25rem;--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.table{display:table}.w-full{width:100%}.min-w-full{min-width:100%}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.overflow-x-auto{overflow-x:auto}.border{border-style:var(--tw-border-style);border-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-gray-300{border-color:var(--color-gray-300)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-white{background-color:var(--color-white)}.px-4{padding-inline:calc(var(--spacing)*4)}.py-2{padding-block:calc(var(--spacing)*2)}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-gray-500{color:var(--color-gray-500)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}}:root{color-scheme:light dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#242424;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}a{color:#646cff;-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:#535bf2}body{place-items:center;min-width:320px;min-height:100vh;margin:0;display:flex}h1{font-size:3.2em;line-height:1.1}button{cursor:pointer;background-color:#1a1a1a;border:1px solid #0000;border-radius:8px;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:500;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.auth-container{background-color:#2a2a2a;border-radius:8px;max-width:400px;margin:2rem auto;padding:2rem;box-shadow:0 2px 4px #0003}.auth-container h2{text-align:center;color:#fff;margin-bottom:1.5rem}.auth-form{flex-direction:column;gap:1rem;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{color:#fff;font-size:.9rem}.form-group input{color:#fff;background-color:#1a1a1a;border:1px solid #3a3a3a;border-radius:4px;padding:.75rem;font-size:1rem}.form-group input:focus{border-color:#646cff;outline:none}.auth-button{color:#fff;cursor:pointer;background-color:#646cff;border:none;border-radius:4px;padding:.75rem;font-size:1rem;font-weight:500;transition:background-color .2s}.auth-button:hover{background-color:#535bf2}.auth-links{text-align:center;margin-top:1rem;font-size:.9rem}.error-message{color:#ff4b4b;text-align:center;background-color:#ff4b4b1a;border-radius:4px;margin-bottom:1rem;padding:.5rem}.dashboard-container{background-color:#2a2a2a;border-radius:8px;max-width:900px;margin:2rem auto;padding:2rem;box-shadow:0 2px 4px #0003}.dashboard-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.dashboard-title{color:#fff;margin:0;font-size:2rem}.dashboard-stats{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.stat-card{text-align:center;background-color:#1a1a1a;border-radius:8px;padding:1.5rem}.stat-card h3{color:#646cff;margin:0 0 .5rem;font-size:1.1rem}.stat-card .value{color:#fff;font-size:2rem;font-weight:700}.stat-details,.profile-details{margin-top:1rem}.stat-item,.profile-item{color:#ccc;justify-content:space-between;margin-bottom:.5rem;display:flex}.admin-dashboard{background-color:#2a2a2a;border-radius:8px;max-width:1200px;margin:2rem auto;padding:2rem;box-shadow:0 2px 4px #0003}.admin-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.admin-title{color:#fff;margin:0;font-size:2rem}.admin-controls{gap:1rem;display:flex}.admin-button{cursor:pointer;border-radius:4px;padding:.5rem 1rem;font-weight:500;transition:all .2s}.admin-button.primary{color:#fff;background-color:#646cff}.admin-button.secondary{color:#fff;background-color:#3a3a3a}.admin-button:hover{opacity:.9}.admin-section{margin-top:2rem}.admin-table{border-collapse:collapse;background-color:#1a1a1a;border-radius:8px;width:100%;margin-top:1rem;overflow:hidden}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid #3a3a3a;padding:1rem}.admin-table th{color:#646cff;background-color:#2a2a2a;font-weight:500}.admin-table tr:last-child td{border-bottom:none}.actions{gap:.5rem;display:flex}.action-button{cursor:pointer;border-radius:4px;padding:.25rem .5rem;font-size:.9rem;transition:all .2s}.action-button.delete{color:#fff;background-color:#ff4b4b}.action-button.delete:hover{background-color:#f33}.action-button.delete:disabled{cursor:not-allowed;background-color:#666}@media (prefers-color-scheme:light){.auth-container{color:#222;background-color:#fff;box-shadow:0 2px 8px #00000014}.auth-container h2{color:#222}.auth-form input{color:#222;background-color:#fff;border:1px solid #ccc}.auth-form label{color:#222}.auth-button{color:#fff;background-color:#646cff}.auth-links{color:#444}.auth-links a{color:#646cff}.dashboard-container{color:#222;background-color:#fff;box-shadow:0 2px 8px #00000014}.dashboard-title{color:#222}.stat-card{color:#222;background-color:#fff;border:1px solid #eee;box-shadow:0 1px 4px #0000000f}.stat-card h3{color:#646cff}.stat-details,.profile-details{color:#222}.stat-item,.profile-item{color:#222!important}.admin-button,.auth-button{color:#fff;background-color:#646cff}.admin-dashboard{color:#222;background-color:#fff;box-shadow:0 2px 8px #00000014}.admin-title{color:#222}.admin-dashboard table{color:#222;border-collapse:separate;border-spacing:0;background-color:#fff;border-radius:8px;box-shadow:0 1px 4px #0000000f}.admin-dashboard th,.admin-dashboard td{color:#222;background-color:#fff;border-bottom:1px solid #eee}.admin-dashboard th{color:#646cff;background-color:#f7f7ff;font-weight:600}.admin-dashboard tr:last-child td{border-bottom:none}.admin-dashboard .delete-button{color:#222;background:#eee}.stat-card .value{color:#222;font-size:2rem;font-weight:700}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}:root{--text-primary: #333;--text-secondary: #666;--bg-primary: white;--bg-secondary: #f4f4f4;--border-color: #ddd;--shadow-color: rgba(0, 0, 0, .1);--primary-color: #646cff;--primary-hover: #535bf2;--error-color: #dc3545;--cell-size: clamp(38px, 6vw, 60px)}#root{max-width:none;margin:0 auto;padding:0;text-align:center}.loading-message{font-size:1.2rem;color:#666;margin:2rem 0;text-align:center;animation:pulse 1.5s infinite}@media (prefers-color-scheme: dark){:root{--text-primary: #e4e4e4;--text-secondary: #a0a0a0;--bg-primary: #1a1a1a;--bg-secondary: #2d2d2d;--border-color: #404040;--shadow-color: rgba(0, 0, 0, .3)}body{background-color:var(--bg-primary);color:var(--text-primary)}}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.game-container{display:flex;flex-direction:column;gap:20px;justify-content:flex-start;align-items:center;padding:0;margin:0;min-height:auto}.orders-panel{display:flex;flex-direction:row;gap:10px;justify-content:flex-start;align-items:center;padding:10px;margin:0;width:100%;max-width:calc(var(--grid-size, 10) * var(--cell-size, 60px) + 20px);overflow-x:auto;background-color:#f4f4f4;border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 8px #0000001a;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.2) transparent}.orders-panel::-webkit-scrollbar{height:6px}.orders-panel::-webkit-scrollbar-track{background:transparent}.orders-panel::-webkit-scrollbar-thumb{background-color:#0003;border-radius:3px}.orders-panel::-webkit-scrollbar-thumb:hover{background-color:#0000004d}.grid{height:calc(var(--grid-size, 10) * var(--cell-size, 60px) + 20px);flex-shrink:0;display:grid;grid-template-columns:repeat(var(--grid-size, 10),var(--cell-size, 60px));gap:0;background-color:#f4f4f4;border:1px solid #ddd;border-radius:8px;padding:10px;margin:0;box-shadow:0 2px 8px #0000001a}.cell{width:var(--cell-size, 60px);height:var(--cell-size, 60px);border:1px solid #eee;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:calc(var(--cell-size, 60px) * .7);transition:all .3s ease;position:relative;overflow:hidden}.hidden-cell{background-color:#000!important;border:1px solid #333!important;color:transparent!important;position:relative}.hidden-cell:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(45deg,#000,#000 2px,#111 2px,#111 4px);opacity:.3}@keyframes window-pulse{0%,to{box-shadow:0 0 10px #ff000080;border-color:red}50%{box-shadow:0 0 20px #f00c;border-color:#f44}}.sliding-window-debug{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border:1px solid rgba(255,255,255,.2)}.sliding-window-debug input[type=checkbox]{accent-color:#ff0000}.sliding-window-debug label{cursor:pointer;-webkit-user-select:none;user-select:none}.sliding-window-debug label:hover{color:#fcc}.tile-content{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;position:relative}.cooking-ingredients{display:flex;gap:2px;font-size:calc(var(--cell-size, 60px) * .2);margin-bottom:2px;justify-content:center;min-height:calc(var(--cell-size, 60px) * .333);padding:4px;border-radius:4px;background:#fffffff2;position:relative;z-index:2}.cooking-progress,.chopping-progress{position:absolute;bottom:2px;left:5px;right:5px;height:6px;background:#0003;border-radius:3px;overflow:hidden;box-shadow:0 1px 2px #0000001a;z-index:2}.progress-bar{position:absolute;top:0;left:0;height:100%;transition:width .3s ease}.cooking-progress .progress-bar{background:linear-gradient(90deg,#ff9800,#f44336);box-shadow:0 0 8px #ff980080}.chopping-progress .progress-bar{background:linear-gradient(90deg,#4caf50,#45a049);box-shadow:0 0 8px #4caf5080}.counter-content{display:grid;grid-template-columns:repeat(2,1fr);gap:4px;padding:4px;width:100%;height:100%}.counter-item{display:flex;align-items:center;justify-content:center;font-size:calc(var(--cell-size, 60px) * .25);background:#fffffff2;padding:2px;border-radius:4px;position:relative}.counter-item.plated{background:#ffebcdf2}.counter-item.combining{animation:combine-flash .5s ease-in-out}@keyframes combine-flash{0%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.2);filter:brightness(1.5)}to{transform:scale(1);filter:brightness(1)}}.cell.active{animation:pulse 1s infinite}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.cell.obstacle{background-color:#666!important;border:1px solid #555;cursor:not-allowed}.cell.counter{background-color:#d4b483!important;border:1px solid #c4a473}.cell.stove{font-size:calc(var(--cell-size, 60px) * .333)}.cell.stove:has(.cooking-ingredients){font-size:calc(var(--cell-size, 60px) * .2)}.cell.stove.cooking{background-color:#ffebee!important;animation:cooking-pulse 2s infinite;box-shadow:0 0 #ff5252b3}.cell.stove:not(.cooking):not(.needs-cleaning) .cooking-ingredients{animation:pulse 1.5s infinite;background:#fffffff2;padding:4px;border:1px dashed #c0392b}.knife-icon{font-size:calc(var(--cell-size, 60px) * .7);transition:transform .3s ease}.knife-icon.chopping{animation:chop .5s infinite}.cell.chopping-board{background-color:#95a5a6!important;border:1px solid #7f8c8d}.cell.chopping_board.active{background-color:#e8f5e9!important;animation:chopping-pulse 2s infinite!important;position:relative;overflow:visible!important}.cell.chopping_board.active:before{content:"🔒";position:absolute;top:-15px;left:50%;transform:translate(-50%);font-size:12px;text-shadow:0 0 3px rgba(0,0,0,.5);animation:bounce .5s infinite alternate;z-index:10}@keyframes chop{0%{transform:rotate(0) translateY(0)}25%{transform:rotate(2deg) translateY(-2px)}75%{transform:rotate(-2deg) translateY(2px)}to{transform:rotate(0) translateY(0)}}@keyframes bounce{0%{transform:translate(-50%) translateY(0)}to{transform:translate(-50%) translateY(-5px)}}@keyframes chopping-pulse{0%{background-color:#ffebee!important;filter:brightness(1) saturate(1);transform:scale(1) rotate(0)}50%{background-color:#ffcdd2!important;filter:brightness(1.2) saturate(1.1);transform:scale(1.05) rotate(1deg)}to{background-color:#ffebee!important;filter:brightness(1) saturate(1);transform:scale(1) rotate(0)}}.cell.plate-stack{background-color:#ecf0f1!important;border:1px solid #bdc3c7}.cell.ingredient-box{background-color:#f1c40f!important;border:1px solid #f39c12}.cell.delivery-point{background-color:#4caf50;color:#fff}.player-content{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;text-shadow:1px 1px 2px rgba(0,0,0,.5);font-size:calc(var(--cell-size, 60px) * .25);line-height:1.2;width:100%;height:100%}.cell.obstacle:hover{background-color:#555!important}.cell.occupied{color:#fff;text-shadow:1px 1px 1px rgba(0,0,0,.5)}.cell.stove.burnt,.cell.stove.needs-cleaning{background-color:#795548!important;position:relative;overflow:hidden;box-shadow:inset 0 0 15px #0000004d;border:1px solid #5d4037;animation:cleaning-pulse 1s infinite}.cell.stove.burnt:before,.cell.stove.needs-cleaning:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,rgba(0,0,0,.4) 25%,transparent 25%,transparent 50%,rgba(0,0,0,.4) 50%,rgba(0,0,0,.4) 75%,transparent 75%,transparent);background-size:10px 10px;animation:move-smoke 2s linear infinite;opacity:.8;z-index:1}.cell.stove.burnt:after,.cell.stove.needs-cleaning:after{content:"🧹";position:absolute;top:2px;right:2px;font-size:10px;filter:drop-shadow(1px 1px 1px rgba(0,0,0,.5));z-index:2}@keyframes move-smoke{0%{background-position:0 0}to{background-position:20px 20px}}.cleaning-progress{position:absolute;bottom:2px;left:5px;right:5px;height:6px;background:#0000004d;border-radius:3px;overflow:hidden;box-shadow:0 1px 2px #0003;z-index:2}.cleaning-progress .progress-bar{background:linear-gradient(90deg,#8bc34a,#4caf50);box-shadow:0 0 8px #4caf5080}.cell.cleaning{animation:cleaning-pulse 1s infinite!important;position:relative}.cell.cleaning:before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border:3px solid rgba(255,255,255,.9);border-radius:6px;animation:stroke-pulse 1.2s ease-in-out infinite;z-index:3;box-shadow:0 0 10px #ffffff80,inset 0 0 10px #ffffff80;pointer-events:none}@keyframes stroke-pulse{0%{transform:scale(1);opacity:.3;border-color:#ffffffe6;box-shadow:0 0 5px #ffffff4d,inset 0 0 5px #ffffff4d}50%{transform:scale(1.05);opacity:1;border-color:#fff;box-shadow:0 0 20px #fffc,inset 0 0 10px #fffc}to{transform:scale(1);opacity:.3;border-color:#ffffffe6;box-shadow:0 0 5px #ffffff4d,inset 0 0 5px #ffffff4d}}@keyframes cleaning-pulse{0%{filter:brightness(1) saturate(1);transform:scale(1)}50%{filter:brightness(1.2) saturate(1.1);transform:scale(1.05)}to{filter:brightness(1) saturate(1);transform:scale(1)}}.needs-cleaning:after{content:"🧹";position:absolute;top:2px;right:2px;font-size:10px}.landing-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;text-align:center}.landing-container h1{font-size:2.5rem;margin-bottom:1rem;color:var(--text-primary)}.landing-container p{margin-bottom:2rem;font-size:1.2rem;color:#666}.start-button{padding:12px 24px;font-size:1.2rem;color:#fff;background-color:#646cff;border:none;border-radius:8px;cursor:pointer;transition:background-color .3s}.start-button:hover{background-color:#535bf2}.start-button:disabled{background-color:#ccc;cursor:not-allowed}.game-layout{display:flex;align-items:flex-start;margin:0;justify-content:center;flex-wrap:wrap}.game-main{display:flex;flex-direction:column;align-items:center}.app-container{display:flex;flex-direction:column;min-height:100vh;padding:.5rem 1rem}.app-header{display:flex;align-items:center;width:100%;padding:.75rem 0 1.25rem;margin-bottom:2rem;border-bottom:1px solid #e2e8f0}.app-header h1{margin:0;font-size:1.5rem;margin-right:1rem}.app-header p{margin:0;color:#2f855a;font-size:.9rem}.game-controls{margin:2rem 0;display:flex;gap:10px;justify-content:center;align-items:center;flex-direction:column}.game-controls-group{display:flex;flex-direction:row;align-items:center;gap:1rem;margin-bottom:1rem}.game-controls-buttons{display:flex;gap:1rem;align-items:center}.mode-select{display:flex;align-items:center;gap:5px;font-size:.9em;white-space:nowrap}.mode-select label{display:flex;align-items:center;gap:5px;cursor:pointer}.mode-select input[type=checkbox]{margin:0}.leave-button{padding:8px 16px;font-size:1rem;color:#fff;background-color:#dc3545;border:none;border-radius:4px;cursor:pointer;transition:background-color .3s;margin-left:auto}.leave-button:hover{background-color:#c82333}.dashboard-button{padding:12px 24px;font-size:1.2rem;color:#fff;background-color:#4a4a4a;border:none;border-radius:8px;cursor:pointer;transition:background-color .3s}.dashboard-button:hover{background-color:#3a3a3a}.game-section{display:flex;flex-direction:row;gap:20px;padding:0;height:calc(100vh - 6.5rem);align-items:stretch;flex-wrap:wrap;justify-content:center}.chatWindow{height:calc(65px + 20px + (var(--grid-size, 10) * var(--cell-size, 60px) + 20px));order:3;align-self:flex-start;position:relative;flex-shrink:0}.cell.cooking{animation:pulse 1s infinite}.order{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:8px 10px 16px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;min-width:100px;flex:0 0 auto;position:relative;overflow:hidden;width:100px;height:65px;transition:all .3s ease-in-out}.level3 .order{width:140px;min-width:140px}.order:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;transition:background-color .3s ease-in-out}.order.pending:before{background:#ff9800}.order.in_progress:before{background:#2196f3;animation:pulse 2s infinite}.order.completed:before{background:#4caf50}.order.failed:before{background:#f44336}.order-items{display:flex;gap:4px;font-size:1.4em;align-items:inherit;justify-content:center;width:100%;margin-bottom:4px}.order-timer{font-size:.8em;font-weight:600;color:#666;padding:1px 4px;background:#f5f5f5;border-radius:4px;transition:all .3s ease-in-out;position:absolute;top:2px;right:2px;z-index:2}.order-status{position:absolute;bottom:0;left:0;right:0;padding:2px;font-size:.7em;text-transform:uppercase;background-color:#0000000d;color:#666;text-align:center;border-bottom-left-radius:8px;border-bottom-right-radius:8px}.order.in_progress .order-timer{color:#2196f3;background:#e3f2fd}.order.pending .order-timer{color:#ff9800;background:#fff3e0}.order-items .task-id{font-family:monospace;font-size:.8em;margin:0%;background:#0000000d;border-radius:4px;color:#2c3e50;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.level3 .order-items .task-id{background:#fff;color:#000;border:1px solid rgba(255,255,255,.1)}.order-status{font-size:.7em;text-transform:uppercase;color:#999;margin-top:2px}.stove-status{color:#e74c3c;background:#fffffff2;border-radius:3px;padding:2px 4px;text-align:center;position:relative;z-index:2;font-size:calc(var(--cell-size, 60px) * .2);font-weight:600;margin-top:2px}.stove-status:empty{display:none}@keyframes pulse{0%{opacity:1}50%{opacity:.7}to{opacity:1}}@keyframes cooking-pulse{0%{background-color:#ffebee!important;transform:scale(1);box-shadow:0 0 #ff5252b3}50%{background-color:#ffcdd2!important;transform:scale(1.05);box-shadow:0 0 10px 3px #ff525280}to{background-color:#ffebee!important;transform:scale(1);box-shadow:0 0 #ff525200}}.fire-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:calc(var(--cell-size, 60px) * .6);pointer-events:none;z-index:1;opacity:.8}.fire-indicator.base-stove{font-size:calc(var(--cell-size, 60px) * .7);opacity:1;z-index:0}.cell.stove.cooking .fire-indicator{opacity:.3}.held-items{display:flex;flex-direction:column;align-items:center;gap:2px}.ingredients-stack{display:flex;flex-direction:row;gap:2px;background-color:#fff3;padding:2px;border-radius:4px;margin-top:2px}.stacked-ingredient{position:relative;font-size:calc(var(--cell-size, 60px) * .25)}.stacked-ingredient .state-indicator{position:absolute;top:calc(var(--cell-size, 60px) * -.067);right:calc(var(--cell-size, 60px) * -.067);font-size:calc(var(--cell-size, 60px) * .2)}.level-select{padding:10px 16px;font-size:1.1rem;border:1px solid #e2e8f0;border-radius:8px;background-color:#fff;color:#4a5568;cursor:pointer;transition:all .2s}.level-select:hover{border-color:#3b82f6}.level-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.workstation{background-color:#008b8b;color:#fff;border:2px solid #018f8f;display:flex;align-items:center;justify-content:center;font-size:calc(var(--cell-size, 85px) * .7)}.data-source{background-color:#9c27b0;color:#fff;border:2px solid #7b1fa2;display:flex;align-items:center;justify-content:center;font-size:calc(var(--cell-size, 85px) * .7)}.test-station{background-color:#27ae60;color:#fff;border:2px solid #2ecc71;display:flex;align-items:center;justify-content:center;font-size:calc(var(--cell-size, 85px) * .7)}.search-terminal{background-color:#ff6b00;color:#fff;border:2px solid #e65c00;display:flex;align-items:center;justify-content:center;font-size:calc(var(--cell-size, 85px) * .7)}.data-viewer-station{background-color:#b08f61;color:#fff;border:2px solid #bea075;display:flex;align-items:center;justify-content:center;font-size:calc(var(--cell-size, 85px) * .7)}.skip-station{background-color:#f44336;color:#fff;border:2px solid #d32f2f;display:flex;align-items:center;justify-content:center;font-size:calc(var(--cell-size, 85px) * .7)}.coding-progress,.testing-progress,.searching-progress{position:absolute;bottom:0;left:0;width:100%;height:4px;background-color:#fff3}.coding-progress .progress-bar{background-color:#e74c3c}.testing-progress .progress-bar{background-color:#2ecc71}.searching-progress .progress-bar{background-color:#3498db}.order.coding_task{background:#fff;color:#333;border-radius:8px;box-shadow:0 2px 4px #0000001a}.order.coding_task:before{background:#2196f3}.order.coding_task .task-id{font-family:monospace;font-size:.5em;color:#333;padding:4px 8px;background:#0000000d;border-radius:4px;margin:4px 0;display:inline-block;border:1px solid rgba(0,0,0,.1);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.order.coding_task .task-type{font-weight:600;color:#333;margin-bottom:4px;font-size:.85em}.order.coding_task .task-description{font-size:.8em;margin-bottom:4px;word-wrap:break-word;color:#666}.order.coding_task .task-requirements{display:flex;gap:4px;color:#666;font-size:.8em;margin-top:4px}.order.coding_task .order-timer{font-size:.9em;font-weight:600;color:#666;margin-top:8px;padding:4px 8px;background:#f5f5f5;border-radius:4px}.order.coding_task .order-status{text-transform:uppercase;font-size:.7em;font-weight:700;letter-spacing:1px;margin-top:8px;padding:4px 8px;border-radius:4px}.order.coding_task.pending .order-status{background:#fff3e0;color:#ff9800}.order.coding_task.in_progress .order-status{background:#e3f2fd;color:#2196f3;animation:pulse 2s infinite}.order.coding_task.completed .order-status{background:#e8f5e9;color:#4caf50}.order.coding_task.failed .order-status{background:#ffebee;color:#f44336}.order.coding_task .order-items{display:flex;flex-direction:column;align-items:center;width:100%}.order.coding_task .task-type{font-weight:700;color:#3498db;margin-bottom:4px}.order.coding_task .task-description{font-size:.9em;margin-bottom:4px;word-wrap:break-word}.order.coding_task .task-requirements{display:flex;gap:4px;color:#95a5a6;font-size:.8em}.order-description{font-size:.85em;color:#2c3e50;margin:4px 0;text-align:center;font-weight:500;padding:4px;border-radius:4px;background:#0000000d}.order.in_progress .order-description{color:#2196f3;background:#2196f31a}.order.completed .order-description{color:#4caf50;background:#4caf501a}.order.failed .order-description{color:#f44336;background:#f443361a}.task-id{font-family:monospace;font-size:.9em;color:#ecf0f1;padding:4px 8px;background:#3498db33;border-radius:4px;margin:4px 0;display:inline-block;border:1px solid rgba(52,152,219,.3)}.task-description{font-size:.9em;margin:8px 0;color:#2c3e50;line-height:1.4}.task-requirements{display:flex;gap:8px;justify-content:center;margin-top:8px}.task-type{font-weight:600;color:#34495e;margin:4px 0}.order.coding_task.in_progress .task-id{background:#2196f326}.order.coding_task.completed .task-id{background:#4caf5026}.order.coding_task.failed .task-id{background:#f4433626}.order.coding_task{background:#fff;color:#333;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:12px;margin-bottom:12px;border-left:4px solid #2196F3;transition:all .3s ease}.order.coding_task:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.order.coding_task .task-id{font-family:monospace;font-size:.6em;color:#666;padding:2px 6px;background:#0000000d;border-radius:4px;display:inline-block;margin-bottom:8px}.order.coding_task .task-type{font-weight:600;margin-bottom:8px;color:#1976d2}.order.coding_task .task-description{font-size:.9em;line-height:1.4;margin-bottom:8px;color:#555}.order.coding_task .task-requirements{display:flex;gap:8px;margin-top:8px}.order.coding_task .requirement-icon{padding:4px;background:#2196f31a;border-radius:4px;cursor:help}.coding-progress,.testing-progress,.searching-progress{width:100%;height:4px;background:#0000001a;border-radius:2px;margin-top:4px}.coding-progress .progress-bar{background:linear-gradient(90deg,#e74c3c,#f39c12)}.testing-progress .progress-bar{background:linear-gradient(90deg,#2ecc71,#27ae60)}.searching-progress .progress-bar{background:linear-gradient(90deg,#3498db,#2980b9)}.progress-bar{height:100%;border-radius:2px;transition:width .3s ease}.order.coding_task.in_progress{border-left-color:#f39c12}.order.coding_task.completed{border-left-color:#2ecc71}.order.coding_task.failed{border-left-color:#e74c3c}.coding_task{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:8px;background-color:#1e1e1e;border:1px solid #333}.coding_task .task-id{font-family:monospace;color:#569cd6;font-size:.9em}.coding_task .task-type{font-weight:500;color:#c586c0}.coding_task .task-description{font-size:.9em;color:#dcdcdc;line-height:1.4}.coding_task .task-requirements{display:flex;gap:8px;margin-top:4px}.coding_task .requirement-icon{background:#2d2d2d;padding:4px 8px;border-radius:4px;font-size:.9em}.coding_task.in_progress{border-color:#569cd6;box-shadow:0 0 8px #569cd64d}.coding_task.completed{border-color:#6a9955;box-shadow:0 0 8px #6a99554d}.coding_task.failed{border-color:#f44747;box-shadow:0 0 8px #f447474d}.progress-bar{height:4px;background:linear-gradient(90deg,#569cd6,#6a9955);border-radius:2px;transition:width .3s ease}.coding-progress,.testing-progress,.searching-progress{width:100%;height:4px;background:#2d2d2d;border-radius:2px;margin-top:4px}.cell.workstation.active,.cell.data-source.active,.cell.search-terminal.active,.cell.data-viewer-station.active,.cell.skip-station.active{box-shadow:inset 0 0 12px #569cd64d}.cell.test-station.active{box-shadow:inset 0 0 12px #2eae604d}.cell.search-terminal.active{box-shadow:inset 0 0 12px #ff6b004d}.cell.data-viewer-station.active{box-shadow:inset 0 0 12px #b08f614d}.cell-label{font-size:.8em;color:#dcdcdc;margin-top:4px;display:block}@keyframes stroke-pulse{0%{box-shadow:0 0 #569cd666}70%{box-shadow:0 0 0 6px #569cd600}to{box-shadow:0 0 #569cd600}}.game-title{font-size:2.5rem;margin:2rem 0;color:#333}.order.completed .order-timer,.order.failed .order-timer{color:#888;background:#0000000d}.order.completed{opacity:.8;background:#4caf501a;border:1px solid rgba(76,175,80,.3)}.order.failed{opacity:.8;background:#f443361a;border:1px solid rgba(244,67,54,.3)}@keyframes status-change{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.order.status-changing{animation:status-change .3s ease-in-out}.profile-details{color:var(--text-primary)}.profile-item{display:flex;justify-content:space-between;margin-bottom:.5rem;color:var(--text-primary)}.stat-details{margin-top:1rem;color:var(--text-primary)}.stat-item{display:flex;justify-content:space-between;margin-bottom:.5rem;color:var(--text-primary)}.status-badge{display:inline-flex;align-items:center;background:#e6ffed;color:#237804;border-radius:999px;padding:6px 12px;font-weight:500;font-size:.95em;margin-right:.5em}.status-badge-icon{font-size:.95em;margin-right:.25em}.score-panel{width:100%;height:65px;max-width:calc(var(--grid-size, 10) * var(--cell-size, 60px) + 20px);background-color:#f4f4f4;border:1px solid #ddd;border-radius:8px;padding:1rem;margin:1rem 0;box-shadow:0 2px 8px #0000001a}.score-list{display:flex;flex-direction:column}.player-score{font-weight:700;color:var(--primary-color, #646cff)}.player-score{font-weight:700;color:#646cff;font-size:1.2rem}.floor-content{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;position:relative}.floor-item{display:flex;align-items:center;justify-content:center;font-size:calc(var(--cell-size, 60px) * .4);padding:2px;border-radius:4px;background:#ffffffe6;border:1px solid rgba(0,0,0,.1);box-shadow:0 2px 4px #0000001a;position:relative;z-index:2}.floor-item.plated{background:#fffffff2;border:2px solid #ffd700}.floor-item .plate-indicator{font-size:.8em;margin-right:2px}.floor-item .state-indicator{font-size:.6em;position:absolute;top:-2px;right:-2px;background:#ffffffe6;border-radius:50%;padding:1px;border:1px solid rgba(0,0,0,.1)}.join-game-input{color:#222;background:#fff;border:2px solid #888;border-radius:6px;padding:12px 18px;font-size:1.2rem;font-weight:500;outline:none;transition:border .2s;width:100px}.join-game-input:focus{border-color:#007bff}.join-game-button{background:#007bff;color:#fff;border:none;border-radius:8px;padding:12px 28px;font-size:1.2rem;font-weight:600;cursor:pointer;box-shadow:0 2px 8px #00000012;transition:background .2s}.join-game-button:hover{background:#0056b3}.game-actions-row{display:flex;flex-direction:row;align-items:center;gap:16px;justify-content:center}.join-error-message{color:#dc3545;background:#fff0f0;border:1px solid #dc3545;border-radius:6px;padding:8px 16px;margin-bottom:10px;text-align:center;font-size:1rem;font-weight:500}.game-actions-row-wrapper{display:flex;flex-direction:column;align-items:center}.username-input{transition:all .2s ease;outline:none}.username-input:focus{border-color:var(--primary-color, #646cff);box-shadow:0 0 0 2px #646cff1a}.username-input:disabled{cursor:not-allowed;opacity:.7}.username-input::placeholder{color:#999;font-style:italic}.game-cards-container{display:flex;gap:2rem;justify-content:center;align-items:stretch;margin-bottom:1.5rem;flex-wrap:wrap}.game-setup-card,.game-actions-card{background-color:var(--bg-secondary, #2a2a2a);border-radius:8px;padding:2rem;box-shadow:0 2px 4px #0003;border:1px solid var(--border-color, #3a3a3a);max-width:400px;width:100%;flex:1;min-width:300px;display:flex;flex-direction:column}.section-header{display:flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:600;color:var(--text-primary, #ffffff);margin:0 0 1.5rem;padding-bottom:.75rem;border-bottom:2px solid var(--border-color, #3a3a3a)}.section-icon{font-size:1.5rem}.setup-group{margin-bottom:1.5rem}.input-label{display:flex;align-items:center;gap:.5rem;font-size:.95rem;font-weight:500;color:var(--text-primary, #ffffff);margin-bottom:.5rem}.label-icon{font-size:1.1rem}.input-hint{font-size:.85rem;color:var(--text-secondary, #a0a0a0);margin-top:.25rem}.options-container{display:flex;flex-direction:column;gap:.75rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text-primary, #ffffff);cursor:pointer;padding:.5rem;border-radius:6px;transition:background-color .2s;font-weight:500}.checkbox-label:hover{background-color:#646cff1a}.checkbox-label input[type=checkbox]{margin:0;accent-color:var(--primary-color, #646cff)}.actions-container{display:flex;flex-direction:column;gap:1rem}.primary-action{background-color:var(--primary-color, #646cff);color:#fff;border:none;border-radius:6px;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s}.primary-action:hover{background-color:var(--primary-hover, #535bf2);transform:translateY(-1px);box-shadow:0 4px 8px #0003}.primary-action:disabled{background-color:var(--text-secondary, #666666);cursor:not-allowed;transform:none;box-shadow:none}.divider{display:flex;align-items:center;text-align:center;color:var(--text-secondary, #a0a0a0);font-size:.9rem;margin:1rem 0}.divider:before,.divider:after{content:"";flex:1;border-bottom:1px solid var(--border-color, #3a3a3a)}.divider span{padding:0 1rem;background-color:var(--bg-secondary, #2a2a2a)}.join-section{display:flex;flex-direction:column;gap:.75rem}.error-message{color:var(--error-color, #ff4b4b);background-color:#ff4b4b1a;border:1px solid var(--error-color, #ff4b4b);border-radius:6px;padding:.75rem;font-size:.9rem;text-align:center;margin-top:1rem}.username-input,.level-select,.join-game-input{padding:.75rem;border-radius:4px;border:1px solid var(--border-color, #3a3a3a);background-color:var(--bg-primary, #1a1a1a);color:var(--text-primary, #ffffff);font-size:1rem;transition:all .2s}.username-input:focus,.level-select:focus,.join-game-input:focus{outline:none;border-color:var(--primary-color, #646cff);box-shadow:0 0 0 2px #646cff1a}.username-input:disabled,.level-select:disabled{background-color:var(--bg-secondary, #2d2d2d);color:var(--text-secondary, #a0a0a0);cursor:not-allowed;opacity:.7}.username-input::placeholder{color:var(--text-secondary, #a0a0a0)}.level-select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:1em;padding-right:2.5rem}.level-select option{background-color:var(--bg-primary, #1a1a1a);color:var(--text-primary, #ffffff);padding:.5rem}@media (prefers-color-scheme: light){.game-setup-card,.game-actions-card{background-color:#fff;color:#222;box-shadow:0 2px 8px #00000014;border:1px solid #e5e7eb}.section-header{color:#222;border-bottom:2px solid #e5e7eb}.input-label,.checkbox-label{color:#222}.checkbox-label:hover{background-color:#646cff0d}.divider{color:#6b7280}.divider:before,.divider:after{border-bottom:1px solid #e5e7eb}.divider span{background-color:#fff}.username-input,.level-select,.join-game-input{background-color:#fff;color:#222;border:1px solid #d1d5db}.username-input:disabled,.level-select:disabled{background-color:#f9fafb;color:#6b7280}.username-input::placeholder{color:#9ca3af}}@media (max-width: 1024px){.game-cards-container{flex-direction:column;align-items:center;gap:1.5rem}.game-setup-card,.game-actions-card{max-width:500px}}@media (max-width: 768px){.game-cards-container{gap:1rem}.game-setup-card,.game-actions-card{padding:1.5rem;max-width:100%}.section-header{font-size:1.1rem;margin-bottom:1rem}.setup-group{margin-bottom:1rem}}@media (max-width: 480px){.game-setup-card,.game-actions-card{padding:1rem;min-width:auto}.section-header{font-size:1rem}.input-label{font-size:.9rem}}.dashboard-button{padding:12px 24px;font-size:1rem;font-weight:500;border-radius:8px;border:none;background-color:var(--text-secondary, #6b7280);color:#fff;cursor:pointer;transition:all .2s ease;margin-top:2rem;display:block;margin-left:auto;margin-right:auto;min-width:200px}.dashboard-button:hover{background-color:var(--primary-color, #646cff);transform:translateY(-1px);box-shadow:0 4px 8px #0003}@media (prefers-color-scheme: light){.dashboard-button{background-color:#6b7280;color:#fff}.dashboard-button:hover{background-color:#646cff}}@media (max-height: 900px){body{zoom:.9}.app-container{transform:scale(.9);transform-origin:top center}}@media (max-height: 800px){body{zoom:.85}.app-container{transform:scale(.85);transform-origin:top center}}@media (max-height: 700px){body{zoom:.7}.app-container{transform:scale(.7);transform-origin:top center}}@media (max-height: 600px){body{zoom:.6}.app-container{transform:scale(.6);transform-origin:top center}}.problem-spawn{background-color:#f5f5f5;border:2px dashed #ccc;border-radius:8px;padding:4px;min-height:40px;display:flex;align-items:center;justify-content:center;position:relative;box-shadow:inset 0 0 4px #0000001a}.cell.problem_station{background-color:#e0e0e0;border:2px solid #999;cursor:not-allowed}.problem-spawn:empty:before{content:"📋";font-size:1.2em;opacity:.5}.problem-item,.problem-item-held{animation:problem-pulse 2s ease-in-out infinite;box-shadow:0 2px 8px #0000004d;border:3px solid white}@keyframes problem-pulse{0%,to{transform:scale(1);box-shadow:0 2px 8px #0000004d}50%{transform:scale(1.1);box-shadow:0 4px 12px #0006}}.active-problem-overlay{animation:problem-pulse 2s ease-in-out infinite}.tile-content,.cell[data-salient=true] .tile-content,.cell[data-salient=true] .player-content{position:relative}.cell[data-salient=true] .tile-content:after,.cell[data-salient=true] .player-content:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;box-shadow:inset 0 0 0 4px var(--salient-color, #ffeb3b);background-color:#ffeb3b1a;z-index:12;pointer-events:none}._chatWindow_16mgs_1{display:flex;flex-direction:column;border:1px solid #e2e8f0;border-radius:.5rem;background:#fff;box-shadow:0 4px 6px #0000001a;margin:0;position:relative;flex:1 1 42%;width:clamp(420px,42vw,660px);min-width:390px;max-width:750px;height:calc(65px + 20px + (var(--grid-size, 10) * var(--cell-size, 60px) + 20px) + 97px);align-self:flex-start;transition:all .3s ease}._chatWindow_16mgs_1._withCodeWindow_16mgs_21{height:calc((65px + 20px + (var(--grid-size, 10) * var(--cell-size, 60px) + 20px) + 97px) - 300px)}._chatTabs_16mgs_26{display:flex;background:#f8fafc;border-radius:8px 8px 0 0;gap:1px;padding:2px 4px 0;border-bottom:1px solid #e2e8f0}._tabButton_16mgs_35{flex:1;padding:4px 8px;font-size:.7em;border:none;background:#f8fafc;color:#4a5568;cursor:pointer;transition:all .2s ease;border:1px solid #e2e8f0;border-bottom:none;border-radius:4px 4px 0 0;margin-bottom:-1px}._tabButton_16mgs_35[data-type=chat]{flex:0 0 40px;font-size:1.1em;padding:4px;background:#fff;border-bottom:1px solid #ffffff;opacity:.6;transition:all .2s ease}._tabButton_16mgs_35[data-type=chat]._active_16mgs_60{opacity:1;background:#fff;border-bottom:1px solid #ffffff}._tabButton_16mgs_35[data-type=chat]:not(._active_16mgs_60){opacity:.5;border-bottom:1px solid #e2e8f0;background:#f8fafc}._tabButton_16mgs_35[data-type=chat]:hover:not(._active_16mgs_60){background:#fffc}._tabButton_16mgs_35[data-type=instructions]{background-color:#9c27b01a}._tabButton_16mgs_35[data-type=instructions]:hover:not(._disabled_16mgs_81){background-color:#9c27b033}._tabButton_16mgs_35[data-type=instructions]._active_16mgs_60{background-color:#9c27b0;color:#fff}._tabButton_16mgs_35[data-type=examples]{background-color:#ff6b001a}._tabButton_16mgs_35[data-type=examples]:hover:not(._disabled_16mgs_81){background-color:#ff6b0033}._tabButton_16mgs_35[data-type=examples]._active_16mgs_60{background-color:#ff6b00;color:#ecf0f1}._tabButton_16mgs_35._disabled_16mgs_81{opacity:.4;cursor:not-allowed;background:#f1f5f9;color:#9ca3af}._tabButton_16mgs_35._disabled_16mgs_81[data-type=instructions]{background-color:#8e44ad0d}._tabButton_16mgs_35._disabled_16mgs_81[data-type=examples]{background-color:#2980b90d}._tabButton_16mgs_35[data-type=examples]:hover:not(._disabled_16mgs_81):not(._active_16mgs_60){background-color:#2980b91a}._tabButton_16mgs_35[data-type=instructions]:hover:not(._disabled_16mgs_81):not(._active_16mgs_60){background-color:#8e44ad1a}._tabPanel_16mgs_132{display:flex;flex-direction:column;flex:1;overflow:hidden}._tabPanel_16mgs_132[hidden]{display:none}._chatHeader_16mgs_143{padding:12px;background:#f8fafc;border-bottom:1px solid #e2e8f0;font-weight:600;color:#2d3748;text-align:center}._messagesContainer_16mgs_152{flex:1;padding:16px;display:flex;flex-direction:column;gap:12px;background:#fff;height:calc(100% - 100px);overflow-y:auto}._specializedContent_16mgs_163{border-top:1px solid #e2e8f0;background:#f8fafc;height:200px}._specializedContent_16mgs_163 ._messagesContainer_16mgs_152{height:200px;min-height:200px;background:#fff}._messageHeader_16mgs_188{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;font-size:.9rem;text-align:left}._messageSender_16mgs_197{font-weight:600;color:#4a5568;text-align:left}._messageTime_16mgs_203{font-size:.8rem;color:#718096;text-align:right}._messageContent_16mgs_209{color:#2d3748;text-align:left;white-space:pre-wrap;font-size:.95rem}._messageInput_16mgs_216{padding:12px;border-top:1px solid #e2e8f0;display:flex;background:#f8fafc;border-radius:0 0 8px 8px;position:relative;z-index:10;margin-top:auto}._messageInput_16mgs_216 input{flex:1;padding:8px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:.95em;background:#fff;outline:none;transition:all .2s ease;color:#000;width:100%}._messageInput_16mgs_216 input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}._messageInput_16mgs_216 input:disabled{background-color:#f5f5f5;cursor:not-allowed}._messageInput_16mgs_216 button{padding:8px 16px;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s ease}._messageInput_16mgs_216 button:hover{background:#2563eb}._messageInput_16mgs_216 button:disabled{background-color:#ccc;cursor:not-allowed;transform:none}._typingIndicator_16mgs_271{padding:8px;color:#718096;font-size:.9rem;font-style:italic;animation:_fadeInUp_16mgs_1 .3s ease-in-out}@keyframes _fadeIn_16mgs_1{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes _pointsEarned_16mgs_1{0%{opacity:0;transform:scale(.8) translateY(20px)}50%{opacity:1;transform:scale(1.05) translateY(-5px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes _fadeInUp_16mgs_1{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}._typingDots_16mgs_317:after{content:"";animation:_dots_16mgs_1 1.5s steps(4,end) infinite}@keyframes _dots_16mgs_1{0%,20%{content:""}40%{content:"."}60%{content:".."}80%{content:"..."}to{content:""}}._debugInfo_16mgs_330{font-size:.8rem;color:#666;padding:4px 8px;background:#f8fafc;border-top:1px solid #e2e8f0}._debugInfo_16mgs_330 pre{margin:0;white-space:pre-wrap;word-break:break-all}._messageContainer_16mgs_344{margin-bottom:12px;padding:8px;border-radius:8px;width:70%;animation:_fadeIn_16mgs_1 .3s ease-in;box-shadow:0 1px 2px #0000001a}._errorMessage_16mgs_353{background-color:#ffebee;border-left:4px solid #ef5350;margin-left:20px;background:linear-gradient(145deg,#ffebee,#ffcdd2)}._systemMessage_16mgs_360{background-color:#e3f2fd;border-left:4px solid #2196f3;margin-left:20px;background:linear-gradient(145deg,#e3f2fd,#bbdefb)}._tipMessage_16mgs_367{background-color:#fff3cd;border-left:4px solid #ffc107;margin-left:20px;background:linear-gradient(145deg,#fff3cd,#ffeaa7)}._tutorialMessage_16mgs_374{background:linear-gradient(145deg,#e9d5ff,#d8b4fe);border-left:4px solid #9333ea;margin-left:20px;color:#581c87;font-weight:600;box-shadow:0 4px 15px #9333ea33;border:2px solid #a855f7;text-align:center}._tutorialMessage_16mgs_374 ._messageContent_16mgs_209{text-align:center}._agentMessage_16mgs_389{background:linear-gradient(145deg,color-mix(in srgb,var(--player-color) 15%,white),color-mix(in srgb,var(--player-color) 5%,white));border-left:4px solid var(--player-color);margin-left:15%}._privateMessage_16mgs_395{background:linear-gradient(135deg,#059669,#047857);color:#fff;border-left:4px solid #065F46;box-shadow:0 4px 15px #0596694d;border:2px solid #10B981;margin-left:20px}._privateMessage_16mgs_395 ._messageSender_16mgs_197{color:#d1fae5;font-weight:600}._privateMessage_16mgs_395 ._messageTime_16mgs_203{color:#ffffffb3}._userMessage_16mgs_413{background:linear-gradient(145deg,color-mix(in srgb,var(--player-color) 15%,white),color-mix(in srgb,var(--player-color) 5%,white));border-left:4px solid var(--player-color);margin-left:auto;margin-right:20px}._otherMessage_16mgs_420{background-color:#f0f4f8;border-left:4px solid #4a5568;margin-left:20px}._disabledMessage_16mgs_426{padding:20px;text-align:center;color:#7f8c8d;font-style:italic;background:#0000000d;border-radius:4px;margin:10px}._spectatorHint_16mgs_683{padding:8px;text-align:center;color:#666;border-top:1px solid #eee;font-size:.9em;font-style:italic;background:#0000000d;border-radius:4px;margin:10px}._coding-progress_16mgs_437,._testing-progress_16mgs_438,._searching-progress_16mgs_439{position:absolute;bottom:0;left:0;width:100%;height:4px;background:#0000001a}._progress-bar_16mgs_448{height:100%;background:#3498db;transition:width .3s ease}._instruction_16mgs_455{width:100%;background:linear-gradient(145deg,color-mix(in srgb,#9c27b0 10%,white),color-mix(in srgb,#9c27b0 5%,white));border-left:4px solid #9c27b0;color:#333;font-weight:500;box-shadow:0 2px 4px #0000001a;padding:12px;overflow:visible!important;white-space:normal!important;word-break:break-word;max-width:100%}._example_16mgs_472{width:100%;background:linear-gradient(145deg,color-mix(in srgb,#ff6b00 10%,white),color-mix(in srgb,#ff6b00 5%,white));border-left:4px solid #ff6b00}._exampleMessage_16mgs_481{background:linear-gradient(145deg,color-mix(in srgb,#ff6b00 10%,white),color-mix(in srgb,#ff6b00 5%,white));border-left:4px solid #ff6b00;width:100%;color:#333;font-weight:500;padding:12px;box-shadow:0 2px 4px #0000001a;overflow:visible!important;white-space:normal!important;word-break:break-word;max-width:100%}._exampleTable_16mgs_499{width:100%;margin:8px 0;word-break:break-word;white-space:normal}._exampleTable_16mgs_499 table{width:100%;border-collapse:collapse;background:#fff;border-radius:4px;font-size:.9em;table-layout:fixed}._exampleTable_16mgs_499 th{background:#f8fafc;padding:8px 12px;text-align:left;font-weight:600;border-bottom:2px solid #e2e8f0;white-space:nowrap}._exampleTable_16mgs_499 td{padding:8px 12px;border-bottom:1px solid #e2e8f0;font-family:monospace;overflow-x:auto;white-space:normal;word-wrap:break-word;max-width:none}._exampleTable_16mgs_499 td code{white-space:pre-wrap;word-break:break-word}._exampleTable_16mgs_499 code{background:#f1f5f9;padding:2px 4px;border-radius:4px;font-family:monospace}._code_16mgs_546{background:linear-gradient(145deg,color-mix(in srgb,#008B8B 10%,white),color-mix(in srgb,#008B8B 5%,white));border-left:4px solid #008B8B;font-family:monospace}._codeSubmission_16mgs_572{width:100%;background-color:#1e1e1e;color:#d4d4d4;font-family:Consolas,Monaco,Courier New,monospace;white-space:pre-wrap;padding:12px;border-radius:6px;border-left:4px solid #0088cc;margin:4px 0}._codeSubmission_16mgs_572 pre{width:100%;margin:0;overflow-x:auto}._test-results_16mgs_591{border:1px solid #e2e8f0;border-radius:4px;margin:.5rem 0;padding:1rem}._test-results_16mgs_591 ._success_16mgs_598{color:#059669;font-weight:700}._test-results_16mgs_591 ._failure_16mgs_603{color:#dc2626;font-weight:700}._test-case_16mgs_608{margin:.5rem 0;padding:.5rem;border-radius:4px;background-color:#f8fafc}._test-case_16mgs_608._passed_16mgs_615{border-left:4px solid #059669}._test-case_16mgs_608._failed_16mgs_619{border-left:4px solid #dc2626;background-color:#fef2f2}._test-case-header_16mgs_624{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}._test-case-id_16mgs_631{font-weight:700}._test-case-status_16mgs_635{padding:.25rem .5rem;border-radius:9999px;font-size:.75rem}._test-case-status_16mgs_635._passed_16mgs_615{background-color:#10b981;color:#fff}._test-case-status_16mgs_635._failed_16mgs_619{background-color:#ef4444;color:#fff}._test-case-details_16mgs_651{font-family:monospace;white-space:pre-wrap;font-size:.875rem;padding:.5rem;background-color:#fff;border-radius:4px;border:1px solid #e5e7eb}.level3 ._messageInput_16mgs_216{display:grid;grid-template-columns:1fr auto;gap:.5rem}.level3 ._messageInput_16mgs_216 textarea{resize:vertical;min-height:100px;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;padding:8px;border:1px solid #e2e8f0;border-radius:4px;color:#000}.level3 ._messageInput_16mgs_216 button{height:fit-content;align-self:flex-end}._disabled_16mgs_81{opacity:.5;cursor:not-allowed;background-color:#f0f0f0}._chatInput_16mgs_951._disabled_16mgs_81::placeholder{color:#666;font-style:italic}._codeBlock_16mgs_956{width:100%;max-width:100%;margin:8px 0;word-break:break-word;white-space:pre-wrap}._codeBlock_16mgs_956 pre{margin:0;padding:12px;background-color:#1e1e1e;border-radius:6px;border-left:4px solid #0088cc;overflow:visible!important}._codeBlock_16mgs_956 code{white-space:pre-wrap!important;word-break:break-word!important;font-family:Consolas,Monaco,Courier New,monospace}._trackingOverlay_16mgs_980{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}._trackingWindow_16mgs_994{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;width:90%;max-width:1200px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}._trackingHeader_16mgs_1006{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e2e8f0;background:#f8fafc}._trackingHeader_16mgs_1006 h3{margin:0;font-size:1.25rem;font-weight:600;color:#1f2937}._closeButton_16mgs_1022{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6b7280;padding:4px;border-radius:4px;transition:all .2s ease}._closeButton_16mgs_1022:hover{background:#e5e7eb;color:#374151}._trackingContent_16mgs_1038{flex:1;overflow-y:auto;padding:24px}._tabPanel_16mgs_132 ._trackingContent_16mgs_1038{padding:12px;height:100%;overflow-y:auto;background:#fff}._tabPanel_16mgs_132 ._trackingContent_16mgs_1038 ._checkboxSection_16mgs_1052{margin-bottom:20px}._tabPanel_16mgs_132 ._trackingContent_16mgs_1038 ._checkboxSection_16mgs_1052 h4,._tabPanel_16mgs_132 ._trackingContent_16mgs_1038 ._tableSection_16mgs_1063 h4{margin:0 0 12px;font-size:1rem;font-weight:600;color:#374151}._checkboxSection_16mgs_1052{margin-bottom:24px}._settingsHeader_16mgs_1074{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #e5e7eb;margin-bottom:16px}._settingsHeader_16mgs_1074 h4{margin:0;font-size:.95rem;font-weight:600;color:#374151}._collapseIcon_16mgs_1090{font-size:.8rem;color:#6b7280;transition:transform .2s ease}._checkboxSection_16mgs_1052 h4{margin:0 0 12px;font-size:.95rem;font-weight:600;color:#374151}._checkboxGrid_16mgs_1103{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:6px}._checkboxItem_16mgs_1109{display:flex;align-items:center;padding:6px 10px;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;transition:all .2s ease;background:#fff;font-size:.85rem}._checkboxItem_16mgs_1109:hover{background:#f9fafb;border-color:#d1d5db}._checkboxItem_16mgs_1109 input[type=checkbox]{margin-right:8px;width:16px;height:16px;accent-color:#3b82f6;border-radius:4px;border:2px solid #d1d5db!important;background-color:#fff!important;cursor:pointer;transition:all .2s ease;appearance:none;-webkit-appearance:none;-moz-appearance:none;position:relative}._checkboxItem_16mgs_1109 input[type=checkbox]:checked{background-color:#3b82f6!important;border-color:#3b82f6!important}._checkboxItem_16mgs_1109 input[type=checkbox]:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:12px;font-weight:700}._checkboxLabel_16mgs_1158{font-weight:500;color:#374151;margin-right:8px}._checkboxExample_16mgs_1164{font-size:.875rem;color:#6b7280;font-style:italic}._selectionCounter_16mgs_1170{font-size:.8rem;color:#6b7280;margin-bottom:10px;padding:6px 10px;background:#f8fafc;border-radius:6px;border:1px solid #e2e8f0;text-align:center;font-weight:500}._checkboxItem_16mgs_1109._disabled_16mgs_81{opacity:.5;cursor:not-allowed;background:#f1f5f9}._checkboxItem_16mgs_1109._disabled_16mgs_81:hover{background:#f1f5f9;border-color:#e5e7eb}._checkboxItem_16mgs_1109._disabled_16mgs_81 input[type=checkbox]{cursor:not-allowed}._readOnlyMessage_16mgs_1197{background:#f0f9ff;border:1px solid #0ea5e9;border-radius:6px;padding:6px 10px;margin-bottom:10px;font-size:.75em;color:#0369a1;text-align:center;font-weight:500}._configMessage_16mgs_1209{background:#f0fdf4;border:1px solid #22c55e;border-radius:6px;padding:6px 10px;margin-bottom:10px;font-size:.75em;color:#15803d;text-align:center;font-weight:500}._selectionWarning_16mgs_1221{font-size:.8rem;color:#dc2626;margin-top:4px;font-style:italic}._tableSection_16mgs_1063 h4{margin:0 0 16px;font-size:1.1rem;font-weight:600;color:#374151}._tableContainer_16mgs_1235{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;background:#fff}._dataTable_16mgs_1242{width:100%;border-collapse:collapse;font-size:.8rem}._dataTable_16mgs_1242 th{background:#f8fafc;padding:8px 12px;text-align:left;font-weight:600;color:#374151;border-bottom:2px solid #e5e7eb;white-space:nowrap}._dataTable_16mgs_1242 td{padding:8px 12px;border-bottom:1px solid #f3f4f6;color:#374151;font-family:monospace}._dataTable_16mgs_1242 tr:hover:not(._separatorRow_16mgs_1265){background:#f9fafb}._separatorRow_16mgs_1265{height:20px;background:#f3f4f6}._separatorCell_16mgs_1274{border-bottom:2px solid #d1d5db!important}._emptyMessage_16mgs_1278{text-align:center;color:#6b7280;font-style:italic;padding:32px 16px!important}._tabButton_16mgs_35[data-type=settings]{background-color:#6b72801a;color:#6b7280}._tabButton_16mgs_35[data-type=settings]:hover:not(._disabled_16mgs_81){background-color:#6b728033}._tabButton_16mgs_35[data-type=settings]._active_16mgs_60{background-color:#6b7280;color:#fff}._tabButton_16mgs_35[data-type=settings]._inactive_16mgs_1300{opacity:.4;background-color:#6b72800d;cursor:not-allowed}code[class*=language-],pre[class*=language-]{color:#ccc;background:none;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.comment,.token.block-comment,.token.prolog,.token.doctype,.token.cdata{color:#999}.token.punctuation{color:#ccc}.token.tag,.token.attr-name,.token.namespace,.token.deleted{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.number,.token.function{color:#f08d49}.token.property,.token.class-name,.token.constant,.token.symbol{color:#f8c555}.token.selector,.token.important,.token.atrule,.token.keyword,.token.builtin{color:#cc99cd}.token.string,.token.char,.token.attr-value,.token.regex,.token.variable{color:#7ec699}.token.operator,.token.entity,.token.url{color:#67cdcc}.token.important,.token.bold{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}
