:root{--waddle-navy: #2b2b80;--winter-blue-light: #e0f2f1;--winter-blue-semi-light: #b2dfdb;--winter-blue-medium: #80cbc4;--winter-blue-dark: #4db6ac;--winter-blue-very-dark: #225450;--off-black: #212121;--soft-shadow: rgba(0, 0, 0, .05);--off-white: #fdfdfd;--red: #f44336;--green: #4caf50;--blue: #2196f3;--yellow: #ffeb3b;--purple: #9c27b0;--default-font: "Gill Sans", "Gill Sans MT", "Fira Sans", Calibri, "Trebuchet MS", "Arial", "Helvetica", sans-serif}::-moz-selection{color:var(--winter-blue-light);background:var(--winter-blue-dark)}::selection{color:var(--winter-blue-light);background:var(--winter-blue-dark)}body{overflow:hidden;background-color:var(--winter-blue-light);width:100%;height:100%;margin:0;font-family:var(--default-font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.board-container{width:100%;height:100%;display:flex;overflow:hidden;justify-content:center;align-items:center;margin:0;padding:0}.button-control{background-color:var(--winter-blue-medium);color:#000;padding:6px 12px;text-align:center;text-decoration:none;display:inline-block;font-size:18px;height:35px;border:none;margin:5px;opacity:.8;border-radius:9px;-webkit-user-select:none;user-select:none;cursor:pointer;transition:ease-in .25s}.back-button{padding:5px;font-size:12px;border-radius:6px}.button-control:hover{opacity:1}.button-control:active{background-color:var(--winter-blue-dark)}.button-control:disabled,.button-control[aria-disabled=true]{opacity:.25;cursor:default}.resize-handle{background-color:#d3d3d3;border:1px solid lightgray;transition:50ms;opacity:.5}.resize-handle:hover{background-color:var(--winter-blue-medium);border:1px solid var(--winter-blue-medium);transition:50ms}.log-output{width:100%;height:100%;border:none;resize:none;-webkit-user-select:text;user-select:text;box-sizing:border-box;transition:.15s;scrollbar-width:thin;scrollbar-color:var(--winter-blue-semi-light) var(--winter-blue-light);padding:7.5px 7.5px 35px}.log-output:hover{transition:.15s;border:none}.log-output:focus{outline:none}.log-output-label{padding:6px 6px 3px;font-size:10px;font-weight:700;color:gray;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:flex-start;align-items:baseline;-webkit-user-select:none;user-select:none;word-break:keep-all}.editor-header{height:2.5em;min-height:2em;padding:0 6px;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:flex-start;align-items:baseline;width:calc(100% - 12px);background:var(--winter-blue-light);filter:drop-shadow(0 0px 5px var(--winter-blue-light))}.log-output-line,.editor-header-line{width:100%;padding-top:4px;border-bottom:1px solid lightgray}.editor-header-comment{display:inline;opacity:.75;font-size:x-small}.playfield-button,.editor-header-button{background-color:var(--winter-blue-medium);color:#000;padding:4px 11px;text-align:center;text-decoration:none;display:inline-block;font-size:15px;width:3.5em;margin:5px;opacity:.5;border:none;border-radius:9px;-webkit-user-select:none;user-select:none;cursor:pointer;transition:ease-in .15s}.editor-header-select{background-color:var(--winter-blue-medium);color:#000;padding:4px 11px;text-align:center;display:inline-block;font-size:15px;min-width:9em;max-width:12em;margin:5px;opacity:.5;border:none;border-radius:9px;-webkit-user-select:none;user-select:none;cursor:pointer;transition:ease-in .15s}.playfield-button:hover,.editor-header-button:hover,.editor-header-select:hover{opacity:1}.editor-header-select:active,.editor-header-select:focus{background-color:var(--winter-blue-dark);outline:none}.editor-header-select:disabled{cursor:default;opacity:.1}.playfield-button:active,.editor-header-button:active{background-color:var(--winter-blue-dark)}.editor-header-button:disabled,.editor-header-label:has(+.editor-header-button:disabled){opacity:.1;cursor:default}.editor-header-label{transition:ease-in .15s}.editor-current-line,.editor-current-line-root{background-color:var(--winter-blue-medium);opacity:.25}.editor-current-line-margin{width:0!important;height:0!important;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:7px solid var(--winter-blue-dark);margin:3px}.editor-current-line-root{background-color:var(--purple)}.editor-current-line-root-margin{width:10px!important;height:10px!important;border-radius:2px;background-color:var(--purple);margin:3px 3px 3px 5px}.editor-protected-comment{border-left:2px solid var(--winter-blue-dark)}.editor-error-inline{color:var(--red)!important;font-style:italic;opacity:.9}.editor-error-line,.editor-error-line-root{background-color:transparent}.editor-error-line-margin,.editor-error-line-root-margin{width:10px!important;height:10px!important;border-radius:2px;background-color:var(--red);margin:3px 3px 3px 5px}.score-label{font-size:12px;font-weight:700;margin:5px;-webkit-user-select:none;user-select:none;color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#00000059;padding:3px;border-radius:5px;position:absolute;right:5px;top:5px}.program-finished{display:inline-flex;align-items:center;gap:6px;margin:5px;padding:4px 10px;border-radius:9px;background-color:var(--winter-blue-semi-light);color:var(--winter-blue-very-dark);font-family:var(--default-font);font-size:13px;font-weight:700;-webkit-user-select:none;user-select:none;animation:program-finished-in .25s ease-out}@keyframes program-finished-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.program-finished.program-stopped{background-color:var(--winter-blue-light);color:gray}.flex-fill{flex:1}.playfield-controls{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:baseline;width:max-content}.editor-container-outer,.editor-container{display:flex;flex-direction:column;flex-wrap:nowrap;flex-grow:1;justify-content:flex-start;align-items:stretch;position:relative;width:100%;height:100%}.editor-container{height:calc(100% - 2.5em)}.playfield-lower-left-controls{position:absolute;bottom:0}.level-goals{position:absolute;top:46px;right:10px;z-index:10;max-width:min(22em,45%);font-family:var(--default-font);font-size:13px;color:var(--off-black);background:#fdfdfdeb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--winter-blue-medium);border-radius:10px;box-shadow:0 2px 8px var(--soft-shadow);overflow:hidden;-webkit-user-select:none;user-select:none}.game-end-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(4.8rem,1fr));justify-content:center;gap:8px;flex:1 1 auto;align-content:center;min-height:0;margin:0 auto;width:min(32em,100%)}.game-end-stat>svg{font-size:.75rem;opacity:.6}.game-end-stat{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0;padding:8px 6px;text-align:center;border-radius:16px;background:#ffffff4d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.55);box-shadow:0 4px 18px #0000001f;color:var(--waddle-navy);font-family:var(--default-font);text-shadow:0 1px 2px rgba(255,255,255,.6);transition:transform .16s ease-out,background-color .16s ease-out,box-shadow .16s ease-out}.game-end-stat-value{font-size:clamp(1.45rem,3.6vw,2rem);font-weight:700;line-height:1.1}.game-end-stat:hover{transform:translateY(-2px) scale(1.02);background:#ffffff6b;box-shadow:0 6px 20px #00000029}@media(prefers-reduced-motion:reduce){.game-end-stat:hover{transform:none}}.game-end-stat-label{font-size:clamp(.72rem,1.5vw,.88rem);opacity:.8;line-height:1.25;overflow-wrap:break-word}.level-goals-header{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;border:none;background:var(--winter-blue-semi-light);color:var(--winter-blue-very-dark);font:inherit;font-weight:700;cursor:pointer;transition:background-color ease-in .15s}.level-goals-header:hover{background:var(--winter-blue-medium)}.level-goals-title{flex:1;text-align:left}.level-goals-body{padding:4px 10px 9px;max-height:45vh;overflow-y:auto;scrollbar-width:thin}.level-goals-separator{margin:8px 0;border-top:1px solid var(--winter-blue-semi-light)}.level-goals-list{margin:4px 0 0;padding:0;list-style:none}.level-goals-item.level-goals-done{color:var(--winter-blue-very-dark);text-decoration:line-through;text-decoration-color:var(--winter-blue-medium)}.level-goals-item.level-goals-done .level-goals-bullet{color:var(--green);opacity:1}.level-goals-progress{display:block;font-size:11px;color:gray}.level-goals-item{display:flex;gap:7px;align-items:baseline;padding:2px 0;line-height:1.35}.level-goals-bullet{flex:none;width:1.1em;color:var(--winter-blue-very-dark);opacity:.8}.level-goals-optional{margin-left:6px;padding:0 5px;border-radius:7px;background:var(--winter-blue-semi-light);color:var(--winter-blue-very-dark);font-size:10px;text-transform:uppercase;letter-spacing:.04em}.playfield-button.playfield-button-more{width:2em;padding:2px 6px;font-size:12px;opacity:.2}.playfield-button.playfield-button-more:hover{opacity:.85}.playfield-button.playfield-button-active{opacity:1;background-color:var(--winter-blue-dark)}div[role=tooltip]{fill-opacity:.5;font-size:12px}.game-tooltip{position:absolute;-webkit-user-select:none;user-select:none;color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#00000080;border-radius:6.5px;padding:7.5px 10px;font-size:15px;z-index:99;margin:12px;word-break:break-all}.game-tooltip .title{font-weight:700;font-size:larger}.game-tooltip .features,.game-tooltip .position{padding-top:4px;font-style:italic;font-size:smaller}.grid-container{display:grid;gap:4px}.grid-element{box-sizing:border-box;border:1px solid #ccc;cursor:pointer;width:14px;height:14px}.help-container{position:relative;display:inline-block}.control-nudge{opacity:1!important;background-color:var(--yellow)!important;animation:control-nudge 1.6s ease-in-out infinite}@keyframes control-nudge{0%,to{transform:scale(1);box-shadow:0 0 #ffeb3bb3}50%{transform:scale(1.08);box-shadow:0 0 0 8px #ffeb3b00}}@media(prefers-reduced-motion:reduce){.control-nudge{animation:none;outline:2px solid var(--yellow)}}.help-box{position:absolute;left:0;margin-top:8px;width:250px;padding:12px;background:#fff;border:1px solid #d1d5db;border-radius:12px;box-shadow:3px 3px 8px #00000026}.help-text{font-size:14px;color:#374151;margin-bottom:8px}.help-controls{display:flex;justify-content:space-between;align-items:center}.help-index{font-size:12px;color:#6b7280}.help-welcome{display:flex;flex-direction:column;align-items:center}.level-prediction-tag{display:inline-flex;align-items:center;gap:5px;margin-left:8px;padding:2px 9px;border-radius:999px;font-size:.8em;font-weight:600;white-space:nowrap;color:#fff;background:#0f766e;border:1px solid #0f766e}.prediction-container{position:relative;display:inline-block}.prediction-box{display:flex;flex-direction:column;align-items:stretch;gap:8px;width:250px}.prediction-box .button-control{width:100%;font-size:13px}.prediction-header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding-bottom:6px;border-bottom:1px solid #e5e7eb}.prediction-title{font-weight:600;font-size:14px;color:#374151}.prediction-balance{font-size:13px;font-weight:600;color:#0f766e;white-space:nowrap}.prediction-random-note{font-size:12px;line-height:1.45;color:#b45309;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:6px 8px;margin:0}.prediction-price{font-size:12px;line-height:1.45;color:#6b7280;margin:0}.prediction-box .button-control.prediction-buy{font-weight:600}.prediction-box .button-control.prediction-buy:disabled{opacity:1;color:#9ca3af;background:#f3f4f6;border-color:#e5e7eb;text-decoration:line-through}.prediction-paths{display:flex;flex-direction:column;gap:4px}.prediction-paths[aria-disabled=true]{opacity:.5}.prediction-paths-label{font-size:12px;color:#6b7280}.prediction-paths-options{display:flex;gap:4px}.prediction-box .prediction-paths-options .button-control{flex:1;font-size:12px}.prediction-owned{font-size:11px;color:#0f766e;text-align:center}.prediction-purchase h2{margin:0 0 10px}.prediction-purchase p{margin:0 0 10px;font-size:14px;line-height:1.5}.prediction-purchase-cost{display:flex;align-items:center;justify-content:center;gap:16px;padding:10px 12px;border-radius:10px;background:#f0fdfa;border:1px solid #99f6e4}.prediction-purchase-price{font-size:18px;font-weight:700;color:#0f766e;white-space:nowrap}.prediction-purchase-balance{font-size:14px;color:#6b7280;white-space:nowrap}.prediction-purchase-note{font-size:13px!important;color:#6b7280}.prediction-purchase-warning{font-size:13px!important;color:#b45309}.button-control-active{outline:2px solid var(--yellow)}.help-fish-count{font-size:12px;color:#6b7280;text-align:center}.help-fish-hint{font-size:12px;color:#b45309;text-align:center}.level-welcome-component{position:absolute;bottom:5px;right:10px}.level-welcome-image{transition:ease-in-out .25s;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.level-welcome-image:hover{scale:1.1}.level-welcome-image:active{scale:1.25;transition:ease-in-out .1s;-webkit-user-select:none;user-select:none}#level-welcome-output-div{position:absolute;bottom:16px;right:70px;width:21em;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0000005d;border-radius:5px;padding:10px 12px;color:#fff;hyphens:auto;-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;font-size:18px;max-width:60vw;min-height:2.5em;-webkit-user-select:none;user-select:none;transition:opacity .5s ease-in-out,visibility .5s}#level-welcome-output-div em{font-style:italic;color:#fff}.level-map-preview{position:absolute;right:15px;bottom:15px;max-height:90%;width:40%}.menu-screen-container{position:absolute;width:100%;height:100%}.game-end-button{border:none;width:4vw;max-height:4vw;min-height:20px;height:4vw;transition:ease-in .25s;background-color:transparent;image-rendering:pixelated;background-repeat:no-repeat;background-size:100% 100%;position:absolute}.game-end-main-menu{left:15%;bottom:15%}.game-end-replay{left:calc(15% + 5vw);bottom:15%}.game-end-next{right:18%;bottom:14%;width:5vw;height:5vw;max-height:5vw;min-width:26px;filter:drop-shadow(0 3px 8px rgba(0,0,0,.35))}.game-end-next:hover{scale:1.2}.game-end-button:hover{scale:1.3}.game-end-button:active{scale:.9;transition:ease-in .1s}.modal{border-radius:32px;inset:50% auto auto 50%;transform:translate(-50%,-50%);margin-right:-50%;border:none;transition:ease-in .25s;transform-origin:center;overflow:hidden;position:absolute}.game-end-modal{--game-end-width: max(43vw, 30rem);width:var(--game-end-width);height:calc(.5625 * var(--game-end-width));background-repeat:no-repeat;background-size:100% 100%;image-rendering:pixelated;animation:pop-in-from-center .48s cubic-bezier(.16,1.5,.3,1),small-wobble 22s infinite,impact-shake .32s .3s cubic-bezier(.36,.07,.19,.97);display:flex;flex-direction:column;justify-content:flex-start;box-sizing:border-box;padding:calc(var(--game-end-width) * .025) 4% calc(var(--game-end-width) * .2);overflow:hidden}.yes-no-modal{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background-color:#fefcfb4d;border:var(--winter-blue-dark) solid 1px;filter:drop-shadow(2px 2px 10px var(--winter-blue-medium));padding:25px}.import-preview-label{margin:12px 0 6px;font-size:13px;opacity:.8}.import-preview{max-height:40vh;max-width:min(70ch,80vw);overflow:auto;margin:0 auto;padding:10px 12px;border-radius:9px;border:1px solid var(--winter-blue-medium);background:var(--off-white);color:var(--off-black);font-family:monospace;font-size:13px;line-height:1.4;text-align:left;white-space:pre;tab-size:4}.yes-no-modal-error{filter:drop-shadow(2px 2px 10px #f77);border:#d00 solid 1px}.yes-no-modal-button{background-color:var(--winter-blue-medium);text-align:center;text-decoration:none;display:inline-block;font-weight:5400;width:100px;padding:10px;margin:6px 24px;opacity:.6;border:none;border-radius:9px;-webkit-user-select:none;user-select:none;cursor:pointer;transition:ease-in .15s}.yes-no-modal-button:hover{opacity:1;transform:scale(1.1)}.yes-no-modal-button:active{background-color:var(--winter-blue-dark);transform:scale(.9)}@keyframes pop-in-from-center{0%{height:0;width:0;opacity:0}48%{height:calc(.5625 * var(--game-end-width) * 1.16);width:calc(var(--game-end-width) * 1.16);opacity:1}72%{height:calc(.5625 * var(--game-end-width) * .955);width:calc(var(--game-end-width) * .955)}88%{height:calc(.5625 * var(--game-end-width) * 1.015);width:calc(var(--game-end-width) * 1.015)}to{height:calc(.5625 * var(--game-end-width));width:var(--game-end-width);opacity:1}}.result-image{animation:result-image-in .62s cubic-bezier(.18,1.4,.4,1) both;animation-delay:.16s}@keyframes result-image-in{0%{opacity:0;transform:scale(.45) rotate(-6deg)}65%{opacity:1;transform:scale(1.08) rotate(1.5deg)}to{opacity:1;transform:scale(1) rotate(0)}}.game-end-stat{animation:stat-rise .42s ease-out both}.game-end-stat:nth-child(1){animation-delay:.38s}.game-end-stat:nth-child(2){animation-delay:.46s}.game-end-stat:nth-child(3){animation-delay:.54s}.game-end-stat:nth-child(4){animation-delay:.62s}@keyframes stat-rise{0%{opacity:0;transform:translateY(10px) scale(.94)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.game-end-modal,.result-image,.game-end-stat{animation:none}}@keyframes small-wobble{0%{transform:rotate(0) translateY(0) translate(-50%,-50%)}25%{transform:rotate(1deg) translateY(4px) translate(-50%,-50%)}50%{transform:rotate(-1deg) translateY(-4px) translate(-50%,-50%)}75%{transform:rotate(1deg) translateY(4px) translate(-50%,-50%)}to{transform:rotate(0) translateY(0) translate(-50%,-50%)}}.game-end-score{position:absolute;bottom:10%;left:50%;transform:translate(-50%,-50%);font-size:32px;background-color:#0000001a;padding:4px 20px;border-color:transparent;border-radius:10px;color:var(--off-white);display:block}.game-end-fish{image-rendering:pixelated;scale:3;padding:2px 10px;position:relative;filter:drop-shadow(0 0 2px var(--off-white))}.main-menu-buttons{width:25em;position:absolute;left:5%;bottom:5%}a{color:var(--winter-blue-very-dark);position:relative;text-decoration:none}a:before{content:"";position:absolute;width:100%;height:2px;border-radius:2px;background-color:var(--winter-blue-very-dark);bottom:0;left:0;transform-origin:right;transform:scaleX(0);transition:transform .3s ease-in-out}a:hover:before{transform-origin:left;transform:scaleX(1)}.search-bar .MuiOutlinedInput-root{border-radius:12px}.level-map-container{min-width:40vw;max-width:80vw;width:calc(40vw + 500px);height:100vh;position:absolute;left:50%;top:0;transform:translate(-50%);display:flex;flex-direction:column;flex-wrap:nowrap;align-items:center;gap:0px;overflow-x:visible}.level-name-search-container{width:100%;background:var(--off-white);margin:1vh 0;padding:15px;border-radius:20px;overflow:hidden;filter:drop-shadow(2px 2px 5px var(--soft-shadow));display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:15px}.level-search{padding:25px 18px}.level-search-filter>:first-child{border-top-left-radius:12px;border-bottom-left-radius:12px}.level-search-filter>:last-child{border-top-right-radius:12px;border-bottom-right-radius:12px}.filter-label{margin-left:4.5px;padding-top:3px;padding-right:3px}.level-cards{overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--winter-blue-semi-light) var(--winter-blue-light);overflow-x:visible;width:100%;height:100%;display:flex;align-items:center;flex-direction:column;transition:all .5s ease-in-out;padding-bottom:1em}.level-card{position:relative;min-height:6em;margin:1ex 0;width:85%;opacity:.7;transition:all .25s ease-in-out;-webkit-user-select:none;user-select:none;display:flex;flex-direction:column;flex-wrap:nowrap;justify-content:flex-start;gap:2px;align-items:flex-start;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);overflow:visible}.level-card:hover{opacity:.8;width:calc(85% + 20px)}.level-card:active,.level-card:focus{opacity:1;width:calc(86% + 20px);min-height:13em}.level-card .full-only{visibility:hidden;opacity:0;transition:all .3s ease-in-out}.level-card .small-only{visibility:visible;opacity:1;transition:all .3s ease-in-out}.level-card:active .full-only,.level-card:focus .full-only{display:inline-block;visibility:visible;opacity:1}.level-card:active .small-only,.level-card:focus .small-only{visibility:hidden;opacity:0}.quiz-card{background:var(--winter-blue-dark);color:var(--off-white);border-radius:12px;min-height:1em;max-height:1em;height:1em}.level-card .header-line{font-size:.6em;opacity:.75}.level-card .quiz-tag{font-weight:700}.level-card .level-description{font-size:.8em;color:gray;width:45%;max-width:30vw;line-height:1;margin-bottom:12px}.level-card .level-lower-left{position:absolute;left:12px;bottom:5px;display:flex;flex-direction:row;flex-wrap:nowrap}.level-card .level-index{font-size:1.85em;opacity:.15}.quiz-card .level-index{font-size:1.85em;margin-bottom:-2px;opacity:1}.level-card .level-img{position:absolute;height:calc(100% - 20px);right:10px;top:10px;overflow:hidden}.level-card .level-img-small{width:12vw}.level-card .level-img-big{width:20vw}.level-card .level-img>img{height:100%;width:100%;object-fit:contain;image-rendering:pixelated}.level-card .victory-conditions{font-size:.8em;margin-top:.25ex;color:gray}.level-card .victory-conditions ol{padding-left:16px;padding-top:0;margin-top:0}.level-card .level-preview{position:absolute;bottom:0;right:0;width:20vw;height:100%;overflow:hidden;border-radius:0 12px 12px 0}.level-card .completion{position:absolute;font-size:smaller;max-width:10vw;top:50%;right:45%;transform:translateY(-50%) translate(50%)}.level-card .completion .not-yet-played{color:var(--off-black)}.level-card .completion .completed{color:var(--off-black);opacity:.5;text-align:center}.level-card .completion img{height:5em;image-rendering:pixelated;filter:drop-shadow(0 0 10px var(--off-white)) drop-shadow(0 0 2px yellow);animation:pulsate 5.5s infinite}.level-img canvas{z-index:-1}img.full-only{display:none}.level-card .on-preview-button{position:absolute;bottom:50%;right:0;width:20vw;height:100%;transform:translateY(50%);text-transform:none;background:none;border:none;color:gray;text-align:center;vertical-align:center;cursor:pointer}.level-card .on-preview-button:hover{color:#000;transform:translateY(50%) scale(1.2)}.level-card .level-card-button{padding:0;margin:0 0 -3px 30px;border-radius:6px;font-size:1em;text-transform:none;background:none;border:none;color:gray;transition:all .3s;cursor:pointer}.level-card .start-quiz-button{padding:0;margin:0 0 -3px 30px;border-radius:6px;font-size:1em;text-transform:none;background:none;border:none;transition:all .3s;color:var(--off-white);position:fixed;right:20px;bottom:50%;transform:translateY(35%);opacity:.85;cursor:pointer}.level-card .start-quiz-button:hover{opacity:1;font-size:1.05em}.level-card .level-card-button:hover{color:#000;animation:pulsate 2s infinite}@keyframes pulsate{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.level-card .level-card-button:active{transform:scale(.9)}.level-card .level-card-button:disabled{color:gray;opacity:.5;pointer-events:none;animation:none;transform:none}.quiz-mode-control{position:fixed;top:0;right:0;font-size:.5em;padding:5px;opacity:.5;-webkit-user-select:text;user-select:text;text-align:right}.quiz-mode-control .active-quiz-mode{font-weight:700}.quiz-card .quiz-name{font-size:1em;font-weight:700;margin-left:42px;margin-top:-3px}.quiz-card .quiz-description{font-size:.9em;margin-left:42px;margin-top:20px;width:65%}.quiz-view{position:absolute;width:100%;height:100%;display:flex;flex-direction:column;flex-wrap:nowrap;justify-content:flex-start;align-items:center}.quiz-view .quiz-title-container{position:sticky;top:0;background:var(--winter-blue-dark);width:100%;color:var(--off-white);text-align:center;padding:15px;filter:drop-shadow(0 0 10px var(--winter-blue-dark))}.quiz-view .quiz-title{font-size:2.66em;font-weight:700;margin:20px}.quiz-view .quiz-content{width:90%;height:100%;padding-top:2em;display:flex;flex-direction:column;flex-wrap:nowrap;justify-content:flex-start;align-items:center;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--winter-blue-semi-light) rgba(0,0,0,0)}.quiz-view .quiz-description{font-size:1em;width:100%}.quiz-view .quiz-id{position:absolute;bottom:0;right:0;font-size:.3em;opacity:.5;padding:3px;background-color:var(--winter-blue-light);border-radius:4px 0 0}.quiz-view .quiz-id::selection{background-color:var(--winter-blue-light);color:var(--off-black)}.quiz-question-view{width:95%;height:max-content;background:#ffffff4f;border-radius:12px;padding:12px;margin:20px;filter:drop-shadow(0 0 10px var(--off-white))}.quiz-question-view .quiz-question-title{font-size:1.5em;font-weight:700;margin-bottom:10px}.quiz-question-view .quiz-question-description{margin-bottom:12px}.quiz-view .quiz-submit{margin-bottom:50px}.min-width-cl{min-width:200px;margin-right:20px}.test-failed{color:var(--red);font-weight:700}.test-passed{color:var(--green)}.test-current{color:var(--blue);font-weight:700}.test-summary{margin:8px 0;font-family:var(--default-font);font-weight:700}.test-option{margin-left:12px;font-family:var(--default-font)}.test-option:has(input:disabled){opacity:.5;cursor:not-allowed}.test-passed-group>summary{cursor:pointer;font-family:var(--default-font);color:var(--winter-blue-very-dark)}.test-passed-group{margin:4px 0}.test-menu{overflow-y:auto;overflow-x:hidden;width:100vw;height:100vh;padding:12px;scrollbar-width:thin;scrollbar-color:var(--winter-blue-semi-light) var(--winter-blue-light)}.test-menu .preview{width:80%;height:40%;border-radius:12px}.code{font-family:monospace;font-size:1em}.quiz-game-show{width:350px;height:240px;border-radius:24px;overflow:hidden;float:right;margin:12px;filter:drop-shadow(1px 1px 5px var(--winter-blue-light))}.quiz-editor-show{width:calc(100% - 400px);height:20em;float:left;margin:12px 0;border-radius:6px;overflow:hidden}.turn-position-tooltip-marker{font-weight:700;font-size:1.5em;font-style:normal}.tutorial-content{font-size:1.15rem;line-height:1.7}.tutorial-content,.tutorial-content *{box-sizing:border-box}.tutorial-content>*{max-width:min(70rem,100%);margin-left:auto;margin-right:auto}.tutorial-content p,.tutorial-content li{text-align:left}.tutorial-content h1{font-size:1.9rem}.tutorial-content h2{font-size:1.55rem;margin-top:1.4em}.tutorial-content h3{font-size:1.25rem}.tutorial-content li{margin-bottom:.35em}.tutorial-content code,.tutorial-content pre{font-size:1rem;overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none}.tutorial-content pre,.tutorial-content table{max-width:100%;overflow-x:auto}.tutorial-content .tut-block{margin-bottom:1.6em}.tutorial-content .tut-heading{margin-bottom:.5em;color:var(--winter-blue-very-dark)}.tutorial-content .tut-subheading{margin:.2em 0 .5em;padding-inline:1.5rem;color:var(--winter-blue-very-dark)}.tutorial-content .tut-body{display:flex;padding-inline:1.5rem;text-align:left}.tutorial-content .tut-body--flush{padding-inline:0}.tutorial-content .tut-body>p:first-child{margin-top:0}.tutorial-content .tut-body>p:last-child{margin-bottom:0}.tutorial-content .tut-caption{font-size:.95em;color:var(--winter-blue-very-dark);margin-bottom:.35em}.tutorial-content .tut-caption i{font-weight:700;font-style:normal;margin-right:.15em}.tutorial-content .tut-caption i:after{content:":"}.tutorial-content .tut-description{margin-top:.6em;font-size:.97em;text-align:left}.tutorial-content .tut-description>p:first-child{margin-top:0}.tutorial-content .tut-description>p:last-child{margin-bottom:0}.tutorial-content .tut-inline-code{display:inline;font-family:Fira Mono,JetBrains Mono,Cascadia Mono,Consolas,DejaVu Sans Mono,monospace;font-size:.9em;color:var(--off-black);background:var(--winter-blue-light);border:1px solid var(--winter-blue-semi-light);border-radius:6px;padding:.1em .4em;white-space:nowrap}.tutorial-content .tut-table{width:100%;max-width:100%;overflow-x:auto;border:1.5px solid var(--winter-blue-semi-light);border-radius:12px;background:var(--off-white);box-shadow:0 1px 2px var(--soft-shadow)}.tutorial-content .tut-table table{width:100%;border-collapse:collapse;margin:0;overflow:visible}.tutorial-content .tut-table th{background:var(--winter-blue-light);color:var(--winter-blue-very-dark);font-weight:700;text-align:left;padding:.55em 1.1em;border-bottom:1.5px solid var(--winter-blue-semi-light)}.tutorial-content .tut-table td{padding:.7em 1.1em;vertical-align:top;border-bottom:1px solid #e6efee}.tutorial-content .tut-table tbody tr:last-child td{border-bottom:none}.tutorial-content .tut-table tbody tr:nth-child(2n) td{background:#f7fbfa}.tutorial-content .tut-table td>p,.tutorial-content .tut-table th>p{margin:0}.tutorial-content .tut-code{width:100%;box-sizing:border-box;overflow:hidden;border:1.5px solid var(--winter-blue-semi-light);border-radius:12px;background:#f4f4f4;box-shadow:0 1px 2px var(--soft-shadow);padding:0}.tutorial-content .tut-code .editor-container-outer,.tutorial-content .tut-code .editor-container{width:100%;height:100%}.tutorial-content .tut-definition{box-sizing:border-box;padding:.9em 1.4em 1em;background:#f4faf9;border-left:5px solid var(--winter-blue-dark);border-radius:10px;text-align:left}.tutorial-content .tut-definition-title{font-weight:700;font-size:1.05em;color:var(--winter-blue-very-dark);margin-bottom:.3em}.tutorial-content .tut-definition-title>p,.tutorial-content .tut-definition>p:last-child{margin:0}.tutorial-content .tut-definition>p:first-of-type{margin-top:0}@media(max-width:700px){.tutorial-content{font-size:1.05rem}.tutorial-content .tut-body,.tutorial-content .tut-subheading{padding-inline:.5rem}}.documentation-modal{display:flex;flex-direction:column;min-height:0;width:100%;max-height:100%}.documentation-modal-header{display:flex;align-items:center;gap:1rem;padding:.25rem 1.5rem .75rem;border-bottom:2px solid var(--winter-blue-semi-light);color:var(--off-black)}.documentation-modal-header img{height:56px}.documentation-modal-kicker{font-size:.9rem;font-weight:700;letter-spacing:.02em;color:var(--winter-blue-very-dark)}.documentation-modal-header h2{margin:0;font-size:1.5rem;line-height:1.25}.documentation-modal-content{flex:0 1 auto;min-height:0;font-size:1.25rem;overflow-y:auto;overflow-x:hidden;padding:1.5rem 1.5rem 1.25rem;scrollbar-color:var(--winter-blue-semi-light) transparent}.documentation-modal-content>*{max-width:min(64rem,100%)}.documentation-modal-content .tut-block:last-child{margin-bottom:.5em}.documentation-modal-button{margin-top:.5rem;width:100%}.documentation-modal-window{background:#ffffffd1!important;backdrop-filter:blur(10px) saturate(1.2);-webkit-backdrop-filter:blur(10px) saturate(1.2)}.documentation-modal-content .tut-table,.documentation-modal-content .tut-code{background-color:#ffffffb3}.error-boundary{max-width:40em;margin:10vh auto;padding:24px;font-family:var(--default-font);background:var(--off-white);border:1px solid var(--winter-blue-medium);border-radius:12px}.error-boundary pre{overflow-x:auto;padding:8px;background:var(--winter-blue-light);border-radius:6px}.level-card-best{display:flex;flex-direction:column;align-items:center;gap:1px;margin-top:4px;font-size:.85em;line-height:1.35}.quiz-mode-backup{display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin-top:6px;font-size:.8em}.level-stats-toggle{position:absolute;top:12px;right:12px;z-index:5;display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border:1px solid var(--winter-blue-medium);border-radius:9px;background-color:var(--off-white);color:var(--winter-blue-very-dark);font-family:var(--default-font);font-size:14px;cursor:pointer;opacity:.7;transition:ease-in .15s}.level-stats-toggle:hover{opacity:1}.level-stats-toggle.level-stats-toggle-active{background-color:var(--winter-blue-medium);opacity:1}.game-end-modal.game-end-won{filter:drop-shadow(0 0 18px rgba(224,247,250,.85));animation:pop-in-from-center .48s cubic-bezier(.16,1.5,.3,1),small-wobble 22s infinite,impact-shake .32s .3s cubic-bezier(.36,.07,.19,.97),won-glow 2.6s ease-in-out .62s infinite}@keyframes impact-shake{0%{transform:translate(-50%,-50%) rotate(0)}20%{transform:translate(calc(-50% - 4px),calc(-50% + 2px)) rotate(-.55deg)}40%{transform:translate(calc(-50% + 3px),calc(-50% - 2px)) rotate(.45deg)}60%{transform:translate(calc(-50% - 2px),calc(-50% + 1px)) rotate(-.3deg)}80%{transform:translate(calc(-50% + 1px),-50%) rotate(.15deg)}to{transform:translate(-50%,-50%) rotate(0)}}@keyframes won-glow{0%,to{filter:drop-shadow(0 0 12px rgba(224,247,250,.55))}50%{filter:drop-shadow(0 0 34px rgba(255,255,255,.95))}}.game-end-won .result-image{filter:drop-shadow(0 0 12px rgba(255,255,255,.95))}.game-end-won center:before{content:"";position:absolute;top:22%;left:50%;width:14rem;height:14rem;margin:-7rem 0 0 -7rem;border-radius:50%;background:radial-gradient(circle,#fffffff2,#b2dfdb59 45%,#b2dfdb00 68%);pointer-events:none;animation:won-burst .82s ease-out .3s both}@keyframes won-burst{0%{opacity:0;transform:scale(.15)}25%{opacity:1}to{opacity:0;transform:scale(2.6)}}.game-end-confetti{position:fixed;inset:0;z-index:2000;overflow:hidden;pointer-events:none}.game-end-confetti span{position:absolute;top:46%;left:50%;width:14px;height:20px;margin:-10px 0 0 -7px;border-radius:3px;background:var(--winter-blue-medium);box-shadow:0 1px 3px #00000040;animation:confetti-out 2.1s cubic-bezier(.1,.68,.3,1) both;animation-delay:calc(var(--i) * 9ms + .22s)}.game-end-confetti span:nth-child(3n){background:var(--off-white)}.game-end-confetti span:nth-child(3n+1){background:var(--winter-blue-dark)}.game-end-confetti span:nth-child(5n){background:var(--waddle-navy)}.game-end-confetti span:nth-child(4n){width:11px;height:11px;border-radius:50%}.game-end-confetti span:nth-child(2n){--reach: 34vh}.game-end-confetti span:nth-child(3n){--fall: 9vh}.game-end-confetti span:nth-child(5n){--fall: 3vh}@keyframes confetti-out{0%{opacity:0;top:46%;transform:rotate(calc(var(--i) * 8deg)) translateY(0) scale(.2)}12%{opacity:1}70%{opacity:1}to{opacity:0;top:calc(46% + var(--fall, 6vh));transform:rotate(calc(var(--i) * 8deg)) translateY(calc(-1 * var(--reach, 62vh))) scale(1) rotate(260deg)}}.game-end-won:after,.game-end-won:before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:32px}.game-end-won:after{background:radial-gradient(circle,#fff 55%,transparent 60%) 16% 26% / 5px 5px no-repeat,radial-gradient(circle,#e0f7fa 55%,transparent 60%) 84% 32% / 4px 4px no-repeat,radial-gradient(circle,#fff 55%,transparent 60%) 27% 68% / 6px 6px no-repeat,radial-gradient(circle,#fff 55%,transparent 60%) 90% 62% / 3px 3px no-repeat;animation:sparkle-twinkle 1.9s ease-in-out .7s infinite}.game-end-won:before{background:radial-gradient(circle,#fff 55%,transparent 60%) 8% 52% / 4px 4px no-repeat,radial-gradient(circle,#fff 55%,transparent 60%) 66% 18% / 5px 5px no-repeat,radial-gradient(circle,#e0f7fa 55%,transparent 60%) 45% 80% / 4px 4px no-repeat,radial-gradient(circle,#fff 55%,transparent 60%) 74% 76% / 6px 6px no-repeat;animation:sparkle-twinkle 2.7s ease-in-out 1.1s infinite}@keyframes sparkle-twinkle{0%,to{opacity:.12;transform:scale(.85)}45%{opacity:.95;transform:scale(1.06)}70%{opacity:.35;transform:scale(.95)}}@media(prefers-reduced-motion:reduce){.game-end-modal.game-end-won,.game-end-won center:before,.game-end-confetti span,.game-end-won:after,.game-end-won:before{animation:none}.game-end-confetti{display:none}}.editor-readonly-hint{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 6px 4px;padding:7px 10px;border-radius:9px;background-color:var(--winter-blue-semi-light);color:var(--winter-blue-very-dark);font-family:var(--default-font);font-size:13px}.editor-readonly-hint .editor-header-button{width:auto;margin:0;padding:3px 10px;opacity:1;font-size:13px}.program-error{display:inline-flex;align-items:center;gap:6px;margin:5px;padding:4px 10px;border-radius:9px;background-color:var(--red);color:var(--off-white);font-family:var(--default-font);font-size:13px;font-weight:700;-webkit-user-select:none;user-select:none;animation:program-finished-in .25s ease-out}.level-tour{position:fixed;inset:0;z-index:3000;pointer-events:none}.level-tour-ring{position:fixed;box-sizing:border-box;border:3px solid var(--yellow);border-radius:12px;box-shadow:0 0 0 9999px #22545073;pointer-events:none}.level-tour-backdrop{position:fixed;inset:0;background:#22545073;pointer-events:auto}.level-tour-blocker{position:fixed;pointer-events:auto}.level-tour-card{position:fixed;display:flex;gap:10px;width:26em;max-width:min(92vw,30em);padding:14px 16px;border-radius:14px;background:var(--off-white);color:var(--off-black);border:2px solid var(--winter-blue-medium);box-shadow:0 8px 24px #22545040;pointer-events:auto;font-family:var(--default-font)}.level-tour-penguin{flex:none;align-self:flex-start;width:52px;height:auto;image-rendering:pixelated;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.level-tour-body{flex:1;min-width:0}.level-tour-progress{font-size:12px;color:var(--winter-blue-very-dark);opacity:.65;-webkit-user-select:none;user-select:none}.level-tour-title{margin:2px 0 6px;font-size:19px;color:var(--winter-blue-very-dark)}.level-tour-text{margin:0;font-size:15px;line-height:1.4;-webkit-hyphens:auto;hyphens:auto}.level-tour-text code{padding:1px 4px;border-radius:5px;background:var(--winter-blue-light);font-size:14px}.level-tour-wait{display:flex;align-items:center;gap:8px;margin:10px 0 0;padding:7px 10px;border-radius:9px;background:var(--winter-blue-light);font-size:13px;color:var(--winter-blue-very-dark)}.level-tour-wait-dot{flex:none;width:9px;height:9px;border-radius:50%;background:var(--winter-blue-dark);animation:level-tour-wait-dot 1.2s ease-in-out infinite}@keyframes level-tour-wait-dot{0%,to{transform:scale(.7);opacity:.5}50%{transform:scale(1.15);opacity:1}}.level-tour-controls{display:flex;align-items:center;gap:8px;margin-top:12px}.level-tour-button{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:none;border-radius:9px;background:var(--winter-blue-semi-light);color:var(--off-black);font-family:var(--default-font);font-size:14px;white-space:nowrap;cursor:pointer;transition:ease-in .15s}.level-tour-button:hover:not(:disabled){background:var(--winter-blue-medium)}.level-tour-button:disabled{opacity:.35;cursor:default}.level-tour-button-primary{background:var(--winter-blue-medium);font-weight:700}.level-tour-button-primary:hover:not(:disabled){background:var(--winter-blue-dark)}.level-tour-skip{padding:0;border:none;background:none;color:var(--winter-blue-very-dark);font-family:var(--default-font);font-size:12px;text-decoration:underline;opacity:.7;cursor:pointer}.level-tour-skip:hover{opacity:1}@media(prefers-reduced-motion:reduce){.level-tour-wait-dot{animation:none}}.error-boundary-stack{max-height:40vh;overflow:auto;padding:10px 12px;border-radius:9px;background:var(--winter-blue-light);font-size:12px;line-height:1.45;text-align:left;white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text}.level-tour-mark{position:fixed;box-sizing:border-box;border:3px solid var(--yellow);border-radius:10px;pointer-events:none;animation:level-tour-mark-pulse 1.6s ease-in-out infinite}@keyframes level-tour-mark-pulse{0%,to{box-shadow:0 0 #ffeb3b8c}50%{box-shadow:0 0 0 9px #ffeb3b00}}@media(prefers-reduced-motion:reduce){.level-tour-mark{animation:none}}.app-loading{margin:10vh auto;font-family:var(--default-font);color:var(--winter-blue-medium);text-align:center}.editor-plain-fallback{position:absolute;inset:0;z-index:1;background:#f4f4f4;margin:0;padding:0 0 0 2.6em;font-family:Fira Mono,JetBrains Mono,Cascadia Mono,Consolas,DejaVu Sans Mono,monospace;font-size:14px;line-height:19px;color:var(--off-black);white-space:pre;overflow-x:auto}.code-editor-loading{padding:12px;font-family:var(--default-font);color:var(--winter-blue-medium);background:var(--winter-blue-light);border-radius:6px}
