body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}html,body,#root{height:100%;overflow-x:hidden}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.spinner{border:8px solid rgba(0,0,0,.1);border-top:8px solid rgba(0,0,0,.6);border-radius:50%;width:48px;height:48px;-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite;--spinner-color: rgba(0, 0, 0, .6);border-top-color:#0009;border-top-color:var(--spinner-color)}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.level-display-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:.5rem;padding:.35rem .75rem;background:linear-gradient(135deg,#3b82f614,#3b82f61f);background:linear-gradient(135deg,var(--ld-bg, rgba(59, 130, 246, .08)) 0%,var(--ld-bg-soft, rgba(59, 130, 246, .12)) 100%);border-radius:10px;border:1px solid rgba(59,130,246,.25);border:1px solid var(--ld-border-light, rgba(59, 130, 246, .25));-webkit-box-shadow:0 2px 8px rgba(59,130,246,.15);box-shadow:0 2px 8px #3b82f626;-webkit-box-shadow:0 2px 8px var(--ld-shadow, rgba(59, 130, 246, .15));box-shadow:0 2px 8px var(--ld-shadow, rgba(59, 130, 246, .15));-webkit-transition:all .3s ease;transition:all .3s ease;color:#0f172a;color:var(--ld-text, #0f172a)}.level-display-container:hover{border-color:#3b82f6;border-color:var(--ld-border, #3b82f6);-webkit-box-shadow:0 4px 12px rgba(59,130,246,.22);box-shadow:0 4px 12px #3b82f638;-webkit-box-shadow:0 4px 12px var(--ld-shadow, rgba(59, 130, 246, .22));box-shadow:0 4px 12px var(--ld-shadow, rgba(59, 130, 246, .22));-webkit-transform:translateY(-1px);transform:translateY(-1px)}.level-display-container.compact{gap:.4rem;padding:.3rem .55rem;border-radius:12px}.level-badge{-ms-flex-negative:0;flex-shrink:0;width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#8b5cf6);background:linear-gradient(135deg,var(--ld-progress-start, #3b82f6) 0%,var(--ld-progress-end, #8b5cf6) 100%);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-shadow:0 2px 8px rgba(59,130,246,.25);box-shadow:0 2px 8px #3b82f640;-webkit-box-shadow:0 2px 8px var(--ld-shadow, rgba(59, 130, 246, .25));box-shadow:0 2px 8px var(--ld-shadow, rgba(59, 130, 246, .25))}.level-display-number{font-size:.875rem;font-weight:700;color:#fff}.level-info{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:.2rem;min-width:100px}.level-display-container.compact .level-info{min-width:70px}.level-title{font-size:.75rem;font-weight:600;color:#3b82f6;color:var(--ld-primary, #3b82f6);line-height:1}.level-progress-bar-container{width:100%;height:4px;background:#3b82f633;background:var(--ld-border-light, rgba(59, 130, 246, .2));border-radius:2px;overflow:hidden}.level-display-container.compact .level-progress-bar-container{height:5px}.level-progress-bar-fill{height:100%;background:-webkit-gradient(linear,left top,right top,from(#3b82f6),color-stop(50%,#6d28d9),to(#8b5cf6));background:linear-gradient(90deg,#3b82f6,#6d28d9,#8b5cf6);background:-webkit-gradient(linear,left top,right top,from(var(--ld-progress-start, #3b82f6)),color-stop(50%,var(--ld-progress-mid, #6d28d9)),to(var(--ld-progress-end, #8b5cf6)));background:linear-gradient(90deg,var(--ld-progress-start, #3b82f6) 0%,var(--ld-progress-mid, #6d28d9) 50%,var(--ld-progress-end, #8b5cf6) 100%);border-radius:3px;-webkit-transition:width .5s ease;transition:width .5s ease}.level-xp-text{font-size:.7rem;color:#475569;color:var(--ld-text-light, #475569);font-weight:500}.level-display-container.compact .level-title,.level-display-container.compact .level-xp-text{display:none}@media(max-width:1024px){.level-display-container{padding:.3rem .6rem;gap:.4rem}.level-badge{width:26px;height:26px}.level-display-number{font-size:.8rem}.level-info{min-width:85px}.level-title{font-size:.7rem}.level-xp-text{font-size:.65rem}}@media(max-width:640px){.level-xp-text{display:none}.level-info{min-width:80px}}:root{--color-primary: #2DD28A;--color-primaryHover: #25b575;--color-primaryLight: #52dda0;--color-secondary: #2DD28A;--color-accent: #2DD28A;--color-background: #2D2C39;--color-backgroundAlt: #383747;--color-backgroundCard: #383747;--color-backgroundDark: #1f1e2a;--color-text: #e0e0e0;--color-textLight: #b0b0b0;--color-textDark: #ffffff;--color-textInverse: #2D2C39;--color-border: #2DD28A;--color-borderLight: rgba(45, 210, 138, .3);--color-shadow: rgba(45, 210, 138, .1);--color-shadowDark: rgba(45, 210, 138, .2);--color-success: #2DD28A;--color-error: #ff6b6b;--color-warning: #ffa726;--color-info: #52dda0;--color-navbarBg: #383747;--color-sidebarBg: #383747;--color-consoleBg: #1f1e2a;--color-consoleText: #2DD28A;--color-buttonPrimary: #2DD28A;--color-buttonPrimaryHover: #25b575;--color-buttonSecondary: #383747;--color-buttonSecondaryHover: #4a4958;--color-gradientStart: #52dda0;--color-gradientMid: #2DD28A;--color-gradientEnd: #4a4958}html,body,#root{background-color:#2d2c39;background-color:var(--color-background);color:#fff;color:var(--color-textDark);margin:0;padding:0;min-height:100vh;font-family:sans-serif;width:100%;overflow-x:hidden!important}body{padding-top:calc(70px + env(safe-area-inset-top,0px))}.app-root{min-height:calc(100vh - 70px - env(safe-area-inset-top,0px));display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.app-main{-webkit-box-flex:1;-ms-flex:1;flex:1;min-height:0;width:100%;-webkit-transition:margin-left .2s ease,width .2s ease;transition:margin-left .2s ease,width .2s ease}.app-root[data-viewport=desktop]>.app-main,.app-root[data-viewport=tablet-landscape]>.app-main{margin-left:220px;width:calc(100% - 220px)}.app-root[data-viewport=desktop]>.sidebar.collapsed~.app-main,.app-root[data-viewport=tablet-landscape]>.sidebar.collapsed~.app-main{margin-left:64px;width:calc(100% - 64px)}.app-root[data-viewport=tablet-portrait]>.app-main,.app-root[data-viewport=mobile]>.app-main{margin-left:0;width:100%}.app-root[data-viewport=mobile]>.app-main{padding-bottom:env(safe-area-inset-bottom,0px)}.App-logo{height:40vmin;pointer-events:none}@media(prefers-reduced-motion:no-preference){.App-logo{-webkit-animation:App-logo-spin infinite 20s linear;animation:App-logo-spin infinite 20s linear}}.editor-output-wrapper,.nav-buttons{max-width:100%;overflow-x:hidden}.editor-output-wrapper{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem;width:100%;max-width:1200px;margin:0 auto;-webkit-box-align:start;-ms-flex-align:start;align-items:start}.resizable-panels-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;gap:8px;width:100%;max-width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;height:500px;position:relative;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.resizable-panels-wrapper.is-stacked{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:auto;min-height:0;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.resizable-panels-wrapper.is-stacked .editor-panel,.resizable-panels-wrapper.is-stacked .output-panel{width:100%;max-width:100%;min-width:0}.resizable-panels-wrapper.is-stacked .resizer{display:none!important}.sql-playground-root .resizable-panels-wrapper{height:auto;min-height:500px}@media(max-width:1000px){.editor-output-wrapper{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:auto;width:100%;max-width:100%;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;margin:0}.resizable-panels-wrapper:not(.allow-responsive-horizontal){-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:auto;min-height:0;width:100%;max-width:100%;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;margin:0}.resizable-panels-wrapper:not(.allow-responsive-horizontal) .resizer{display:none!important}.resizable-panels-wrapper.allow-responsive-horizontal{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-ms-flex-direction:row!important;flex-direction:row!important;height:500px;min-height:0;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.resizable-panels-wrapper.allow-responsive-horizontal .resizer{display:block!important}.resizable-panels-wrapper.allow-responsive-horizontal .editor-panel,.resizable-panels-wrapper.allow-responsive-horizontal .output-panel{width:auto!important;max-width:none!important;min-height:0;-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0}.resizable-panels-wrapper.allow-responsive-horizontal .output-container,.resizable-panels-wrapper.allow-responsive-horizontal .ch_output-container{min-height:0;height:100%;width:100%!important;max-width:100%!important}}.editor-panel,.output-panel,.resizable-panels-wrapper .editor-panel,.resizable-panels-wrapper .output-panel{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;overflow:hidden;min-width:200px;background:transparent;-webkit-box-sizing:border-box;box-sizing:border-box}.resizer{width:8px;background:-webkit-gradient(linear,left top,right top,from(#52dda0),color-stop(50%,#2DD28A),to(#52dda0));background:linear-gradient(90deg,#52dda0,#2dd28a,#52dda0);background:-webkit-gradient(linear,left top,right top,from(var(--color-gradientStart)),color-stop(50%,var(--color-gradientMid)),to(var(--color-gradientStart)));background:linear-gradient(90deg,var(--color-gradientStart) 0%,var(--color-gradientMid) 50%,var(--color-gradientStart) 100%);cursor:col-resize;position:relative;-webkit-transition:all .2s ease;transition:all .2s ease;border-radius:4px;-ms-flex-negative:0;flex-shrink:0}.resizer:hover{background:-webkit-gradient(linear,left top,right top,from(#25b575),color-stop(50%,#2DD28A),to(#25b575));background:linear-gradient(90deg,#25b575,#2dd28a,#25b575);background:-webkit-gradient(linear,left top,right top,from(var(--color-primaryHover)),color-stop(50%,var(--color-primary)),to(var(--color-primaryHover)));background:linear-gradient(90deg,var(--color-primaryHover) 0%,var(--color-primary) 50%,var(--color-primaryHover) 100%);width:10px}.resizer:active{background:#25b575;background:var(--color-primaryHover);width:10px}.resizer:before{content:"⋮";position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);color:#fff;font-size:16px;font-weight:700;pointer-events:none}.resizable-panels-wrapper.touch-resizable .resizer{width:16px;border-radius:999px}.resizable-panels-wrapper.touch-resizable .resizer:hover,.resizable-panels-wrapper.touch-resizable .resizer:active{width:18px}.resizable-panels-wrapper.touch-resizable .resizer:before{font-size:18px}.responsive-editor-container{width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}.touch-editor-toolbar{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:.4rem;padding:.55rem;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-ms-flex-negative:0;flex-shrink:0}.touch-editor-button{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:1px solid rgba(148,163,184,.5);background:#ffffff14;background:var(--touch-toolbar-button-bg, rgba(255, 255, 255, .08));color:inherit;color:var(--touch-toolbar-button-color, inherit);padding:.5rem .75rem;border-radius:999px;font-size:.9rem;line-height:1.1;cursor:pointer;-ms-touch-action:manipulation;touch-action:manipulation;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.08);box-shadow:inset 0 1px #ffffff14;border-color:#94a3b880;border-color:var(--touch-toolbar-button-border, rgba(148, 163, 184, .5))}.touch-editor-button-icon{display:none}.touch-editor-button:active{-webkit-transform:scale(.98);transform:scale(.98)}.python-output-area{-webkit-overflow-scrolling:touch;-ms-scroll-chaining:none;overscroll-behavior:contain}.python-running-dots span{display:inline-block;-webkit-animation:python-running-dot 1.2s infinite ease-in-out;animation:python-running-dot 1.2s infinite ease-in-out}.python-running-dots span:nth-child(2){-webkit-animation-delay:.15s;animation-delay:.15s}.python-running-dots span:nth-child(3){-webkit-animation-delay:.3s;animation-delay:.3s}.python-runtime-status{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:.4rem;min-height:32px;max-width:100%;color:#e0e0e0;color:var(--color-text, #1f2937);font-size:.82rem;font-weight:600;line-height:1.2}.python-runtime-status.ready{color:#2dd28a;color:var(--color-success, #15803d)}.python-runtime-status.error{color:#ff6b6b;color:var(--color-error, #b91c1c)}.python-runtime-status>span{overflow-wrap:anywhere}.python-output-runtime-status{min-height:1.7rem;padding:.2rem .5rem;border:1px solid rgba(45,210,138,.22);border-radius:999px;background:#2dd28a14;white-space:nowrap}.python-runtime-spinner{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-animation:python-runtime-spin .9s linear infinite;animation:python-runtime-spin .9s linear infinite}.python-runtime-notice{width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;margin:.6rem 0 .85rem;padding:.6rem .75rem;border-left:3px solid #52dda0;border-left:3px solid var(--color-info, #2563eb);background:color-mix(in srgb,#52dda0 8%,transparent);color:#e0e0e0;color:var(--color-text, #1f2937);font-size:.88rem;line-height:1.45}@supports (color: color-mix(in lch,red,blue)){.python-runtime-notice{background:color-mix(in srgb,var(--color-info, #2563eb) 8%,transparent)}}.python-runtime-notice.loading-package{border-left-color:#ffa726;border-left-color:var(--color-warning, #a16207);background:color-mix(in srgb,#ffa726 9%,transparent)}@supports (color: color-mix(in lch,red,blue)){.python-runtime-notice.loading-package{background:color-mix(in srgb,var(--color-warning, #ca8a04) 9%,transparent)}}.python-runtime-notice.error{border-left-color:#ff6b6b;border-left-color:var(--color-error, #dc2626);background:color-mix(in srgb,#ff6b6b 8%,transparent)}@supports (color: color-mix(in lch,red,blue)){.python-runtime-notice.error{background:color-mix(in srgb,var(--color-error, #dc2626) 8%,transparent)}}@-webkit-keyframes python-running-dot{0%,60%,to{opacity:.25;-webkit-transform:translateY(0);transform:translateY(0)}30%{opacity:1;-webkit-transform:translateY(-.12em);transform:translateY(-.12em)}}@keyframes python-running-dot{0%,60%,to{opacity:.25;-webkit-transform:translateY(0);transform:translateY(0)}30%{opacity:1;-webkit-transform:translateY(-.12em);transform:translateY(-.12em)}}@-webkit-keyframes python-runtime-spin{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes python-runtime-spin{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.python-running-dots span{-webkit-animation:none;animation:none;opacity:1;-webkit-transform:none;transform:none}.python-runtime-spinner{-webkit-animation:none;animation:none}}@media(pointer:coarse){.touch-editor-button{min-height:44px;min-width:44px;padding:.55rem 1rem;font-size:1rem}.touch-editor-toolbar{-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}.resizer{min-width:16px;min-height:44px}.resizable-panels-wrapper{-ms-scroll-chaining:none;overscroll-behavior:contain}}.rounded-editor{border-radius:10px;overflow:hidden;height:100%;-webkit-box-flex:1;-ms-flex:1;flex:1;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.output-container,.ch_output-container{background-color:#222121;color:#09ea09;width:100%;height:100%;border-radius:10px;white-space:pre-wrap;font-family:OpenDyslexic,Arial,sans-serif;font-size:1rem;line-height:1.5;overflow:auto;-webkit-overflow-scrolling:touch;-ms-scroll-chaining:none;overscroll-behavior:contain;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;padding:20px 10px;border:1px solid black;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0}@media(max-width:1024px){.ch_output-container{width:100%!important;max-width:100%!important}}@media(max-width:1000px){.resizable-panels-wrapper:not(.allow-responsive-horizontal) .editor-panel,.resizable-panels-wrapper:not(.allow-responsive-horizontal) .output-panel,.editor-output-wrapper .editor-panel,.editor-output-wrapper .output-panel{width:100%!important;max-width:100%!important;min-height:300px;-webkit-box-flex:0;-ms-flex:none;flex:none}.resizable-panels-wrapper:not(.allow-responsive-horizontal) .output-container,.resizable-panels-wrapper:not(.allow-responsive-horizontal) .ch_output-container,.editor-output-wrapper .output-container,.editor-output-wrapper .ch_output-container{min-height:300px;height:auto;width:100%!important;max-width:100%!important}}.output-input-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:100%;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.input-section{display:-webkit-box;display:-ms-flexbox;display:flex;gap:8px;padding:10px;background-color:#333;border-top:1px solid #555;border-radius:0 0 10px 10px}.submit-button{padding:.75rem 1.25rem;background-color:#2dd28a;background-color:var(--color-buttonPrimary);font-size:1.5rem;color:#2d2c39;color:var(--color-textInverse);border:none;border-radius:5px;cursor:pointer;margin-top:1rem}.submit-button:hover{background-color:#2dd28a;background-color:var(--color-accent)}.output-container,.ch_output-container{background-color:#1f1e2a;background-color:var(--color-consoleBg);color:#2dd28a;color:var(--color-consoleText);width:100%;height:100%;border-radius:10px;white-space:pre-wrap;font-family:OpenDyslexic,Arial,sans-serif;font-size:1rem;line-height:1.5;overflow:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;padding:20px 10px;border:1px solid black;-webkit-box-sizing:border-box;box-sizing:border-box}.ch_output-container{font-size:1.2rem}.responsive-editor-container{width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.rounded-editor{border-radius:10px;overflow:hidden;height:100%;-webkit-box-flex:1;-ms-flex:1;flex:1}.responsive-editor-container{width:100%;max-width:100%;min-width:0}.output-input-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;text-align:center;margin:0 auto}.output-container{background-color:#222121;color:#09ea09;min-width:clamp(300px,40vw,500px);min-height:480px;max-height:500px;border-radius:10px;white-space:pre-wrap;font-family:OpenDyslexic,Arial,sans-serif;font-size:1rem;line-height:1.5;overflow-x:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;margin-top:00px;padding-top:20px;padding-left:10px;border:1px solid black}.ch_output-container{background-color:#222121;color:#09ea09;min-width:200px;min-height:480px;max-height:500px;border-radius:10px;white-space:pre-wrap;font-family:OpenDyslexic,Arial,sans-serif;font-size:1.2rem;line-height:1.5;overflow-x:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;padding-top:20px;padding-left:10px;border:1px solid black}.output-container.dark{background-color:#222121;color:#09ea09}.output-container.light{background-color:#fafafa;color:#000}.ch_output-container.dark{background-color:#222121;color:#09ea09}.ch_output-container.light{background-color:#fafafa;color:#000}.input-section{background-color:transparent}.input-label{display:block;margin-bottom:5px;font-size:12px;font-weight:700}.input-field{width:87%;padding:10px;font-size:16px;border:1px solid #000000;border-radius:4px;background-color:transparent;margin-bottom:5px;margin-right:2px;color:#09ea09}.App-header{background-color:#282c34;min-height:100vh;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:calc(10px + 2vmin);color:#fff}.App-link{color:#61dafb}@-webkit-keyframes App-logo-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes App-logo-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.button{font-size:1.5rem;padding:.75rem 1.25rem;border-radius:5px;background-color:#383747;background-color:var(--color-navbarBg);color:#000;border:none;cursor:pointer;margin-top:1rem;margin-left:1rem;-webkit-transition:background-color .2s ease;transition:background-color .2s ease}.button:hover{background-color:#2dd28a;background-color:var(--color-accent)}.nav-buttons{display:-webkit-box;display:-ms-flexbox;display:flex;gap:1rem;margin:1.5rem 0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-sizing:border-box;box-sizing:border-box;max-width:100%;overflow-x:hidden}.nav-button{background-color:#2dd28a;background-color:var(--color-buttonPrimary);color:#f2e8cf;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:1rem;font-weight:700;cursor:pointer;-webkit-transition:all .2s cubic-bezier(.4,0,.2,1);transition:all .2s cubic-bezier(.4,0,.2,1);-webkit-box-shadow:0 2px 4px rgba(0,0,0,.1);box-shadow:0 2px 4px #0000001a;min-width:160px;position:relative;overflow:hidden;background-image:-webkit-gradient(linear,left top,right bottom,from(rgba(255,255,255,.1)),to(rgba(0,0,0,.05)));background-image:linear-gradient(to bottom right,#ffffff1a,#0000000d)}.nav-button.selected{background-color:#25b575;background-color:var(--color-primaryHover);color:#fff;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,.2);box-shadow:inset 0 2px 4px #0003;-webkit-transform:scale(.98);transform:scale(.98)}.nav-button.ghost-toggle{background-color:transparent;border:1px solid rgba(17,30,73,.35);color:#e0e0e0;color:var(--color-text);-webkit-box-shadow:none;box-shadow:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);min-width:150px}.nav-button.ghost-toggle.selected{background-color:#111e4914;color:#0b1330;-webkit-box-shadow:inset 0 0 0 1px rgba(17,30,73,.2);box-shadow:inset 0 0 0 1px #111e4933}.badge-dot{width:.65rem;height:.65rem;border-radius:999px;background:#ff6b6b;margin-left:.5rem;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;opacity:0;-webkit-transform:scale(.5);transform:scale(.5);-webkit-transition:opacity .2s ease,-webkit-transform .2s ease;transition:opacity .2s ease,-webkit-transform .2s ease;transition:opacity .2s ease,transform .2s ease;transition:opacity .2s ease,transform .2s ease,-webkit-transform .2s ease}.badge-dot.visible{opacity:1;-webkit-transform:scale(1);transform:scale(1)}.count-pill{margin-left:.5rem;padding:0 .5rem;min-width:1.5rem;height:1.35rem;border-radius:999px;background:#111e491f;color:#e0e0e0;color:var(--color-text);font-size:.8rem;font-weight:600;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.nav-button:hover:not(.selected){background-color:#383747;background-color:var(--color-buttonSecondary);-webkit-transform:translateY(-1px);transform:translateY(-1px);-webkit-box-shadow:0 4px 8px rgba(0,0,0,.15);box-shadow:0 4px 8px #00000026}.nav-button.ghost-toggle:hover:not(.selected){background-color:#111e490f;-webkit-transform:translateY(0);transform:translateY(0);-webkit-box-shadow:none;box-shadow:none}.nav-button:active{-webkit-transform:scale(.96);transform:scale(.96)}.nav-button:focus{outline:none;-webkit-box-shadow:0 0 0 3px rgba(106,153,78,.4);box-shadow:0 0 0 3px #6a994e66}.nav-button:disabled{opacity:.7;cursor:not-allowed}.rounded-editor,.responsive-editor-container{border-radius:10px;overflow:auto;height:auto;overflow-y:auto}.run-button,.save-button,.refresh-button,.theme-toggle-button,.font-increase-button,.font-decrease-button,.stop-button,.copy-button,.download-button{font-size:1rem;background:transparent;border:none;cursor:pointer;padding:.4rem;border-radius:8px;-webkit-transition:all .2s ease;transition:all .2s ease}.run-button:hover,.save-button:hover,.refresh-button:hover,.theme-toggle-button:hover,.font-increase-button:hover,.font-decrease-button:hover,.stop-button:hover,.copy-button:hover,.download-button:hover{background:var(--color-buttonHoverBg);-webkit-transform:translateY(-1px);transform:translateY(-1px)}.run-button img,.save-button img,.refresh-button img,.font-increase-button img,.font-decrease-button img,.stop-button img,.download-button img{-webkit-filter:none;filter:none;-webkit-filter:var(--color-iconFilter, none);filter:var(--color-iconFilter, none)}.font-increase-button,.font-decrease-button{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.challenge-category-button{background-color:#2dd28a;background-color:var(--color-buttonPrimary);color:#fff;border:none;border-radius:8px;padding:.75rem .5rem;font-size:1.1rem;font-weight:600;cursor:pointer;-webkit-transition:all .2s cubic-bezier(.4,0,.2,1);transition:all .2s cubic-bezier(.4,0,.2,1);-webkit-box-shadow:0 2px 4px rgba(0,0,0,.1);box-shadow:0 2px 4px #0000001a;letter-spacing:.5px;min-width:200px;margin:.5rem;position:relative;overflow:hidden;background-image:-webkit-gradient(linear,left top,right bottom,from(rgba(255,255,255,.1)),to(rgba(0,0,0,.05)));background-image:linear-gradient(to bottom right,#ffffff1a,#0000000d)}.ch_output-container{overflow-y:auto;max-height:100%;padding:1rem}.output-content{word-wrap:break-word;overflow-wrap:break-word}#python-standalone-root{width:100%!important;max-width:100%!important;overflow-x:auto;margin:10px 0}#python-standalone-root img{max-width:100%!important;height:auto!important;display:block;margin:10px 0;border:1px solid #ddd;border-radius:4px}.challenge-category-button:hover{background-color:#383747;background-color:var(--color-buttonSecondary);-webkit-transform:translateY(-2px);transform:translateY(-2px);-webkit-box-shadow:0 4px 8px rgba(0,0,0,.15);box-shadow:0 4px 8px #00000026}.challenge-category-button:active{-webkit-transform:translateY(1px);transform:translateY(1px);-webkit-box-shadow:0 1px 2px rgba(0,0,0,.1);box-shadow:0 1px 2px #0000001a}.challenge-category-button:focus{outline:none;ring:3px solid rgba(167,201,87,.4)}.challenge-category-button.selected{background-color:#25b575;background-color:var(--color-primaryHover);color:#fff;ring:2px solid #A7C957}.challenge-category-button:disabled{background-color:#d3d3d3;color:gray;cursor:not-allowed;opacity:.8}@-webkit-keyframes button-entry{0%{opacity:0;-webkit-transform:translateY(10px);transform:translateY(10px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes button-entry{0%{opacity:0;-webkit-transform:translateY(10px);transform:translateY(10px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.challenge-category-button{-webkit-animation:button-entry .3s ease-out;animation:button-entry .3s ease-out}.ai-feedback-container{margin-top:1rem}.ai-feedback-button{background-color:#386641;color:#fff;border:none;padding:.8rem 1.5rem;border-radius:5px;cursor:pointer;font-size:1rem;-webkit-transition:background-color .2s;transition:background-color .2s}.ai-feedback-button:hover{background-color:#2a4a2f}.ai-feedback-button:disabled{background-color:#6a994e;cursor:not-allowed}.ai-feedback-feedback{margin-top:2rem;padding:1.5rem;background-color:#f8f9fa;border-radius:8px;border:1px solid #dee2e6}.ai-feedback-header{color:#2b2d42;margin-bottom:1rem}.ai-feedback-content{line-height:1.6;color:#4a4a4a}.ai-feedback-pseudocode{background-color:#e9ecef;padding:1rem;border-radius:5px;white-space:pre-wrap;font-family:monospace}.ai-feedback-error{color:#dc3545;margin-top:1rem}.loading-dots:after{content:".";-webkit-animation:dots 1s steps(5,end) infinite;animation:dots 1s steps(5,end) infinite}@-webkit-keyframes dots{0%,20%{content:"."}40%{content:".."}60%{content:"..."}80%,to{content:""}}@keyframes dots{0%,20%{content:"."}40%{content:".."}60%{content:"..."}80%,to{content:""}}.solution-button,.pseudo-button{background-color:transparent}.solution-button:hover,.pseudo-button:hover{background-color:#93a653!important}.footer{background-color:#383747;background-color:var(--color-navbarBg);color:#e0e0e0;color:var(--color-text);padding:.2rem .3rem;text-align:center;font-size:.8rem;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0;bottom:0;left:0}.footer-content{max-width:1400px;margin:0 auto}.footer-links{margin-top:.5rem}.footer-links a{color:#171111;margin:0 .5rem;text-decoration:none}.footer-links a:hover{text-decoration:underline}@media(max-width:1020px){.editor-controls-container{-ms-flex-wrap:wrap;flex-wrap:wrap}}.challenge-controls{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:.5rem;margin-top:.5rem}.challenge-controls.compact-mode{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.challenge-controls.compact-mode>*{-webkit-box-flex:0!important;-ms-flex:none!important;flex:none!important}@media(max-width:1020px){.challenge-controls{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.challenge-controls.compact-mode{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}@media(max-width:599px){.challenge-controls{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:.5rem}.challenge-controls>*:nth-child(-n+3){-webkit-box-flex:0;-ms-flex:0 1 calc((100% - 1rem) / 3);flex:0 1 calc((100% - 1rem) / 3)}.challenge-controls>*:nth-child(n+4){-webkit-box-flex:0;-ms-flex:0 1 calc((100% - 1.5rem)/4);flex:0 1 calc((100% - 1.5rem)/4)}.challenge-controls.compact-mode{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.challenge-controls.compact-mode>*{-webkit-box-flex:0!important;-ms-flex:none!important;flex:none!important}}.turtle{margin-bottom:1rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:1rem;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin:0 auto}@media(max-width:1023px){.turtle{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.tchallenge-controls{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:.5rem;margin-top:.5rem}@media(max-width:800px){.tchallenge-controls{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}}.turtle-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:1rem;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;max-width:1400px;margin:0 auto;width:100%;min-width:auto}@media(max-width:800px){.turtle-content{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.light .input-field{color:#000}.guide-button{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;min-height:38px;padding:.5rem .95rem;border-radius:999px;border:1px solid rgba(45,210,138,.3);border:1px solid var(--color-borderLight, var(--color-border, #ccc));background:#383747;background:var(--color-surfaceElevatedAlt, var(--color-backgroundAlt, #f9f9f9));color:#e0e0e0;color:var(--color-text, #333);font-size:.95rem;font-weight:600;letter-spacing:.01em;cursor:pointer;-webkit-box-shadow:0 1px 2px rgba(45,210,138,.1);box-shadow:0 1px 2px #2dd28a1a;-webkit-box-shadow:0 1px 2px var(--color-shadow, rgba(0, 0, 0, .08));box-shadow:0 1px 2px var(--color-shadow, rgba(0, 0, 0, .08));-webkit-transition:background-color .2s ease,border-color .2s ease,color .2s ease,-webkit-transform .2s ease,-webkit-box-shadow .2s ease;transition:background-color .2s ease,border-color .2s ease,color .2s ease,-webkit-transform .2s ease,-webkit-box-shadow .2s ease;transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease;transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease,-webkit-transform .2s ease,-webkit-box-shadow .2s ease}.guide-button:hover{background:#383747;background:var(--color-surfaceElevated, var(--color-backgroundCard, #fff));border-color:#2dd28a;border-color:var(--color-primary, #377BB9);-webkit-transform:translateY(-1px);transform:translateY(-1px)}.guide-button:focus-visible{outline:2px solid #2DD28A;outline:2px solid var(--color-primary, #377BB9);outline-offset:2px}.guide-button.active{border-color:#2dd28a;border-color:var(--color-buttonPrimary, var(--color-primary, #377BB9));background:#2dd28a;background:var(--color-buttonPrimary, var(--color-primary, #377BB9));color:#2d2c39;color:var(--color-textInverse, #fff);-webkit-box-shadow:0 0 0 3px rgba(45,210,138,.1);box-shadow:0 0 0 3px #2dd28a1a;-webkit-box-shadow:0 0 0 3px var(--color-shadow, rgba(0, 0, 0, .12));box-shadow:0 0 0 3px var(--color-shadow, rgba(0, 0, 0, .12))}.guide-button.active:hover{background:#25b575;background:var(--color-buttonPrimaryHover, var(--color-primaryHover, #0056b3))}.offline-python-cache-button{gap:.4rem;white-space:nowrap}.offline-python-cache-button.ready{border-color:#16a34a8c;background:#16a34a1f;color:#166534}.offline-python-cache-button.preparing{border-color:#2563eb8c;background:#2563eb1f;color:#1d4ed8}.offline-python-cache-button.error{border-color:#dc26268c;background:#dc26261a;color:#b91c1c}.offline-python-cache-button.unsupported{border-color:#64748b66;color:#64748b}.offline-python-cache-button:disabled{cursor:not-allowed;opacity:.78;-webkit-transform:none;transform:none}[data-theme=darkMode] .offline-python-cache-button.ready,[data-theme=studioRed] .offline-python-cache-button.ready,[data-theme=neonPink] .offline-python-cache-button.ready{color:#86efac;background:#16a34a2e}[data-theme=darkMode] .offline-python-cache-button.preparing,[data-theme=studioRed] .offline-python-cache-button.preparing,[data-theme=neonPink] .offline-python-cache-button.preparing{color:#93c5fd;background:#2563eb33}[data-theme=darkMode] .offline-python-cache-button.error,[data-theme=studioRed] .offline-python-cache-button.error,[data-theme=neonPink] .offline-python-cache-button.error{color:#fca5a5;background:#dc26262e}@media(max-width:599px){.offline-python-cache-button{min-width:38px;padding-inline:.7rem;font-size:.82rem}}.python-mobile-utility-row{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:stretch;-ms-flex-pack:stretch;justify-content:stretch;gap:.5rem;margin:.55rem 0 .65rem}.python-mobile-utility-row .guide-button{-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0;min-width:0}.playground-tabs-shell{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;gap:.5rem;min-width:0;margin-bottom:.5rem}.playground-tabs-scroll{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.playground-tabs{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;border-bottom:1px solid #2DD28A;border-bottom:1px solid var(--color-border, #c5d9e8);margin-top:0;margin-bottom:0;min-width:-webkit-max-content;min-width:-moz-max-content;min-width:max-content}.playground-tabs .tab-button{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:#383747;background:var(--color-backgroundAlt, #f6f8ff);border:1px solid transparent;padding:.5rem 1rem;position:relative;margin-right:.25rem;cursor:pointer;color:#e0e0e0;color:var(--color-text, #0f264d);border-top-left-radius:.5rem;border-top-right-radius:.5rem;-webkit-transition:background .2s ease,color .2s ease,border-color .2s ease;transition:background .2s ease,color .2s ease,border-color .2s ease;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;min-width:0}.playground-tabs .tab-button .tab-label{display:inline-block;max-width:14ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.playground-tabs .tab-button.active{background:#2dd28a;background:var(--color-primary, #377BB9);color:#2d2c39;color:var(--color-textInverse, #fff);border:1px solid #2DD28A;border:1px solid var(--color-primary, #377BB9);border-bottom:none;border-top-left-radius:.5rem;border-top-right-radius:.5rem;z-index:1;top:1px}.playground-tab-actions{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:.45rem;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.playground-tab-actions .tab-action-button{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;min-width:2.55rem;min-height:2.55rem;padding:.55rem .8rem;border-radius:999px;border:1px solid rgba(45,210,138,.3);border:1px solid var(--color-borderLight, var(--color-border, #d6dce5));background:linear-gradient(135deg,#383747,#383747);background:linear-gradient(135deg,var(--color-surfaceElevated, var(--color-backgroundCard, #ffffff)) 0%,var(--color-surfaceElevatedAlt, var(--color-backgroundAlt, #f6f8ff)) 100%);color:#e0e0e0;color:var(--color-text, #0f264d);font-size:1rem;font-weight:700;line-height:1;-webkit-box-shadow:0 1px 2px rgba(45,210,138,.1),inset 0 1px 0 rgba(255,255,255,.2);box-shadow:0 1px 2px #2dd28a1a,inset 0 1px #fff3;-webkit-box-shadow:0 1px 2px var(--color-shadow, rgba(0, 0, 0, .08)),inset 0 1px 0 rgba(255,255,255,.2);box-shadow:0 1px 2px var(--color-shadow, rgba(0, 0, 0, .08)),inset 0 1px #fff3;-webkit-transition:border-color .2s ease,background .2s ease,color .2s ease,-webkit-transform .2s ease,-webkit-box-shadow .2s ease;transition:border-color .2s ease,background .2s ease,color .2s ease,-webkit-transform .2s ease,-webkit-box-shadow .2s ease;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease,color .2s ease;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease,color .2s ease,-webkit-transform .2s ease,-webkit-box-shadow .2s ease}.playground-tab-actions .tab-action-button:hover{-webkit-transform:translateY(-1px);transform:translateY(-1px);border-color:#2dd28a;border-color:var(--color-primary, #377BB9);-webkit-box-shadow:0 8px 18px rgba(45,210,138,.1),inset 0 1px 0 rgba(255,255,255,.18);box-shadow:0 8px 18px #2dd28a1a,inset 0 1px #ffffff2e;-webkit-box-shadow:0 8px 18px var(--color-shadow, rgba(0, 0, 0, .12)),inset 0 1px 0 rgba(255,255,255,.18);box-shadow:0 8px 18px var(--color-shadow, rgba(0, 0, 0, .12)),inset 0 1px #ffffff2e}.playground-tab-actions .tab-action-button:focus-visible{outline:2px solid #2DD28A;outline:2px solid var(--color-primary, #377BB9);outline-offset:2px}.playground-tab-actions .tab-action-button:active{-webkit-transform:translateY(0);transform:translateY(0);-webkit-box-shadow:0 3px 8px rgba(45,210,138,.1),inset 0 1px 1px rgba(255,255,255,.12);box-shadow:0 3px 8px #2dd28a1a,inset 0 1px 1px #ffffff1f;-webkit-box-shadow:0 3px 8px var(--color-shadow, rgba(0, 0, 0, .14)),inset 0 1px 1px rgba(255,255,255,.12);box-shadow:0 3px 8px var(--color-shadow, rgba(0, 0, 0, .14)),inset 0 1px 1px #ffffff1f}.playground-tab-actions .tab-action-button-primary{border-color:#52dda0;border-color:var(--color-primaryLight, var(--color-buttonPrimary, #377BB9));background:linear-gradient(135deg,#52dda0,#2dd28a);background:linear-gradient(135deg,var(--color-gradientStart, var(--color-buttonPrimary, #377BB9)) 0%,var(--color-gradientMid, var(--color-primaryHover, #0056b3)) 100%);color:#2d2c39;color:var(--color-textInverse, #ffffff);-webkit-box-shadow:0 10px 24px rgba(45,210,138,.1),inset 0 1px 0 rgba(255,255,255,.14);box-shadow:0 10px 24px #2dd28a1a,inset 0 1px #ffffff24;-webkit-box-shadow:0 10px 24px var(--color-shadow, rgba(0, 0, 0, .16)),inset 0 1px 0 rgba(255,255,255,.14);box-shadow:0 10px 24px var(--color-shadow, rgba(0, 0, 0, .16)),inset 0 1px #ffffff24}.playground-tab-actions .tab-action-button-primary:hover{background:linear-gradient(135deg,#25b575,#2dd28a);background:linear-gradient(135deg,var(--color-buttonPrimaryHover, var(--color-primaryHover, #0056b3)) 0%,var(--color-buttonPrimary, var(--color-primary, #377BB9)) 100%);border-color:#2dd28a;border-color:var(--color-buttonPrimary, var(--color-primary, #377BB9))}.playground-tab-actions .tab-action-button-secondary{border-color:#52dda0;border-color:var(--color-primaryLight, var(--color-borderLight, #d6dce5));color:#2dd28a;color:var(--color-primary, #377BB9);background:linear-gradient(135deg,#383747,#383747);background:linear-gradient(135deg,var(--color-backgroundCard, #ffffff) 0%,var(--color-backgroundAlt, #f6f8ff) 100%)}.playground-tab-actions .tab-action-button-secondary:hover{background:linear-gradient(135deg,#52dda0,#383747);background:linear-gradient(135deg,var(--color-primaryLight, #99BEFF) 0%,var(--color-backgroundAlt, #f6f8ff) 100%)}.playground-tabs-shell-python{-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;gap:.55rem;padding:.35rem .45rem .18rem;border:1px solid rgba(45,210,138,.3);border:1px solid var(--color-surfaceBorder, var(--color-borderLight, #d6dce5));border-radius:12px;background:-webkit-gradient(linear,left top,left bottom,from(#383747),to(#383747));background:linear-gradient(180deg,#383747,#383747);background:-webkit-gradient(linear,left top,left bottom,from(var(--color-surfaceElevatedAlt, var(--color-backgroundAlt, #f6f8ff))),to(var(--color-surfaceElevated, var(--color-backgroundCard, #ffffff))));background:linear-gradient(180deg,var(--color-surfaceElevatedAlt, var(--color-backgroundAlt, #f6f8ff)) 0%,var(--color-surfaceElevated, var(--color-backgroundCard, #ffffff)) 100%);-webkit-box-shadow:0 6px 16px rgba(45,210,138,.1);box-shadow:0 6px 16px #2dd28a1a;-webkit-box-shadow:0 6px 16px var(--color-shadow, rgba(0, 0, 0, .08));box-shadow:0 6px 16px var(--color-shadow, rgba(0, 0, 0, .08))}.playground-tabs-shell-python .playground-tabs-scroll{padding-bottom:.08rem;scrollbar-color:#2DD28A transparent;scrollbar-color:var(--color-border, #c5d9e8) transparent}.playground-tabs-shell-python .playground-tabs-scroll::-webkit-scrollbar{height:6px}.playground-tabs-shell-python .playground-tabs-scroll::-webkit-scrollbar-thumb{background:#2dd28a;background:var(--color-border, #c5d9e8);border-radius:999px}.playground-tabs-shell-python .playground-tabs{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;gap:.25rem;border-bottom:none;padding:0 .05rem;min-height:2.45rem}.playground-tabs-shell-python .playground-file-tab{min-height:2.15rem;margin-right:0;padding:.5rem .78rem .42rem;border:1px solid transparent;border-radius:10px 10px 8px 8px;background:transparent;color:#b0b0b0;color:var(--color-textLight, #666666);font-weight:600;letter-spacing:.01em;-webkit-box-shadow:none;box-shadow:none}.playground-tabs-shell-python .playground-file-tab:hover{background:#383747;background:var(--color-surfaceElevated, var(--color-backgroundCard, #ffffff));color:#e0e0e0;color:var(--color-surfaceText, var(--color-text, #333333));border-color:#2dd28a4d;border-color:var(--color-surfaceBorder, var(--color-borderLight, #d6dce5))}.playground-tabs-shell-python .playground-file-tab:focus-visible{outline:none;border-color:#2dd28a;border-color:var(--color-primary, #377BB9);-webkit-box-shadow:inset 0 3px 0 #2DD28A,0 0 0 2px rgba(45,210,138,.1);box-shadow:inset 0 3px #2dd28a,0 0 0 2px #2dd28a1a;-webkit-box-shadow:inset 0 3px 0 var(--color-primary, #377BB9),0 0 0 2px var(--color-shadow, rgba(0, 0, 0, .08));box-shadow:inset 0 3px 0 var(--color-primary, #377BB9),0 0 0 2px var(--color-shadow, rgba(0, 0, 0, .08))}.playground-tabs-shell-python .playground-file-tab.active{top:0;background:#1f1e2a;background:var(--color-backgroundDark, var(--color-surfaceElevated, #ffffff));color:#e0e0e0;color:var(--color-surfaceText, var(--color-text, #333333));border-color:#2dd28a4d;border-color:var(--color-surfaceBorder, var(--color-borderLight, #d6dce5));-webkit-box-shadow:inset 0 3px 0 #2DD28A,0 1px 0 rgba(255,255,255,.08);box-shadow:inset 0 3px #2dd28a,0 1px #ffffff14;-webkit-box-shadow:inset 0 3px 0 var(--color-surfaceAccent, var(--color-primary, #377BB9)),0 1px 0 rgba(255,255,255,.08);box-shadow:inset 0 3px 0 var(--color-surfaceAccent, var(--color-primary, #377BB9)),0 1px #ffffff14}.playground-tabs-shell-python .playground-file-tab .tab-label{max-width:15ch;font-weight:inherit}.playground-tabs-shell-python .playground-file-tab.entry-file .tab-label{font-weight:650}.playground-tabs-shell-python .tab-close{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:1.15rem;height:1.15rem;margin-left:.35rem!important;border-radius:999px;color:#b0b0b0;color:var(--color-textLight, #666666);opacity:.72;-webkit-transition:opacity .2s ease,color .2s ease,background .2s ease;transition:opacity .2s ease,color .2s ease,background .2s ease}.playground-tabs-shell-python .playground-file-tab:hover .tab-close,.playground-tabs-shell-python .playground-file-tab.active .tab-close{opacity:1;color:#e0e0e0;color:var(--color-surfaceText, var(--color-text, #333333));background:#383747;background:var(--color-surfaceElevatedAlt, var(--color-backgroundAlt, #f6f8ff))}.playground-tabs-shell-python .playground-tab-actions{-ms-flex-item-align:end;align-self:flex-end;gap:.45rem;padding:0 .05rem .12rem .2rem;margin-left:.1rem}.playground-tabs-shell-python .playground-tab-actions:before{content:"";width:1px;height:1.65rem;margin-right:.1rem;background:#2dd28a4d;background:var(--color-surfaceBorder, var(--color-borderLight, #d6dce5))}[data-theme=darkMode] .playground-tabs-shell-python,[data-theme=studioRed] .playground-tabs-shell-python,[data-theme=neonPink] .playground-tabs-shell-python{-webkit-box-shadow:0 14px 30px rgba(45,210,138,.2);box-shadow:0 14px 30px #2dd28a33;-webkit-box-shadow:0 14px 30px var(--color-shadowDark, rgba(0, 0, 0, .22));box-shadow:0 14px 30px var(--color-shadowDark, rgba(0, 0, 0, .22))}@media(max-width:640px){.playground-tabs-shell{gap:.35rem}.playground-tabs .tab-button{padding:.45rem .75rem}.playground-tabs .tab-button .tab-label{max-width:10ch}.playground-tab-actions{gap:.35rem}.playground-tab-actions .tab-action-button{min-width:2.3rem;min-height:2.3rem;padding:.5rem .72rem}.playground-tabs-shell-python{gap:.4rem;padding:.3rem .35rem .14rem}.playground-tabs-shell-python .playground-tabs{gap:.25rem;min-height:2.2rem}.playground-tabs-shell-python .playground-file-tab{min-height:2rem;padding:.44rem .68rem .38rem}.playground-tabs-shell-python .playground-file-tab .tab-label{max-width:9ch}.playground-tabs-shell-python .playground-tab-actions{padding-left:.1rem}.playground-tabs-shell-python .playground-tab-actions:before{height:1.45rem;margin-right:.1rem}}.modal-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#0006;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;z-index:10000}.modal-content{background-color:#383747;background-color:var(--color-navbarBg);border:2px solid #e0e0e0;border:2px solid var(--color-text);border-radius:10px;padding:1.5rem 2rem;width:90%;max-width:420px;-webkit-box-shadow:0 4px 10px rgba(0,0,0,.25);box-shadow:0 4px 10px #00000040;font-family:sans-serif;color:#000}.modal-content h2{margin-top:0;margin-bottom:1rem;color:#e0e0e0;color:var(--color-text)}.modal-content input[type=text]{width:100%;padding:.6rem .75rem;border:1px solid #ccc;border-radius:6px;font-size:1rem;margin-top:.25rem}.modal-buttons{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;gap:.5rem;margin-top:1.25rem}.modal-buttons{background-color:#2dd28a;background-color:var(--color-buttonPrimary);border:none;color:#f2e8cf;padding:.5rem 1.25rem;font-weight:600;border-radius:6px;cursor:pointer;-webkit-transition:background-color .2s ease;transition:background-color .2s ease}.modal-buttons:hover{background-color:#383747;background-color:var(--color-buttonSecondary)}.modal-buttons.primary{background-color:#25b575;background-color:var(--color-primaryHover);color:#fff}.push-modal-field{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:.35rem}.push-modal-label{color:#b0b0b0;color:var(--color-textLight, #666);font-size:.8rem;font-weight:600}.push-modal-input,.push-modal-select{background:#2d2c39;background:var(--color-background, #fff);border:1px solid #2DD28A;border:1px solid var(--color-border, #ddd);border-radius:6px;color:#e0e0e0;color:var(--color-text, #333);padding:.4rem .6rem;font-size:.875rem;outline:none;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.push-modal-input:focus,.push-modal-select:focus{border-color:#2dd28a;border-color:var(--color-primary, #377BB9)}.push-modal-toggle{display:-webkit-box;display:-ms-flexbox;display:flex;border:1px solid #2DD28A;border:1px solid var(--color-border, #ddd);border-radius:6px;overflow:hidden}.push-modal-toggle-btn{-webkit-box-flex:1;-ms-flex:1;flex:1;padding:.35rem .75rem;border:none;cursor:pointer;font-size:.8rem;font-weight:600;background:transparent;color:#b0b0b0;color:var(--color-textLight, #666);-webkit-transition:background .15s,color .15s;transition:background .15s,color .15s}.push-modal-toggle-btn+.push-modal-toggle-btn{border-left:1px solid #2DD28A;border-left:1px solid var(--color-border, #ddd)}.push-modal-toggle-btn.active{background:#2dd28a;background:var(--color-buttonPrimary, var(--color-primary, #377BB9));color:#2d2c39;color:var(--color-textInverse, #fff)}.push-modal-hint{margin:0;color:#b0b0b0;color:var(--color-textLight, #666);font-size:.78rem}.push-modal-status{color:#b0b0b0;color:var(--color-textLight, #666);font-size:.8rem}.push-modal-roster-actions{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:.5rem}.push-modal-roster-btn{background:none;border:none;color:#2dd28a;color:var(--color-primary, #377BB9);cursor:pointer;font-size:.75rem;padding:0}.push-modal-roster-btn:hover{text-decoration:underline}.push-modal-roster-sep{color:#2dd28a4d;color:var(--color-borderLight, #e0e0e0)}.push-modal-roster-count{color:#b0b0b0;color:var(--color-textLight, #666);font-size:.75rem;margin-left:auto}.push-modal-checklist{max-height:160px;overflow-y:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:.15rem;background:#2d2c39;background:var(--color-background, #fff);border:1px solid #2DD28A;border:1px solid var(--color-border, #ddd);border-radius:6px;padding:.4rem .5rem}.push-modal-checklist-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:.5rem;cursor:pointer;padding:.2rem 0;color:#e0e0e0;color:var(--color-text, #333);font-size:.85rem}.lesson-controls{display:-webkit-box;display:-ms-flexbox;display:flex;gap:.75rem;margin-bottom:1rem}.lesson-button{padding:.5rem 1rem;border-radius:5px;border:1px solid #ccc;background-color:#f9f9f9;font-weight:400;cursor:pointer}.lesson-button:hover{border:1px solid #007bff;background-color:#e0f0ff;font-weight:700}.lesson-container{font-family:sans-serif;line-height:1.6;color:#333;padding:20px;max-width:1024px;margin:0 auto}.lesson-title{color:#2c3e50;border-bottom:2px solid #3498db;padding-bottom:10px;margin-bottom:20px}.lesson-intro{font-size:1.1em;margin-bottom:30px}.method-section{background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;padding:20px;margin-bottom:30px;-webkit-box-shadow:0 2px 4px rgba(0,0,0,.05);box-shadow:0 2px 4px #0000000d}.method-name{color:#2980b9;margin-top:0;font-size:1.5em}.method-name code{background-color:transparent;color:#2980b9;padding:0}.method-description{margin-bottom:15px}.example-block{margin-top:15px;padding:15px;background-color:#fff;border:1px solid #dce4e9;border-radius:6px}.example-title{font-weight:700;color:#34495e;margin-bottom:8px}pre.code-example,pre.code-example code{background-color:#2d2d2d;color:#f8f8f2;padding:10px;border-radius:4px;overflow-x:auto;font-family:Courier New,Courier,monospace;font-size:.95em;display:block;white-space:pre-wrap;word-break:break-all}pre.code-example code{padding:0;background-color:transparent}.example-output{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-top:8px;background-color:#e8f6fd;padding:8px;border-radius:4px;border:1px dashed #a1c4d4;overflow-wrap:anywhere;word-wrap:break-word;white-space:pre-wrap;max-width:100%}.example-output .output-arrow{font-size:1.5em;color:#3498db;margin-right:10px;font-weight:700;-webkit-box-flex:0;-ms-flex:none;flex:none}.example-output pre,.example-output pre code{margin:0;padding:0;background-color:transparent;color:#2c3e50;font-family:Courier New,Courier,monospace;font-size:.95em;-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0;white-space:pre-wrap!important;word-break:break-word}.example-note{margin-top:10px;font-size:1rem;color:#000;background-color:#ecf0f1;padding:10px;border-left:3px solid #bdc3c7;border-radius:0 4px 4px 0}code{background-color:#e8e8e8;padding:.2em .4em;margin:0;font-size:.9em;border-radius:3px;font-family:Courier New,Courier,monospace;color:#000}.task-section{background-color:#e6f7ff;border:1px solid #91d5ff;border-radius:8px;padding:20px;margin-top:30px;-webkit-box-shadow:0 2px 4px rgba(0,0,0,.05);box-shadow:0 2px 4px #0000000d}.task-title{color:#0050b3;margin-top:0}.task-description{margin-bottom:10px}.task-list{list-style-type:decimal;padding-left:30px}.task-list li{margin-bottom:8px}.lessons-container{margin-top:1rem}.lesson-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:1rem;gap:1rem}.lesson-card{display:block;background:#383747;background:var(--color-backgroundCard, var(--color-backgroundAlt, #f9f9f9));color:#e0e0e0;color:var(--color-text, #0f264d);border:1px solid #2DD28A;border:1px solid var(--color-border, #c5d9e8);border-radius:8px;padding:1rem;-webkit-box-shadow:0 2px 4px rgba(45,210,138,.1);box-shadow:0 2px 4px #2dd28a1a;-webkit-box-shadow:0 2px 4px var(--color-shadow, rgba(0, 0, 0, .1));box-shadow:0 2px 4px var(--color-shadow, rgba(0, 0, 0, .1));cursor:pointer;text-decoration:none;-webkit-transition:border-color .1s ease,-webkit-transform .1s ease,-webkit-box-shadow .1s ease;transition:border-color .1s ease,-webkit-transform .1s ease,-webkit-box-shadow .1s ease;transition:transform .1s ease,box-shadow .1s ease,border-color .1s ease;transition:transform .1s ease,box-shadow .1s ease,border-color .1s ease,-webkit-transform .1s ease,-webkit-box-shadow .1s ease}.lesson-card:hover{-webkit-transform:translateY(-4px);transform:translateY(-4px);-webkit-box-shadow:0 4px 8px rgba(45,210,138,.2);box-shadow:0 4px 8px #2dd28a33;-webkit-box-shadow:0 4px 8px var(--color-shadowDark, rgba(0, 0, 0, .15));box-shadow:0 4px 8px var(--color-shadowDark, rgba(0, 0, 0, .15));border-color:#2dd28a;border-color:var(--color-primary, #377BB9)}.lesson-card h4{margin:0;font-size:1.1rem;color:inherit}.back-button{margin-top:1rem;padding:.75rem 1.5rem;background-color:#2dd28a;background-color:var(--color-buttonPrimary);color:#f2e8cf;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;-webkit-transition:background-color .2s ease,-webkit-transform .1s ease,-webkit-box-shadow .2s ease;transition:background-color .2s ease,-webkit-transform .1s ease,-webkit-box-shadow .2s ease;transition:background-color .2s ease,transform .1s ease,box-shadow .2s ease;transition:background-color .2s ease,transform .1s ease,box-shadow .2s ease,-webkit-transform .1s ease,-webkit-box-shadow .2s ease;-webkit-box-shadow:0 2px 4px rgba(0,0,0,.1);box-shadow:0 2px 4px #0000001a}.back-button:hover{background-color:#383747;background-color:var(--color-buttonSecondary);-webkit-transform:translateY(-1px);transform:translateY(-1px);-webkit-box-shadow:0 4px 8px rgba(0,0,0,.15);box-shadow:0 4px 8px #00000026}.back-button:active{-webkit-transform:scale(.96);transform:scale(.96)}.topic-buttons-container{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:.75rem;margin:.5rem 0}.topic-button{-webkit-box-flex:0;-ms-flex:0 1 calc(50% - .75rem);flex:0 1 calc(50% - .75rem);padding:.5rem 1rem;border-radius:5px;border:1px solid #2DD28A;border:1px solid var(--color-border, #ccc);background-color:#383747;background-color:var(--color-backgroundAlt, #f9f9f9);color:#e0e0e0;color:var(--color-text, #333);font-size:1.3rem;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:.5rem;text-transform:none}.topic-button.selected{border:2px solid #2DD28A;border:2px solid var(--color-primary, #007bff);background-color:#383747;background-color:var(--color-backgroundCard, #e0f0ff);font-weight:700}@media(min-width:600px){.topic-button{-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto}}.resizable-panels-wrapper .ch_output-container,.resizable-panels-wrapper .output-container{width:100%!important;max-width:100%!important;min-height:0;max-height:none;height:100%;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:auto}.editor-output-wrapper .editor-panel,.editor-output-wrapper .output-panel{width:100%;min-height:300px;-webkit-box-flex:0;-ms-flex:none;flex:none}.output-content img,.ch_output-container img,.output-container img,.download-links img{max-width:100%!important;height:auto!important;-webkit-box-sizing:border-box!important;box-sizing:border-box!important;margin:10px 0!important}.download-links{width:100%!important;max-width:100%!important;overflow-x:auto!important;-webkit-box-sizing:border-box!important;box-sizing:border-box!important}#python-standalone-root img{max-width:100%!important;height:auto!important;-webkit-box-sizing:border-box!important;box-sizing:border-box!important}.pygame-editor-container{height:100vh;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.pygame-editor-container .resizable-panels-wrapper{-webkit-box-flex:1;-ms-flex:1;flex:1;min-height:0}.resizable-panels-wrapper iframe{width:100%!important;height:100%!important}@media(max-width:1000px){.pygame-editor-container .resizable-panels-wrapper .editor-panel,.pygame-editor-container .resizable-panels-wrapper .output-panel{min-height:400px}.pygame-editor-container iframe{min-height:300px!important}}.app-shell{display:-webkit-box;display:-ms-flexbox;display:flex;min-height:100vh;background:#383747;background:var(--color-navbarBg)}.sidebar{width:220px;background:#383747;background:var(--color-sidebarBg);color:#e0e0e0;color:var(--color-text);position:fixed;top:0;left:0;bottom:0;padding-top:calc(60px + .5rem);z-index:99;overflow-y:auto;overflow-x:clip;border-right:2px solid #2DD28A;border-right:2px solid var(--color-border)}.sidebar.compact-shell{width:min(86vw,320px);-webkit-transform:translateX(-100%);transform:translate(-100%);-webkit-transition:-webkit-transform .25s ease;transition:-webkit-transform .25s ease;transition:transform .25s ease;transition:transform .25s ease,-webkit-transform .25s ease;z-index:1101;-webkit-box-shadow:none;box-shadow:none;border-right:none;padding-top:calc(.75rem + env(safe-area-inset-top,0px));padding-bottom:env(safe-area-inset-bottom,0px)}.sidebar.compact-shell.overlay-open{-webkit-transform:translateX(0);transform:translate(0);-webkit-box-shadow:10px 0 30px rgba(15,23,42,.28);box-shadow:10px 0 30px #0f172a47}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;border:0;padding:0;margin:0;background:#0f172a66;z-index:1100;cursor:pointer;-webkit-animation:sidebar-backdrop-fade .2s ease;animation:sidebar-backdrop-fade .2s ease}@-webkit-keyframes sidebar-backdrop-fade{0%{opacity:0}to{opacity:1}}@keyframes sidebar-backdrop-fade{0%{opacity:0}to{opacity:1}}.sidebar-drawer-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;gap:.75rem;-ms-flex-negative:0;flex-shrink:0;padding:0 .75rem .75rem 1rem}.sidebar-brand-lockup{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:.6rem;min-width:0}.sidebar-brand-icon{width:44px;height:44px;-o-object-fit:contain;object-fit:contain;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.sidebar-brand-wordmark{width:min(150px,48vw);height:auto;-webkit-filter:invert(1) brightness(1.2);filter:invert(1) brightness(1.2)}.sidebar-close{-ms-flex-item-align:end;align-self:flex-end;background:transparent;border:none;color:#e0e0e0;color:var(--color-text);font-size:1.4rem;line-height:1;width:44px;height:44px;border-radius:10px;cursor:pointer;margin:0 .25rem .25rem 0}.sidebar-close:hover,.sidebar-close:focus-visible{background:#383747;background:var(--color-backgroundAlt)}.sidebar-account{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:4px;margin-top:auto;padding-top:.5rem;border-top:1px solid #2DD28A;border-top:1px solid var(--color-border)}.saved-programs-overlay{position:fixed;inset:calc(70px + env(safe-area-inset-top,0px)) 0 0 0;z-index:1200;overflow-y:auto;-webkit-overflow-scrolling:touch;background:#2d2c39;background:var(--color-background);padding:.75rem max(.75rem,env(safe-area-inset-right,0px)) calc(.75rem + env(safe-area-inset-bottom,0px)) max(.75rem,env(safe-area-inset-left,0px))}.sidebar::-webkit-scrollbar{width:8px}.sidebar::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb{background:transparent;border-radius:4px;-webkit-transition:background .2s ease;transition:background .2s ease}.sidebar:hover::-webkit-scrollbar-thumb{background:#2dd28a;background:var(--color-border)}.sidebar::-webkit-scrollbar-thumb:hover{background:#2dd28a;background:var(--color-primary)}.sidebar{scrollbar-width:auto;scrollbar-color:#2DD28A transparent;scrollbar-color:var(--color-border) transparent}body::-webkit-scrollbar{width:12px}body::-webkit-scrollbar-track{background:transparent}body::-webkit-scrollbar-thumb{background:transparent;border-radius:6px;border:3px solid #2D2C39;border:3px solid var(--color-background);-webkit-transition:background .3s ease;transition:background .3s ease}body.is-scrolling::-webkit-scrollbar-thumb{background:#2dd28a;background:var(--color-border)}body.is-scrolling::-webkit-scrollbar-thumb:hover{background:#2dd28a;background:var(--color-primary)}body{scrollbar-width:thin;scrollbar-color:transparent transparent;scrollbar-gutter:stable}body.is-scrolling{scrollbar-color:#2DD28A transparent;scrollbar-color:var(--color-border) transparent}.sidebar.collapsed{width:64px}.sidebar.collapsed .sidebar-nav{padding-left:6px;padding-right:6px}.sidebar.collapsed .sidebar-item{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding-left:8px;padding-right:8px}.sidebar-inner{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:100%;min-height:0}.sidebar-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:inherit;padding:14px;cursor:pointer;text-align:left;font-size:24px;line-height:1;min-height:40px;position:sticky;top:0;z-index:2;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin:0 8px 4px;border-radius:10px;background:#383747;background:var(--color-sidebarBg)}.sidebar-toggle:hover,.sidebar-toggle:focus-visible{background:#383747;background:var(--color-backgroundAlt);border-radius:8px;outline:none}.sidebar.collapsed .sidebar-toggle{background:#2dd28a;background:var(--color-primary);color:#2d2c39;color:var(--color-textInverse);border-radius:8px;margin:4px auto;width:44px;height:44px;padding:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.sidebar.collapsed .sidebar-toggle:hover{background:#25b575;background:var(--color-primaryHover, var(--color-primary));opacity:.9}.sidebar-nav{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:4px;padding:8px;-webkit-box-flex:1;-ms-flex:1;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}.sidebar-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px;color:inherit;text-decoration:none;padding:10px 12px;border-radius:8px;font-size:14px;position:relative;-webkit-transition:background-color .2s ease;transition:background-color .2s ease}.sidebar-item:hover{background:#383747;background:var(--color-backgroundAlt)}.sidebar-item.active{background:#2dd28a;background:var(--color-primary);color:#2d2c39;color:var(--color-textInverse);border-left:3px solid #2DD28A;border-left:3px solid var(--color-accent)}.sidebar-item .icon{width:28px;height:28px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:relative;--icon-y-nudge: -2px}.sidebar-item .icon svg{display:block}.sidebar-item .icon .icon-count-overlay{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);font-size:12px;font-weight:800;line-height:1;color:currentColor;pointer-events:none;text-shadow:0 0 1px rgba(255,255,255,.35);-webkit-font-feature-settings:"tnum";font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sidebar-item .label{white-space:nowrap}.sidebar-item.ghost{background:transparent;border:none;width:100%;text-align:left}.sidebar-item.ghost:hover{background:#383747;background:var(--color-backgroundAlt)}.sidebar-item .count-pill{margin-left:auto}.sidebar-theme-switcher{-ms-flex-negative:0;flex-shrink:0;position:sticky;bottom:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding:12px 8px 16px;border-top:1px solid rgba(45,210,138,.3);border-top:1px solid var(--color-borderLight);background:#383747;background:var(--color-sidebarBg)}.theme-switcher-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#b0b0b0;color:var(--color-textLight);margin-bottom:8px;padding-left:4px;font-weight:600}.theme-palette{display:-webkit-box;display:-ms-flexbox;display:flex;gap:6px;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;width:100%;min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden;-ms-flex-negative:0;flex-shrink:0;padding:2px 2px 6px;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(45,210,138,.3) transparent;scrollbar-color:var(--color-borderLight) transparent}.theme-palette::-webkit-scrollbar{height:4px}.theme-palette::-webkit-scrollbar-track{background:transparent}.theme-palette::-webkit-scrollbar-thumb{background:#2dd28a4d;background:var(--color-borderLight);border-radius:2px}.theme-palette.collapsed{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:auto;max-width:none;overflow:visible;padding:2px}.theme-circle{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;-webkit-transition:all .2s ease;transition:all .2s ease;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:relative;-webkit-box-shadow:0 2px 4px rgba(0,0,0,.2);box-shadow:0 2px 4px #0003;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.theme-circle:hover{-webkit-transform:scale(1.1);transform:scale(1.1);-webkit-box-shadow:0 4px 8px rgba(0,0,0,.3);box-shadow:0 4px 8px #0000004d}.theme-circle.active{border-color:#fff;-webkit-box-shadow:0 0 0 2px #2D2C39,0 4px 8px rgba(0,0,0,.3);box-shadow:0 0 0 2px #2d2c39,0 4px 8px #0000004d;-webkit-box-shadow:0 0 0 2px var(--color-background),0 4px 8px rgba(0,0,0,.3);box-shadow:0 0 0 2px var(--color-background),0 4px 8px #0000004d}.theme-circle:focus-visible{outline:2px solid #2DD28A;outline:2px solid var(--color-primary);outline-offset:2px}@media(max-width:900px){.theme-palette.collapsed .theme-circle{width:24px;height:24px}.theme-palette.collapsed .theme-circle svg{width:10px;height:10px}.sidebar-theme-switcher{padding:8px 4px 12px}.theme-palette{gap:4px}}@media(max-height:600px){.theme-switcher-label{font-size:10px;margin-bottom:6px}}.sidebar-item.ghost{-ms-flex-negative:0;flex-shrink:0}.content{min-width:0;padding:16px;background:#2d2c39;background:var(--color-background);overflow-y:visible;overflow-x:visible;margin-left:0;width:100%;-webkit-box-flex:1;-ms-flex:1;flex:1;min-height:calc(100vh - 70px)}.app-shell[data-viewport=tablet-portrait] .content,.app-shell[data-viewport=tablet-landscape] .content,.app-shell[data-viewport=mobile] .content{margin-left:0;width:100%;padding:12px max(12px,env(safe-area-inset-right,0px)) 12px max(12px,env(safe-area-inset-left,0px))}@media(max-width:767px){.app-root[data-viewport=mobile] button,.app-root[data-viewport=mobile] [role=button]{min-width:44px;min-height:44px}.app-root[data-viewport=mobile] input:not([type=checkbox]):not([type=radio]),.app-root[data-viewport=mobile] select{min-height:44px}.app-root[data-viewport=mobile] .navbar-brand,.sidebar.compact-shell .sidebar-item{min-width:44px;min-height:48px;padding-top:.6rem;padding-bottom:.6rem}.app-root[data-viewport=mobile] .navbar-brand{padding-top:0;padding-bottom:0}.app-root[data-viewport=mobile] .theme-circle{width:44px;height:44px}.app-root[data-viewport=mobile] .saved-programs-overlay label,.playground-tabs .tab-button,.playground-tab-actions .tab-action-button{min-height:44px}.app-root[data-viewport=mobile] .touch-editor-toolbar{-ms-flex-wrap:nowrap;flex-wrap:nowrap;gap:.35rem;padding:.45rem;overflow-x:hidden}.app-root[data-viewport=mobile] .touch-editor-button{width:44px;min-width:44px;height:44px;padding:0;border-radius:14px}.app-root[data-viewport=mobile] .touch-editor-button-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;width:18px;height:18px}.app-root[data-viewport=mobile] .touch-editor-button-label{display:none}.app-root[data-viewport=mobile] .python-mobile-utility-row .guide-button{min-height:44px}.app-root[data-viewport=mobile] .python-output-runtime-status{font-size:.75rem;padding-inline:.4rem}}@media(prefers-reduced-motion:reduce){.app-main,.sidebar.compact-shell{-webkit-transition:none;transition:none}.sidebar-backdrop{-webkit-animation:none;animation:none}}*,*:before,*:after{-webkit-box-sizing:border-box;box-sizing:border-box}.content img,.content iframe,.content canvas,.content video{max-width:100%;height:auto}.sidebar-item .icon img{display:block;width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.sidebar-item .icon img,.sidebar-item .icon svg{display:block;vertical-align:middle;-webkit-transform:translateY(var(--icon-y-nudge));transform:translateY(var(--icon-y-nudge))}.sidebar-item .icon.saved-icon{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;--icon-y-nudge: -2px}.sidebar-item .icon.saved-icon .icon-count-overlay{-webkit-transform:translate(-50%,calc(-50% + var(--icon-y-nudge)));transform:translate(-50%,calc(-50% + var(--icon-y-nudge)))}[data-theme=darkMode] .sidebar-item .icon img.pseudocode-icon{-webkit-filter:invert(1) brightness(1.15);filter:invert(1) brightness(1.15)}[data-theme=darkMode] .sidebar-item .saved-icon .icon-count-overlay{color:#000;text-shadow:0 0 1px rgba(255,255,255,.8)}[data-theme=studioRed] .sidebar-item .icon img[src*=pseudocode],[data-theme=studioRed] .sidebar-item .icon img[src*=SQL],[data-theme=studioRed] .sidebar-item .icon img[src*=saved_files]{-webkit-filter:invert(1) brightness(.9);filter:invert(1) brightness(.9)}[data-theme=studioRed] button svg,[data-theme=studioRed] label svg{color:#e0e0e0}[data-theme=studioRed] button svg text,[data-theme=studioRed] label svg text{fill:#fff}[data-theme=darkMode] button svg,[data-theme=darkMode] label svg{color:#e0e0e0}[data-theme=darkMode] button svg text,[data-theme=darkMode] label svg text{fill:#fff}[data-theme=darkMode] .sidebar-item .label,[data-theme=studioRed] .sidebar-item .label{color:#e0e0e0}[data-theme=darkMode] div[style*="border: 1px solid"]{background:#383747!important;background:var(--color-backgroundCard)!important;border-color:#2dd28a!important;border-color:var(--color-border)!important}[data-theme=darkMode] div[style*="border: 1px solid"] h3{color:#e0e0e0!important}[data-theme=darkMode] div[style*="border: 1px solid"] span[style*="color: #555"]{color:#9e9e9e!important}[data-theme=studioRed] div[style*="border: 1px solid"]{background:#383747!important;background:var(--color-backgroundCard)!important;border-color:#2dd28a!important;border-color:var(--color-border)!important}[data-theme=studioRed] div[style*="border: 1px solid"] h3{color:#e0e0e0!important}[data-theme=studioRed] div[style*="border: 1px solid"] span[style*="color: #555"]{color:#9e9e9e!important}.sidebar.collapsed .sidebar-item{position:relative}.sidebar.collapsed .sidebar-item:after{content:attr(data-tooltip);position:absolute;top:50%;left:100%;-webkit-transform:translate(8px,-50%);transform:translate(8px,-50%);background:#111e49f2;color:#fff;padding:6px 10px;border-radius:8px;white-space:nowrap;-webkit-box-shadow:0 4px 12px rgba(0,0,0,.25);box-shadow:0 4px 12px #00000040;opacity:0;pointer-events:none;-webkit-transition:opacity .15s ease,-webkit-transform .15s ease;transition:opacity .15s ease,-webkit-transform .15s ease;transition:opacity .15s ease,transform .15s ease;transition:opacity .15s ease,transform .15s ease,-webkit-transform .15s ease;z-index:1002}.sidebar.collapsed .sidebar-item:before{content:"";position:absolute;top:50%;left:100%;-webkit-transform:translate(2px,-50%);transform:translate(2px,-50%);border-width:6px;border-style:solid;border-color:transparent transparent transparent rgba(17,30,73,.95);opacity:0;-webkit-transition:opacity .15s ease;transition:opacity .15s ease;z-index:1002}.sidebar.collapsed .sidebar-item:hover:after,.sidebar.collapsed .sidebar-item:focus-visible:after,.sidebar.collapsed .sidebar-item:hover:before,.sidebar.collapsed .sidebar-item:focus-visible:before{opacity:1}.sidebar:not(.collapsed) .sidebar-item .label{font-weight:700;font-size:15px;line-height:1.2}.wg-overlay{position:fixed;top:0;right:0;bottom:0;left:0;padding:8px;background:#000000c7;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;z-index:9999;-ms-scroll-chaining:none;overscroll-behavior:contain}.wg-modal{width:min(800px,calc(100vw - 16px),155vh);background:#1a1a2e;border-radius:12px;overflow:hidden;-webkit-box-shadow:0 12px 60px rgba(0,0,0,.7);box-shadow:0 12px 60px #000000b3;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.wg-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:1rem;padding:.5rem .75rem;background:#16213e;border-bottom:1px solid rgba(255,255,255,.08)}.wg-title{font-weight:700;font-size:.95rem;color:#f0c040;font-family:Inter,sans-serif;white-space:nowrap}.wg-hint{-webkit-box-flex:1;-ms-flex:1;flex:1;font-size:.72rem;color:#ffffff73;font-family:Inter,sans-serif}.wg-close{background:none;border:none;color:#ffffff8c;font-size:1rem;cursor:pointer;padding:.2rem .45rem;border-radius:4px;line-height:1;-webkit-transition:background .15s,color .15s;transition:background .15s,color .15s}.wg-close:hover{background:#ffffff1a;color:#fff}.wg-game-stage{position:relative;width:100%;aspect-ratio:16 / 9;overflow:hidden;background:#64b5f6;-ms-touch-action:none;touch-action:none}.wg-canvas-wrap{position:absolute;top:0;right:0;bottom:0;left:0}.wg-canvas-wrap canvas{display:block;width:100%!important;height:100%!important;-ms-touch-action:none;touch-action:none}.wg-touch-controls{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:none;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:0 18px max(16px,env(safe-area-inset-bottom));pointer-events:none}.wg-touch-controls.puzzle-active{display:none!important}.wg-touch-group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;gap:12px;pointer-events:none}.wg-action-column{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:10px;pointer-events:none;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.wg-touch-button{width:clamp(58px,8vw,72px);height:clamp(58px,8vw,72px);padding:0;border:2px solid rgba(255,255,255,.62);border-radius:50%;background:#10213eb3;-webkit-box-shadow:0 4px 14px rgba(0,0,0,.32);box-shadow:0 4px 14px #00000052;color:#fff;font:700 clamp(15px,2vw,21px) "Inter",sans-serif;pointer-events:auto;-ms-touch-action:none;touch-action:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.wg-touch-button-small{width:clamp(50px,7vw,62px);height:clamp(50px,7vw,62px);font-size:clamp(10px,1.5vw,13px)}.wg-touch-jump{width:clamp(72px,10vw,90px);height:clamp(72px,10vw,90px);border-color:#f0c040e6;background:#5d410cc7;font-size:clamp(13px,2.2vw,18px)}.wg-touch-button:active{-webkit-transform:scale(.93);transform:scale(.93);background:#315087e0}@media(hover:none),(pointer:coarse){.wg-touch-controls{display:-webkit-box;display:-ms-flexbox;display:flex}.wg-hint{display:none}}@media(max-width:620px){.wg-header{gap:.5rem}.wg-touch-controls{padding-right:10px;padding-left:10px}.wg-touch-group{gap:7px}}@media(min-width:768px)and (pointer:coarse){.wg-modal{width:min(90vw,139vh)}}.service-worker-update{position:fixed;top:86px;right:16px;z-index:1200;display:grid;grid-template-columns:24px minmax(0,1fr);grid-gap:8px 12px;gap:8px 12px;width:min(380px,calc(100vw - 32px));-webkit-box-sizing:border-box;box-sizing:border-box;padding:14px;color:#e0e0e0;color:var(--color-surfaceText, var(--color-text, #e0e0e0));background:#383747;background:var(--color-surfaceElevated, var(--color-backgroundCard, #383747));border:1px solid #555;border:1px solid var(--color-surfaceBorder, var(--color-borderLight, #555));border-left:4px solid #2dd28a;border-left:4px solid var(--color-surfaceAccent, var(--color-primary, #2dd28a));border-radius:6px;-webkit-box-shadow:0 8px 24px rgba(0,0,0,.25);box-shadow:0 8px 24px #00000040;-webkit-box-shadow:0 8px 24px var(--color-shadowDark, rgba(0, 0, 0, .25));box-shadow:0 8px 24px var(--color-shadowDark, rgba(0, 0, 0, .25))}.service-worker-update__icon{width:22px;height:22px;margin-top:1px;color:#2dd28a;color:var(--color-surfaceAccent, var(--color-primary, #2dd28a))}.service-worker-update__icon.is-spinning{-webkit-animation:service-worker-update-spin 1s linear infinite;animation:service-worker-update-spin 1s linear infinite}.service-worker-update__content{display:grid;min-width:0;grid-gap:3px;gap:3px}.service-worker-update__content strong{font-size:.95rem;line-height:1.2}.service-worker-update__content span{color:#b0b0b0;color:var(--color-textLight, #b0b0b0);font-size:.82rem;line-height:1.4}.service-worker-update__actions{grid-column:2;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:8px}.service-worker-update__button{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:6px;min-height:36px;padding:7px 12px;border:1px solid transparent;border-radius:4px;font:inherit;font-size:.82rem;font-weight:600;letter-spacing:0;cursor:pointer}.service-worker-update__button svg{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:16px;height:16px}.service-worker-update__button--primary{color:#1f1e2a;color:var(--color-textInverse, #1f1e2a);background:#2dd28a;background:var(--color-buttonPrimary, #2dd28a)}.service-worker-update__button--primary:hover:not(:disabled){background:#25b575;background:var(--color-buttonPrimaryHover, #25b575)}.service-worker-update__button--primary:disabled{cursor:wait;opacity:.72}.service-worker-update__button--secondary{color:#e0e0e0;color:var(--color-surfaceText, var(--color-text, #e0e0e0));background:transparent;border-color:#666;border-color:var(--color-surfaceBorder, var(--color-borderLight, #666))}.service-worker-update__button--secondary:hover{background:#ffffff14;background:var(--color-buttonHoverBg, rgba(255, 255, 255, .08))}.service-worker-update__button:focus-visible{outline:2px solid #2dd28a;outline:2px solid var(--color-surfaceAccent, var(--color-primary, #2dd28a));outline-offset:2px}@-webkit-keyframes service-worker-update-spin{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes service-worker-update-spin{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@media(max-width:520px){.service-worker-update{top:78px;right:12px;left:12px;width:auto}}@media(prefers-reduced-motion:reduce){.service-worker-update__icon.is-spinning{-webkit-animation:none;animation:none}}
