html,body,#root{font-family:Lincoln Road Regular,serif!important;background:#000;position:fixed;top:0;left:0;width:100%;height:100%;overflow:hidden;touch-action:none;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}body{display:block;overflow:hidden}#root{width:100%;height:100%}.app-container{width:100%;height:100%;position:relative}@keyframes screen-shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-10px)}20%,40%,60%,80%{transform:translate(10px)}}.app-container--error{animation:screen-shake .6s ease-in-out}.screen-error-overlay{position:fixed;inset:0;background:#dc26264d;pointer-events:none;z-index:99999}.cursor-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;display:flex;align-items:center;justify-content:center;z-index:9999}.simple-cursor{width:1rem;height:1rem;border-radius:50%;border:.2rem solid rgba(255,255,255,.4);z-index:9999}.interaction-prompt-3d{display:flex;align-items:center;gap:12px;padding:10px;background:#0000004d;border:1px solid #d4a574;border-radius:16px;box-shadow:0 4px 12px #0006;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;white-space:nowrap;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.prompt-key-3d{display:flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:8px;border:3px solid #ffde96;border-radius:8px;color:#ffde96;font-size:20px;font-weight:700;letter-spacing:.5px}.prompt-text-3d{color:#fff;font-size:18px;font-weight:500;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.loading-screen{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#0a0a0f,#1a1a2e,#0f0f1a);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.loading-content{display:flex;flex-direction:column;align-items:center;gap:2rem;padding:2rem}.loading-logo{width:80px;height:80px;display:flex;align-items:center;justify-content:center}.loading-spinner{width:60px;height:60px;border:3px solid rgba(255,255,255,.1);border-top-color:#6366f1;border-right-color:#8b5cf6;border-radius:50%;animation:spin 1s cubic-bezier(.68,-.55,.27,1.55) infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-progress-container{width:280px;display:flex;flex-direction:column;gap:.75rem}.loading-progress-bar{width:100%;height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden;position:relative}.loading-progress-fill{height:100%;background:linear-gradient(90deg,#6366f1,#8b5cf6,#a855f7);border-radius:3px;transition:width .3s ease-out;position:relative}.loading-progress-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 1.5s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.loading-progress-text{display:flex;justify-content:space-between;font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-size:.75rem}.loading-percentage{color:#e2e8f0;font-weight:600}.loading-count{color:#fff6}.loading-current{display:flex;flex-direction:column;align-items:center;gap:.25rem;max-width:280px;text-align:center}.loading-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:#fff6}.loading-filename{font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-size:.8rem;color:#ffffffb3;word-break:break-all;line-height:1.4}:root{--blockly-font: "AzimMedium", "Azim", sans-serif;--blockly-brown: #332e24;--blockly-cream: #fef9e4;--blockly-cream-hover: #dec6b3;--blockly-radius: 20px}.blockly-panel{position:fixed;top:140px;bottom:10px;left:10px;margin:0;background-color:#ffffff92;backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(10px);transition:all .35s ease-in-out;transform:translate(-110%);visibility:hidden;opacity:0;border-radius:var(--blockly-radius);overflow:visible;box-sizing:border-box;width:92%;max-width:480px;min-width:340px;z-index:10000;font-family:var(--blockly-font)}.blockly-panel--visible{transform:translate(0);visibility:visible;opacity:.98;border:3px dashed var(--blockly-brown);box-shadow:0 20px 40px #0000004d,0 15px 20px #00000038}@media(min-width:640px){.blockly-panel{width:88%;max-width:680px}}@media(min-width:768px){.blockly-panel{width:50%;max-width:840px}}@media(min-width:1024px){.blockly-panel{width:40%;max-width:1000px}}@media(min-width:1440px){.blockly-panel{width:40%;max-width:1200px}}@media(min-width:1920px){.blockly-panel{width:40%;max-width:1400px}}.blockly-panel>div,.blockly-panel .relative{width:100%!important;height:100%!important}.blockly-panel .blockly-workspace{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;border-radius:var(--blockly-radius);overflow:hidden}.run-button{position:absolute;top:-32px;right:-32px;z-index:10;width:64px;height:64px;display:flex;align-items:center;justify-content:center;overflow:hidden;background-color:var(--blockly-cream);color:var(--blockly-brown);font-size:24px;font-family:var(--blockly-font);border-radius:50%;border:3px solid var(--blockly-brown);box-shadow:0 4px 12px #0000004d;cursor:pointer;transition:background-color .2s}.run-button:hover{background-color:var(--blockly-cream-hover)}.back-button{position:absolute;top:-80px;left:0;z-index:10;width:64px;height:64px;display:flex;align-items:center;justify-content:center;overflow:hidden;background-color:var(--blockly-cream);color:var(--blockly-brown);font-size:28px;font-family:var(--blockly-font);border-radius:50%;border:3px solid var(--blockly-brown);box-shadow:0 4px 12px #0000004d;cursor:pointer;transition:background-color .2s}.back-button:hover{background-color:var(--blockly-cream-hover)}.blocklyToolbox{background:var(--blockly-brown)!important;border-radius:var(--blockly-radius) 0 0 var(--blockly-radius)!important}.blocklyToolboxDiv{border-right:none!important;box-shadow:none!important}.blocklyToolboxContents{padding:.5em}.blocklyToolboxCategory{padding:8px;margin-bottom:.5em;border-radius:6px;min-height:64px;min-width:64px;background:transparent!important;cursor:pointer!important}.blocklyToolboxCategoryLabel{color:#fff!important}.blocklyToolboxCategory .blocklyToolboxCategoryLabel{display:none}.blocklyTreeRowContentContainer{display:flex;flex-direction:column;align-items:center;text-align:center}.blocklyToolboxCategory .blocklyTreeRowContentContainer{justify-content:center}.blocklyFlyoutBackground{fill:var(--blockly-cream)!important}.blocklyFlyoutScrollbar{display:none!important}.blocklyWorkspaceBackground,.blocklyMainBackground,.blocklySvg{fill:transparent!important;background:transparent!important}.blocklyMainBackground{stroke:none!important}.blocklySvg>rect:first-child{fill:transparent!important;opacity:0!important;display:none!important}.blocklyToolboxDiv,.blocklyWorkspaceDiv,.blocklyMainArea,.blockly-workspace>div{margin:0!important;padding:0!important}.blocklyZoom>image,.blocklyZoom>svg,.blocklyTrash>image,.blocklyTrash>svg{filter:brightness(0) saturate(100%) invert(0%) sepia(0%) saturate(2000%) hue-rotate(0deg) brightness(0%) contrast(200%);opacity:.9}.blocklyZoom>svg:hover,.blocklyTrash>svg:hover{opacity:1;filter:brightness(0) saturate(100%) invert(18%) sepia(100%) saturate(5000%) hue-rotate(15deg) brightness(90%) contrast(120%)}.blocklyZoom>svg,.blocklyTrash>svg{filter:drop-shadow(1px 1px 1px rgba(0,0,0,.3))}.blocklyZoom,.blocklyZoom>g,.blocklyZoom>svg,.blocklyTrash{cursor:pointer!important}.blocklyZoom>g:hover path,.blocklyTrash:hover path{opacity:.8;transition:opacity .2s}.blocklyWidgetDiv,.blocklyDropDownDiv{z-index:100001!important}.blockly-panel,.blockly-panel *,.blocklyText,.blocklyDropdownText,.blocklyMenuItemLabel,.blocklyHtmlInput,.blocklyToolboxCategory,.blocklyFlyoutLabelText,.blocklyFieldDropdownText,.blocklyEditableText,.blocklyNonEditableText,.blocklyFlyoutLabel,.blocklyFlyoutButton,.blocklyContextMenu,.blocklyMenuItem,.blocklyMenuItemContent,.blocklyTooltipDiv,.blocklyCommentTextarea,.blocklyBubbleCanvas text,.blocklySvg text,.blocklyDropDownDiv .blocklyMenu,.blocklyDropDownDiv .blocklyMenuItem,.blocklyWidgetDiv .blocklyMenu,.blocklyWidgetDiv .blocklyMenuItem{font-family:var(--blockly-font)!important}.fas.fa-control,.fas.fa-logic,.fas.fa-sensor{background-size:contain;background-repeat:no-repeat;background-position:center;width:48px;height:48px;display:block;color:transparent!important;margin:0 auto}.fa-control:before,.fa-sensor:before,.fa-logic:before{content:""}.fas.fa-control{background-image:url(../images/Code%20Block%20Control.svg)}.fas.fa-logic{background-image:url("/images/blockly/Code Block Logic.svg")}.fas.fa-sensor{background-image:url(../images/Code%20Block%20Sensor.svg)}.objectives{position:fixed;top:20px;right:20px;background-color:#e0c68e;padding:16px 20px;border-radius:8px;box-shadow:0 4px 12px #0003;z-index:1000;font-family:AzimMedium,Azim,sans-serif}.objectives-title{margin:0 0 12px;font-size:18px;font-weight:700;color:#332e24}.objectives-list{list-style:none;margin:0;padding:0}.objectives-list li{font-size:14px;color:#332e24;padding:4px 0}.objectives-list li.completed{text-decoration:line-through;opacity:.6}.win-overlay{position:fixed;inset:0;background:#00000080;z-index:10000;display:flex;align-items:center;justify-content:center}.win-popup{background:#fffbef;border:4px solid #facc15;box-shadow:0 25px 50px -12px #00000040;border-radius:16px;padding:32px;width:520px;text-align:center;position:relative;font-family:AzimMedium,Azim,sans-serif}.win-header{position:absolute;top:-24px;left:50%;transform:translate(-50%);background:#facc15;border:2px solid black;color:#000;font-weight:700;padding:8px 32px;border-radius:9999px;font-size:20px;box-shadow:0 4px 6px -1px #0000001a;font-family:AzimLight,Azim,sans-serif}.win-subtitle{margin-top:32px;color:#1f2937;font-weight:600;font-family:AzimLight,Azim,sans-serif}.win-stars{display:flex;justify-content:center;gap:16px;margin:24px 0}.win-star{width:56px;height:56px}.win-score{font-size:30px;font-weight:800;color:#111827;margin:0;font-family:AzimBold,Azim,sans-serif}.win-message{color:#374151;margin-top:8px;font-weight:500;font-family:AzimLight,Azim,sans-serif}.win-buttons{display:flex;justify-content:center;gap:24px;margin-top:32px}.win-btn{display:flex;align-items:center;gap:8px;font-weight:700;padding:12px 24px;border-radius:9999px;border:2px solid black;box-shadow:0 4px 6px -1px #0000001a;cursor:pointer;transition:transform .1s,background-color .2s;font-family:AzimLight,Azim,sans-serif}.win-btn:active{transform:scale(.95)}.win-btn-restart{background:#fb923c;color:#000}.win-btn-restart:hover{background:#f97316}.win-btn-close{background:#a3e635;color:#000}.win-btn-close:hover{background:#84cc16}
