@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fredoka-latin-500-normal-B0JifZgm.woff2)format("woff2"),url(/assets/fredoka-latin-500-normal-BL692wg7.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2)format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2)format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff)format("woff")}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.grid{display:grid}.hidden{display:none}.inline{display:inline}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}:root{color:#263d45;--ink:#263d45;--cream:#fff3d6;--forward:#f7d774;--warning:#943044;--edge:#756647;background:#a8e6e1;font-family:Inter,sans-serif;font-weight:500}*{box-sizing:border-box}body{min-width:280px;margin:0}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}button,select{font:inherit;color:inherit;touch-action:manipulation;min-width:44px;min-height:44px}button{cursor:pointer}button:focus-visible,select:focus-visible{outline:3px dashed var(--ink);outline-offset:4px}button:disabled,select:disabled{cursor:default}button:disabled:not(.command-block,.repeat-select,.insert-slot),select:disabled{opacity:.55}button:active:not(:disabled):not(:focus-visible){transform:translateY(2px)}svg{flex-shrink:0}h1,h2,p{margin:0}h2,.wordmark{font-family:Fredoka,sans-serif;font-weight:500}h2{font-size:1.25rem;line-height:1.2}.wordmark{letter-spacing:-.035em;color:#30485e;text-shadow:0 3px #e0f7ef;font-size:clamp(1.7rem,3.5vw,3rem);line-height:1.1}.journey-shell{width:min(100%,880px);min-height:100svh;margin:auto;padding:28px 20px}.title-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:24px;display:flex}.title-screen .wordmark{font-size:clamp(2.5rem,8vw,4.5rem)}.journey-shell h1:not(.wordmark){margin:24px 0;font:500 2rem Fredoka,sans-serif}.journey-primary,.journey-secondary{border:2px solid var(--edge);background:var(--cream);border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-weight:700;display:inline-flex}.journey-primary{background:var(--forward);box-shadow:0 4px var(--edge);font-size:1.25rem}.title-screen .journey-primary{min-width:180px}.journey-secondary{background:#fff9e9}.journey-shell h1:focus{outline:none}.complete-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:20px;display:flex}.complete-screen h1{justify-content:center;align-items:center;gap:12px;display:flex}.expedition-route{gap:16px;margin:28px 0;padding:0;list-style:none;display:grid}.expedition-route li{position:relative}.expedition-route li:not(:last-child):after{content:"";border-left:3px solid #588c88;height:16px;position:absolute;top:100%;left:35px}.stage-node{text-align:left;background:var(--cream);border:2px solid var(--edge);border-bottom-width:5px;border-radius:12px;align-items:center;gap:16px;width:100%;padding:12px;display:flex}.stage-node.current{border-color:var(--ink);background:var(--forward)}.stage-node.completed{background:#f0fbee;border-color:#4f774b}.stage-node.locked:disabled{opacity:1;background:#d8e9e5;border-color:#607c79}.stage-number{border:2px solid;border-radius:8px;flex:0 0 44px;place-items:center;width:44px;min-height:44px;font:500 1.5rem Fredoka,sans-serif;display:grid}.stage-description{flex:1;gap:4px;min-width:0;display:grid}.stage-description strong{font-size:1.1rem}.stage-state{align-items:center;gap:6px;display:flex}.stage-state svg{width:22px;height:22px}.progress-options{margin-top:24px}.progress-options summary{cursor:pointer;width:max-content;min-width:44px;min-height:44px;padding:12px;font-weight:700}.progress-options summary:focus-visible{outline:3px dashed var(--ink);outline-offset:4px}.progress-reset{flex-wrap:wrap;gap:12px;padding:12px 0;display:flex}.progress-reset p{flex-basis:100%}@media (width<=540px){.journey-shell{padding:20px 16px}.stage-node{grid-template-columns:44px minmax(0,1fr);gap:8px 12px;display:grid}.stage-number{grid-row:1/3}.stage-state{grid-column:2}}@media (prefers-reduced-motion:reduce){button:active:not(:disabled){transform:none}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}.journey-shell.title-screen{isolation:isolate;color:#173353;background:#93e4e8;width:100%;height:100svh;min-height:620px;padding:0;display:block;position:relative;overflow:hidden}.title-diorama{pointer-events:none;position:absolute;inset:0}.title-controls{z-index:1;text-align:center;flex-direction:column;align-items:center;padding-top:min(11.7svh,6.6vw);display:flex;position:relative}.title-screen .wordmark{letter-spacing:-.035em;color:#172f50;-webkit-text-stroke:min(.42vw, .74svh) #fffdf6;paint-order:stroke fill;text-shadow:0 6px #74cdd6;margin:0;font-family:Fredoka Title,Fredoka,sans-serif;font-size:min(8vw,14.21svh);font-weight:700;line-height:.9}.title-controls>p{margin:min(.55vw,.98svh) 16px min(1.45vw,2.58svh);font:500 min(1.8vw,3.2svh)/1.35 Fredoka,sans-serif}.title-screen .journey-primary,.title-screen .journey-secondary{border:2px solid #3b5060;font-family:Fredoka Title,Fredoka,sans-serif;font-weight:600;transition:transform .12s ease-out,box-shadow .12s ease-out,filter .12s ease-out}.title-screen .journey-primary{background:linear-gradient(110deg,#ffdf49,#ffda35);border-radius:min(1.5vw,2.66svh);width:min(22.1vw,39.27svh);min-width:0;height:min(5.5vw,9.78svh);padding:0 20px;font-size:min(2.5vw,4.44svh);box-shadow:inset 0 4px #fff5bc,inset 0 -5px #f4b833,0 6px #69bdc5}.title-screen .journey-secondary{background:#fff5df;border-radius:min(1.25vw,2.22svh);gap:min(1.05vw,1.87svh);width:min(16.4vw,29.14svh);height:min(4.6vw,8.17svh);margin-top:min(1.3vw,2.31svh);padding:0 16px;font-size:min(1.8vw,3.2svh);box-shadow:inset 0 3px #fffdf6,inset 0 -4px #ddd5bf,0 6px #70bfc5}.title-screen .journey-secondary svg{stroke-width:2px;width:min(2.5vw,4.44svh);height:min(2.5vw,4.44svh)}.title-screen button:active:not(:disabled){transform:translateY(4px);box-shadow:inset 0 -2px #d2ae43,0 2px #69bdc5}.title-screen button:focus-visible{outline-offset:7px;outline:3px solid #173353!important}.title-scene-status{text-align:center;width:100%;font-size:14px;position:absolute;bottom:20px}@media (hover:hover) and (pointer:fine){.title-screen button:hover{filter:brightness(1.04)}}@media (width<=600px){.journey-shell.title-screen{min-height:640px}.title-controls{padding:max(56px,9svh) 16px 0}.title-screen .wordmark{-webkit-text-stroke:4px #fffdf6;text-shadow:0 4px #74cdd6;font-size:clamp(44px,14.2vw,70px);line-height:1.1}.title-controls>p{text-wrap:balance;max-width:290px;margin:15px 0 24px;font-size:20px;line-height:1.3}.title-screen .journey-primary{border-radius:19px;width:224px;height:66px;font-size:31px}.title-screen .journey-secondary{border-radius:16px;gap:12px;width:194px;height:58px;margin-top:18px;font-size:24px}.title-screen .journey-secondary svg{width:30px;height:30px}}@media (width<=350px){.title-controls{padding-top:max(42px,7svh)}.title-controls>p{margin-bottom:20px;font-size:18px}.title-screen .journey-primary{width:210px;height:60px;font-size:29px}.title-screen .journey-secondary{width:184px;height:54px;font-size:22px}}@media (prefers-reduced-motion:reduce){.title-screen button{transition:none}}@font-face{font-family:Fredoka Title;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fredoka-latin-600-normal-C4zohCW5.woff2)format("woff2")}@font-face{font-family:Fredoka Title;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fredoka-latin-700-normal-BOIZVyIN.woff2)format("woff2")}.game-shell{--cream:#fff7e5;--piece:56px;isolation:isolate;height:100dvh;min-height:540px;padding:max(14px, env(safe-area-inset-top)) 12px max(18px, env(safe-area-inset-bottom));background:#8adfe0;grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:relative}.game-header{z-index:5;justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex;position:relative}.puzzle-exit,.fish-progress,.lesson-options summary{background:var(--cream);border:1px solid #fffdf5;border-radius:999px;height:46px;min-height:46px;box-shadow:0 3px #d9cfb5}.puzzle-exit{justify-content:center;align-items:center;gap:10px;width:46px;padding:0;display:flex}.puzzle-exit svg{color:#16847c;stroke-width:2.6px;width:25px;height:25px}.puzzle-exit span{display:none}.header-actions{align-items:center;gap:9px;min-width:0;display:flex}.fish-progress{white-space:nowrap;align-items:center;gap:7px;height:auto;padding:6px 13px;font:500 1.1rem/1 Fredoka,sans-serif;display:flex}.fish-icon{flex-shrink:0;width:33px;height:25px}.all-collected{background:#f0f6df}.lesson-options{position:relative}.lesson-options summary{cursor:pointer;place-items:center;width:46px;list-style:none;display:grid}.lesson-options summary::-webkit-details-marker{display:none}.lesson-options summary svg{stroke-width:3px;width:25px;height:25px}.lesson-options-list{background:var(--cream);border:1px solid #d9cfb5;border-radius:18px;gap:4px;width:max-content;max-width:calc(100vw - 24px);padding:8px;display:grid;position:absolute;top:calc(100% + 12px);right:0;box-shadow:0 3px #d9cfb5}.lesson-options-list button{text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;padding:9px 14px;display:flex}.lesson-options-list button svg{width:24px;height:24px}.world-area{min-width:0;min-height:0}.board-scene{z-index:0;position:absolute;inset:0}.scene-loading,.scene-fallback{text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:20px;display:flex;position:absolute;inset:0}.scene-fallback button{pointer-events:auto;background:var(--cream);border:2px solid var(--ink);border-radius:12px;padding:10px 20px}.feedback{z-index:1;left:50%;top:var(--feedback-center,70%);background:var(--cream);border:1px solid #fffdf6;border-radius:999px;justify-content:center;align-items:center;gap:9px;width:max-content;max-width:calc(100% - 24px);min-height:44px;padding:7px 15px;font:500 1rem/1.2 Fredoka,sans-serif;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 3px #d9cfb5}.feedback[data-visible=false]{visibility:hidden}.feedback p{white-space:nowrap}.feedback-symbol{flex:0 0 26px;place-items:center;width:26px;height:26px;display:grid}.feedback-symbol svg{width:26px;height:26px}.feedback-symbol .fish-icon{width:34px}.feedback-full{display:none}.feedback.completed{color:#315a37;background:#f0f6df}.feedback.failed{color:#863b37;background:#fff0e5}.feedback.finished{color:#795717}.workbench{z-index:3;background:var(--cream);border:2px solid #fffcf4;border-bottom:5px solid #d9cfb5;border-radius:30px;justify-self:center;width:100%;min-width:0;max-width:1240px;padding:12px 12px 14px;position:relative;box-shadow:0 8px 20px #286d6a12}.command-dock{min-width:0}.dock-main{align-items:center;gap:10px;min-width:0;height:74px;display:flex}.program-area{flex:1;min-width:0}.program-sequence{overscroll-behavior-x:contain;scrollbar-width:none;touch-action:pan-x;min-width:0;overflow-x:auto}.program-sequence::-webkit-scrollbar{display:none}.program-list{align-items:center;gap:9px;width:max-content;min-width:100%;min-height:74px;margin:0;padding:7px 12px 9px 2px;list-style:none;display:flex}.program-list li{flex:none;display:flex}.puzzle-block{--block:#ffda75;--piece-edge:#c99e39;color:#30464b;background:var(--block);border:1px solid #fff6;border-bottom:2px solid var(--piece-edge);box-shadow:0 4px var(--piece-edge), inset 0 2px #fff5;border-radius:13px;position:relative}.puzzle-block:after{content:"";border-bottom:3px solid var(--piece-edge);background:var(--block);pointer-events:none;border-radius:0 8px 8px 0;width:10px;height:21px;position:absolute;top:50%;right:-9px;transform:translateY(-50%)}.forward{--block:#ffda75;--piece-edge:#c99e39}.turn-left{--block:#82d6d0;--piece-edge:#3d9e9a}.turn-right{--block:#f3ae8e;--piece-edge:#c27b58}.repeat{--block:#c8b8e8;--piece-edge:#9680be}.command-block{flex-direction:column;flex:0 0 var(--piece);width:var(--piece);height:var(--piece);justify-content:center;align-items:center;padding:7px 3px 3px;display:flex}.command-icon{width:32px;height:32px}.command-number{font:500 11px/1 Fredoka,sans-serif;position:absolute;top:3px;left:5px}.repeat-select{gap:0;padding:4px}.repeat-select .command-icon{width:26px;height:26px}.repeat-count{font:500 14px/1 Fredoka,sans-serif}.command-block[aria-pressed=true]{outline:3px solid var(--ink);outline-offset:2px}.active-command,.completed-command{outline-offset:2px;outline:3px solid #355e3d}.failed-command{outline-offset:2px;outline:3px solid #943044}.block-state{color:#fff;background:#355e3d;border-radius:5px;place-items:center;min-width:19px;height:19px;font-size:12px;display:grid;position:absolute;top:2px;right:2px}.failed-command .block-state{background:#943044}.insert-slot{color:#796a4c;background:0 0;border:1.5px dashed #9e8e6e;border-radius:12px;flex:0 0 44px;place-items:center;width:44px;height:54px;padding:0;display:grid}.insert-slot svg{width:24px;height:24px}.insert-slot[aria-expanded=true]{border-color:var(--ink);background:#f0e6cc}.scope-back{color:#58416d;background:#ece0f4;border:0;border-radius:10px;flex-direction:column;flex:0 0 44px;justify-content:center;align-items:center;gap:1px;width:44px;height:56px;padding:0;display:flex}.scope-back svg{width:22px;height:22px}.scope-back span{font:500 14px/1 Fredoka,sans-serif}.dock-primary{flex:none}.controls-area{align-items:center;gap:6px;display:flex}.controls-area button{border-radius:50%;place-items:center;padding:0;display:grid}.run-button{color:#fffaf0;background:#ff9d29;border:2px solid #ffbe59;order:2;width:68px;min-width:68px;height:68px;box-shadow:0 4px #d76d17,inset 0 2px #ffd079}.run-button .control-icon{stroke:#6d390f;stroke-width:1.2px;width:37px;height:37px}.stop-button{background:#df873d}.step-button{color:#71664e;background:#f1e7ce;border:1px solid #e0d3b5;order:1;width:44px;height:44px;box-shadow:0 3px #d9cfb5}.step-button .control-icon{width:25px;height:25px}.run-label,.step-label{display:none}.lesson-scaffold{display:contents}.next-lesson,.continue-lesson{color:#fffdf4;background:#467345;border:1px solid #365d35;border-radius:999px;justify-content:center;align-items:center;gap:7px;min-height:54px;padding:8px 14px;font:500 1.1rem/1.1 Fredoka,sans-serif;display:inline-flex;box-shadow:0 4px #2f532f}.next-lesson svg,.continue-lesson svg{width:22px;height:22px}.journey-complete{align-items:center;gap:8px;font:500 1rem Fredoka,sans-serif;display:inline-flex}.journey-complete svg{width:24px;height:24px}.dock-context{overscroll-behavior-x:contain;scrollbar-width:none;white-space:nowrap;border-top:1px solid #e0d4b9;justify-content:flex-start;align-items:center;gap:6px;width:100%;height:58px;margin-top:7px;padding-top:7px;display:flex;overflow-x:auto}.dock-context>button{background:0 0;border:0;border-radius:10px;flex:0 0 44px;place-items:center;width:44px;height:44px;padding:0;display:grid}.dock-context>button svg{width:25px;height:25px}.dock-context>button:has(.tool-label){flex-direction:column;flex-basis:max(44px,3rem);justify-content:center;width:max(44px,3rem);display:flex}.dock-context>button:has(.tool-label) svg{width:20px;height:20px}.tool-label{font:500 .75rem/1 Fredoka,sans-serif}.dock-context>.delete-selected{color:#863b37}.dock-context .close-tools{color:#7d725e;margin-left:auto}.palette-area{flex:1 0 auto;min-width:0}.palette-commands{justify-content:center;align-items:center;gap:14px;padding-right:10px;display:flex}.palette-command{--palette-icon:clamp(18px,calc(44px - .75rem),23px);border-radius:9px;flex-direction:column;flex:0 0 max(48px,3.1rem);justify-content:center;align-items:center;gap:0;width:max(48px,3.1rem);height:50px;padding:2px;display:flex}.palette-command .command-icon{width:var(--palette-icon);height:var(--palette-icon)}.palette-command span{font:500 .75rem/1 Fredoka,sans-serif}.palette-command:after{width:8px;height:16px;right:-7px}.palette-note{font-size:1rem}.repeat-counter{flex:none;align-items:center;gap:2px;display:flex}.repeat-counter button{color:#58416d;background:#ece0f4;border:0;border-radius:10px;flex:0 0 44px;width:44px;height:44px;padding:0;font-size:24px}.repeat-counter button[aria-disabled=true]{opacity:.45}.repeat-counter output{text-align:center;min-width:max(36px,1.8rem);font:500 1.1rem/1 Fredoka,sans-serif}.ghost-hand{z-index:10;pointer-events:none;width:52px;height:52px;transition:transform .5s cubic-bezier(.23,1,.32,1);position:fixed;top:0;left:0}.ghost-hand img{filter:drop-shadow(0 3px 2px #263d4540);width:100%;height:auto;display:block}.tutorial-spotlight{z-index:8;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.spotlight-ring{fill:none;stroke:#fff2aa;stroke-width:3px}.instruction-focus{outline-offset:3px;outline:3px dotted #465a5a;transition:opacity .16s cubic-bezier(.23,1,.32,1)}.instruction-focus.tutorial-nudge{opacity:.65}.palette-commands.instruction-focus{outline:none}.palette-commands.instruction-focus button{outline-offset:2px;outline:3px dotted #465a5a}.game-shell .instruction-focus:disabled{opacity:1}.drag-preview{z-index:20;pointer-events:none;place-items:center;width:56px;height:56px;display:grid;position:fixed;transform:translate(-50%,-65%)rotate(-5deg)}.command-dock [data-draggable=true]{touch-action:none;-webkit-user-select:none;user-select:none}.command-dock button:focus-visible,.program-sequence:focus-visible,.game-header :focus-visible{outline-offset:3px;outline:3px solid #234c64}@media (width>=721px){.game-shell{--piece:78px;padding:24px 32px 28px}.puzzle-exit,.fish-progress,.lesson-options summary{height:58px;min-height:58px}.puzzle-exit{width:auto;padding:0 22px;font:500 1.25rem Fredoka,sans-serif}.puzzle-exit span{display:inline}.fish-progress{gap:12px;padding:8px 20px;font-size:1.5rem}.fish-icon{width:44px;height:32px}.lesson-options summary{width:58px}.workbench{border-radius:38px;padding:18px 24px 21px}.dock-main{gap:24px;height:104px}.program-list{gap:13px;min-height:104px;padding:9px 14px 12px 4px}.command-block .command-icon{width:44px;height:44px}.command-number{font-size:13px;top:5px;left:7px}.repeat-select .command-icon{width:36px;height:36px}.repeat-count{font-size:18px}.insert-slot{flex-basis:60px;width:60px;height:74px}.run-button{width:98px;min-width:98px;height:98px}.run-button .control-icon{width:52px;height:52px}.controls-area{gap:14px}.step-button{width:58px;height:58px}.step-button .control-icon{width:30px;height:30px}.scope-back{flex-basis:52px;gap:4px;width:52px;height:76px}.scope-back span{font-size:17px}.dock-context{justify-content:flex-start;gap:12px;height:66px;margin-top:10px;padding-top:10px}.palette-area{flex:none}.palette-command{flex-basis:max(58px,3.1rem);width:max(58px,3.1rem)}.feedback{min-height:50px;padding:8px 20px;font-size:1.15rem}.feedback-full{display:inline}.feedback-short{display:none}.next-lesson,.continue-lesson{min-height:68px;padding:10px 24px;font-size:1.4rem}}@media (width<=360px){.game-shell{padding-inline:8px}.workbench{padding-inline:10px}.dock-main{gap:7px}.palette-commands{gap:10px;padding-right:8px}.palette-command{flex-basis:max(46px,3rem);width:max(46px,3rem)}}@media (prefers-reduced-motion:reduce){.ghost-hand,.game-shell button,.instruction-focus{transition:none}.instruction-focus.tutorial-nudge{opacity:1;outline-style:solid}}
