.example-player[data-v-22a82a42]{margin-top:10px}button[data-v-22a82a42]{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:#f5fbf9;color:#258378;border:1px solid #b6d8d1;border-radius:var(--hoj-ui-radius-md,12px);min-width:40px;min-height:40px;padding:8px 12px;font:inherit;font-size:14px;cursor:pointer}button[data-v-22a82a42]:hover{background:#e6f5ef}button[data-v-22a82a42]:active{transform:translateY(1px)}button[data-v-22a82a42]:disabled{opacity:.5;cursor:not-allowed}button[data-v-22a82a42]:focus-visible{outline:3px solid #428f9d;outline-offset:2px}.example-stage[data-v-22a82a42]{margin-top:10px;aspect-ratio:480/280;overflow:hidden;position:relative;background:#f2f8f9;border-radius:var(--hoj-ui-radius-sm,8px)}.example-world[data-v-22a82a42]{position:absolute;width:480px;height:280px;transform-origin:top left}.example-world iframe[data-v-22a82a42]{position:absolute;left:-360px;top:-90px;width:480px;height:280px;transform:scale(2);transform-origin:top left;border:0}.example-origin[data-v-22a82a42]{position:absolute;left:100px;top:225px;color:#65848a;font-size:14px}.example-motion[data-v-22a82a42]{position:absolute;inset:0;width:480px;height:280px;pointer-events:none}.lifted-note[data-v-22a82a42]{display:block;color:#597e83;font-size:12px;margin:0 0 10px}.example-body p[data-v-22a82a42]{margin:12px 0;color:#507780;font-size:14px;line-height:1.75}.example-replay[data-v-22a82a42]{margin-left:auto}.example-controls[data-v-22a82a42]{display:flex;align-items:center;gap:10px}.example-controls span[data-v-22a82a42]{font-size:12px;color:#507780}.example-code[data-v-22a82a42]{margin:0;padding:12px;background:#f4f8fa;color:#63838a;line-height:1.8;font:14px/1.8 Consolas,monospace;white-space:pre-wrap}.example-code .current[data-v-22a82a42]{color:#146e66;font-weight:700;background:#dfefe8}@media(prefers-reduced-motion:reduce){button[data-v-22a82a42]:active{transform:none}}.turtle-example-dialog{max-width:calc(100vw - 32px);margin-top:7vh!important;border-radius:var(--hoj-ui-radius-lg,16px)}.turtle-example-dialog .el-dialog__body{padding:12px 22px 22px;max-height:78vh;overflow-y:auto}.geometry-workshop[data-v-446fa374]{--geo-ink:#224f60;--geo-accent:#198a80;color:var(--geo-ink);letter-spacing:0;background:#edf8f9;height:calc(100svh - 64px);min-height:660px;display:grid;grid-template-rows:86px minmax(190px,1fr) minmax(338px,44svh) 26px}.geometry-workshop [data-v-446fa374]{box-sizing:border-box}.geometry-workshop button[data-v-446fa374]{font:inherit;cursor:pointer;border:1px solid #c6dee2;border-radius:var(--hoj-ui-radius-md,12px);color:var(--geo-ink);background:#fff;transition:background .18s,box-shadow .18s,transform .12s}.geometry-workshop button[data-v-446fa374]:hover:not(:disabled){background:#eaf8f3;border-color:#87bcb3}.geometry-workshop button[data-v-446fa374]:active:not(:disabled){transform:translateY(1px)}.geometry-workshop button[data-v-446fa374]:disabled{cursor:not-allowed;opacity:.55}.geometry-workshop a[data-v-446fa374]:focus-visible,.geometry-workshop button[data-v-446fa374]:focus-visible{outline:3px solid #bd8e37;outline-offset:2px}.geometry-heading[data-v-446fa374]{display:grid;grid-template-columns:1.08fr 1fr 1.08fr;align-items:center;padding:10px 28px;gap:24px;background:#f7fdff;border-bottom:1px solid #cbe4ea}.geometry-title[data-v-446fa374]{min-width:0}.geometry-title a[data-v-446fa374]{display:inline-flex;align-items:center;gap:7px;color:#567c8c;font-size:12px;text-decoration:none}.geometry-title h1[data-v-446fa374]{display:flex;align-items:center;gap:9px;font-size:24px;margin:7px 0 0;line-height:1.3;white-space:nowrap}.geometry-title small[data-v-446fa374]{font-size:13px;font-weight:400;border-left:1px solid #b9d3dc;padding-left:12px}.geometry-icon[data-v-446fa374]{display:inline-block;flex:0 0 auto;width:25px;height:25px;background:currentColor;mask-repeat:no-repeat;mask-position:center;mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain}.geometry-title .geometry-icon[data-v-446fa374]{color:#239483}.geometry-mission[data-v-446fa374]{display:flex;gap:11px;align-items:center;font-size:13px;line-height:1.6;margin:0}.geometry-mission i[data-v-446fa374]{font-size:24px;color:#51879b}.geometry-stations[data-v-446fa374]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.geometry-stations button[data-v-446fa374]{display:flex;align-items:center;justify-content:center;gap:6px;height:46px;padding:6px;white-space:nowrap;font-size:14px}.geometry-stations button.active[data-v-446fa374]{background:#e8f7f1;color:#13786e;border-color:#198a80;box-shadow:inset 0 -2px #198a80}.geometry-stations button.completed i[data-v-446fa374]{color:#329567}.geometry-stations .geometry-icon[data-v-446fa374]{width:22px;height:22px}.construction-scene[data-v-446fa374]{min-height:0;position:relative;isolation:isolate;background:#c4effb url(/img/turtle-workshop/geometry-town.png) 50%/cover no-repeat;overflow:hidden}.scene-caption[data-v-446fa374]{position:absolute;left:24px;top:20px;padding:12px 15px;background:rgba(246,255,247,.9215686274509803);border-left:3px solid #439e83;max-width:23%}.scene-caption>span[data-v-446fa374]{display:block;font-size:12px;color:#568579}.scene-caption strong[data-v-446fa374]{display:block;font-size:21px;margin-top:7px}.scene-caption p[data-v-446fa374]{margin:8px 0 0;font-size:12px;line-height:1.6}.geometry-stage[data-v-446fa374]{position:absolute;left:25%;width:50%;height:88%;bottom:6%;overflow:hidden;background:rgba(251,253,255,.9098039215686274);border:1px solid #c6e0e9;box-shadow:0 8px 22px rgba(35,81,105,.0784313725490196);border-radius:var(--hoj-ui-radius-sm,8px)}.geometry-world[data-v-446fa374]{width:480px;height:280px;position:absolute;transform-origin:top left;pointer-events:none}.geometry-construction[data-v-446fa374],.geometry-guide[data-v-446fa374]{position:absolute;width:480px;height:280px;inset:0}.geometry-construction[data-v-446fa374]{-webkit-animation:build-material-data-v-446fa374 .85s ease-out both;animation:build-material-data-v-446fa374 .85s ease-out both}.geometry-ink[data-v-446fa374]{position:absolute;inset:0;width:480px;transform-origin:top left}.geometry-engine[data-v-446fa374],.geometry-preview[data-v-446fa374]{width:480px;height:100%;border:0;background:transparent;display:block}.geometry-stage.is-passed[data-v-446fa374]{border-color:#559c75;box-shadow:0 0 0 2px rgba(113,184,152,.30196078431372547),0 8px 22px rgba(35,81,105,.0784313725490196);transition:border-color .2s,box-shadow .2s}.guide-toggle[data-v-446fa374]{position:absolute;right:10px;top:6px;display:flex;gap:5px;align-items:center;font-size:11px;color:#4e7480;cursor:pointer;background:rgba(251,253,255,.9215686274509803);padding:3px}.guide-toggle input[data-v-446fa374]{accent-color:#198a80}.drawing-origin-note[data-v-446fa374]{position:absolute;bottom:6px;right:10px;font-size:11px;color:#4b7280;background:hsla(0,0%,100%,.9294117647058824);padding:3px 5px}.scene-result[data-v-446fa374]{display:flex;align-items:center;gap:8px;max-width:22%;position:absolute;right:16px;bottom:8%;padding:10px 12px;background:hsla(0,0%,100%,.9490196078431372);border-radius:var(--hoj-ui-radius-md,12px);font-size:13px;line-height:1.6;box-shadow:0 3px 12px rgba(32,84,100,.07058823529411765)}.scene-result i[data-v-446fa374]{font-size:22px;color:#3e8892}.scene-result.passed i[data-v-446fa374]{color:#42966c}.scene-result.passed[data-v-446fa374]{-webkit-animation:build-reveal-data-v-446fa374 .35s ease-out both;animation:build-reveal-data-v-446fa374 .35s ease-out both}.canvas-stop[data-v-446fa374],.replay-build[data-v-446fa374]{position:absolute;top:7px;left:8px;display:grid;place-items:center;width:30px;height:30px;padding:0;font-size:18px!important}.canvas-stop[data-v-446fa374]{display:none}.builder-dock[data-v-446fa374]{display:grid;grid-template-columns:minmax(235px,.92fr) minmax(320px,1.45fr) minmax(280px,1fr);gap:16px;padding:14px 22px;min-height:0;background:#faffff;border-top:1px solid #cbe4e5}.builder-notes[data-v-446fa374]{display:flex;flex-direction:column;min-height:0;min-width:0;border-right:1px solid #d8e9ed;padding-right:18px}.builder-notes h2[data-v-446fa374]{display:flex;align-items:center;gap:8px;flex-shrink:0;margin:0 0 8px;font-size:19px;line-height:1.5}.builder-notes h2 i[data-v-446fa374]{color:#b58a27}.notes-scroll[data-v-446fa374]{overflow:auto;flex:1;min-height:0;padding-right:5px;scrollbar-width:thin}.notes-scroll>p[data-v-446fa374]{font-size:15px;line-height:1.8;margin:3px 0 14px}.turn-diagram[data-v-446fa374]{display:block;width:100%;max-width:350px;height:76px;-o-object-fit:contain;object-fit:contain;-o-object-position:left center;object-position:left center;margin:4px 0;background:#f2faf8;border-radius:var(--hoj-ui-radius-sm,8px)}.builder-notes>.example-player[data-v-446fa374]{flex-shrink:0;margin-top:10px}.builder-notes[data-v-446fa374] .example-toggle{font-size:13px;min-height:34px;padding:6px 10px}.builder-editor[data-v-446fa374]{display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden;border:1px solid #cfe3ec;border-radius:var(--hoj-ui-radius-md,12px);background:#fff}.builder-editor>header[data-v-446fa374]{flex:0 0 44px;display:flex;align-items:center;gap:8px;padding:3px 8px;background:#f1f8fb;border-bottom:1px solid #dceaf0}.editor-filename[data-v-446fa374]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700}.builder-editor header>small[data-v-446fa374]{display:none;margin:0;white-space:nowrap;color:#577684;font-size:11px}.builder-editor header>button[data-v-446fa374]{flex:0 0 26px;display:grid;place-items:center;border:0;background:transparent;width:26px;height:28px;padding:0}.geometry-modes[data-v-446fa374]{display:grid;grid-template-columns:1fr 1fr;flex:0 0 200px;gap:2px;padding:2px;border:1px solid #cbdfe3;background:#edf5f7;border-radius:var(--hoj-ui-radius-md,12px)}.geometry-workshop .geometry-modes button[data-v-446fa374]{display:flex;align-items:center;justify-content:center;gap:5px;min-width:0;height:30px;padding:3px 5px;border:1px solid transparent;background:transparent;font-size:13px;border-radius:var(--hoj-ui-radius-sm,8px);white-space:nowrap}.geometry-workshop .geometry-modes button.active[data-v-446fa374]{color:#167768;background:#fff;border-color:#aacfc4;box-shadow:0 1px 3px rgba(40,78,88,.06274509803921569);font-weight:700}.storage-warning[data-v-446fa374]{display:flex;align-items:center;gap:7px;padding:6px 9px;color:#955125;background:#fff2df;font-size:12px;flex-shrink:0}.storage-warning>span[data-v-446fa374]{flex:1}.storage-warning>button[data-v-446fa374]{padding:3px 7px;color:#955125;border-color:#e9c095}.builder-editor[data-v-446fa374] .vue-codemirror-wrap{flex:1;min-height:0;display:flex;flex-direction:column}.builder-editor[data-v-446fa374] .CodeMirror{flex:1;height:100%;font:14px/1.6 Consolas,Microsoft YaHei,monospace;background:#fff}.builder-editor[data-v-446fa374] .CodeMirror-scroll{overflow:auto!important}.builder-editor[data-v-446fa374] .CodeMirror-gutters{background:#f6fafc;border-right:1px solid #e2eef1}.builder-editor[data-v-446fa374] .CodeMirror-linenumber{color:#7c96a5}.builder-editor[data-v-446fa374] .cm-keyword{color:#8b46b8}.builder-editor[data-v-446fa374] .cm-number{color:#b7562a}.builder-editor[data-v-446fa374] .cm-string{color:#328562}.builder-controls[data-v-446fa374]{min-width:0;min-height:0;display:grid;grid-template-rows:44px minmax(0,1fr) 28px 42px;gap:9px}.run-row[data-v-446fa374]{display:flex;gap:10px}.geometry-workshop .geometry-run[data-v-446fa374]{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;background:#198a80;color:#fff;border-color:#198a80;font-size:18px;font-weight:700}.geometry-workshop .geometry-run[data-v-446fa374]:hover:not(:disabled){background:#137a70}.geometry-run i[data-v-446fa374]{font-size:24px}.geometry-stop[data-v-446fa374]{width:44px;font-size:21px!important}.feedback-stack[data-v-446fa374]{min-height:0;display:flex;flex-direction:column;gap:8px}.builder-feedback[data-v-446fa374]{flex:1;min-height:76px;overflow:auto;scrollbar-width:thin;padding:7px 10px;border-left:3px solid #b8d7e0;color:#4b7380}.builder-feedback p[data-v-446fa374]{margin:2px 0;font-size:14px;line-height:1.65}.builder-feedback>small[data-v-446fa374]{display:block;margin-top:5px;font-size:12px;line-height:1.6}.builder-feedback.passed[data-v-446fa374]{border-color:#60a284;background:#f0faf3}.builder-feedback.error[data-v-446fa374]{border-color:#cd8a75;background:#fff8f4}.builder-passed[data-v-446fa374]{display:flex;align-items:center;gap:6px;font-size:14px;color:#287151;margin-bottom:5px}.builder-hint[data-v-446fa374]{flex-shrink:0;margin:0;color:#835526;background:#fff8ec;border-left:3px solid #e3c289;padding:7px 10px;font-size:12px;line-height:1.65}.builder-feedback pre[data-v-446fa374]{font:12px/1.6 Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.builder-feedback summary[data-v-446fa374]{font-size:12px;cursor:pointer;margin-top:4px}.builder-tools[data-v-446fa374]{display:flex;align-items:center;justify-content:space-between;gap:10px}.geometry-workshop .builder-tools button[data-v-446fa374]{display:flex;align-items:center;gap:6px;padding:0 3px;background:none;border:0;font-size:12px;height:28px}.geometry-workshop .geometry-next[data-v-446fa374]{display:flex;align-items:center;justify-content:center;gap:12px;font-size:15px;font-weight:700;background:#ecf7f2;border:1px solid #9dc8b9;color:#217c68;text-align:center}.geometry-workshop .geometry-next[data-v-446fa374]:not(:disabled):hover{background:#dff3e9}.return-workshop[data-v-446fa374]{border-radius:var(--hoj-ui-radius-md,12px);text-decoration:none}.geometry-footer[data-v-446fa374]{display:flex;align-items:center;justify-content:center;gap:12px;font-size:11px;border-top:1px solid #dfebed;background:#f4faf7;color:#5f8380}.geometry-local-progress[data-v-446fa374]{position:absolute;right:25px}@-webkit-keyframes build-reveal-data-v-446fa374{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes build-reveal-data-v-446fa374{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@-webkit-keyframes build-material-data-v-446fa374{0%{opacity:0;-webkit-clip-path:inset(100% 0 0 0);clip-path:inset(100% 0 0 0)}to{opacity:1;-webkit-clip-path:inset(0);clip-path:inset(0)}}@keyframes build-material-data-v-446fa374{0%{opacity:0;-webkit-clip-path:inset(100% 0 0 0);clip-path:inset(100% 0 0 0)}to{opacity:1;-webkit-clip-path:inset(0);clip-path:inset(0)}}@media(min-width:1700px){.builder-dock[data-v-446fa374]{padding:20px 34px;gap:24px}.builder-notes h2[data-v-446fa374]{font-size:21px}.builder-editor header>small[data-v-446fa374]{display:block}.builder-editor[data-v-446fa374] .CodeMirror{font-size:15px}.builder-controls[data-v-446fa374]{grid-template-rows:48px minmax(0,1fr) 30px 44px;gap:12px}}@media(min-width:981px) and (max-width:1250px){.geometry-workshop[data-v-446fa374]{height:calc(100svh - 56px);min-height:558px;grid-template-rows:94px minmax(130px,1fr) 310px 24px}.geometry-heading[data-v-446fa374]{grid-template-columns:1fr 1.1fr;row-gap:5px;padding:8px 18px}.geometry-title h1[data-v-446fa374]{font-size:22px;margin-top:4px}.geometry-mission[data-v-446fa374]{grid-row:2;grid-column:1/-1;font-size:12px}.geometry-mission i[data-v-446fa374]{font-size:16px}.geometry-stations[data-v-446fa374]{grid-column:2;grid-row:1}.geometry-stations button[data-v-446fa374]{height:35px;font-size:13px}.builder-dock[data-v-446fa374]{grid-template-columns:minmax(210px,.88fr) minmax(290px,1.35fr) minmax(260px,1fr);padding:10px 16px;gap:12px}.builder-notes h2[data-v-446fa374]{font-size:16px}.notes-scroll>p[data-v-446fa374]{font-size:13px;line-height:1.8}.builder-feedback p[data-v-446fa374]{font-size:13px}.geometry-modes[data-v-446fa374]{flex-basis:176px}.geometry-workshop .geometry-modes button[data-v-446fa374]{font-size:12px;gap:4px}.scene-caption[data-v-446fa374]{top:8px;left:16px;padding:9px}.scene-caption strong[data-v-446fa374]{font-size:18px}.scene-caption p[data-v-446fa374]{font-size:11px}.scene-result[data-v-446fa374]{font-size:11px;padding:7px;right:10px}}@media(max-width:980px){.geometry-workshop[data-v-446fa374]{height:auto;min-height:calc(100svh - 56px);grid-template-rows:auto 280px auto 32px}.geometry-heading[data-v-446fa374]{grid-template-columns:1fr;padding:14px 18px;gap:12px}.geometry-mission[data-v-446fa374]{grid-row:2;font-size:13px}.geometry-stations[data-v-446fa374]{grid-row:3}.geometry-stage[data-v-446fa374]{left:17%;width:66%;height:78%;bottom:4%}.scene-caption[data-v-446fa374]{display:none}.scene-result[data-v-446fa374]{top:7px;right:12px;bottom:auto;max-width:90%;padding:5px 10px}.builder-dock[data-v-446fa374]{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);padding:16px;gap:20px}.builder-editor[data-v-446fa374]{grid-column:2;grid-row:1/3;min-height:500px}.builder-notes[data-v-446fa374]{grid-column:1;grid-row:1;border:0;padding:0}.builder-controls[data-v-446fa374]{grid-column:1;grid-row:2;min-height:280px}.notes-scroll[data-v-446fa374]{overflow:visible}.notes-scroll>p[data-v-446fa374]{font-size:14px}.geometry-modes[data-v-446fa374]{flex-basis:176px}.geometry-workshop .geometry-modes button[data-v-446fa374]{font-size:12px}.canvas-stop[data-v-446fa374]{display:grid}}@media(max-width:600px){.geometry-workshop[data-v-446fa374]{grid-template-rows:auto 270px auto 48px}.geometry-title h1[data-v-446fa374]{font-size:24px}.geometry-stage[data-v-446fa374]{width:94%;left:3%;height:78%}.geometry-stations button[data-v-446fa374]{height:41px}.builder-dock[data-v-446fa374]{display:flex;flex-direction:column;gap:18px}.builder-notes h2[data-v-446fa374]{font-size:18px}.builder-editor[data-v-446fa374]{height:340px;min-height:340px;flex-shrink:0}.builder-controls[data-v-446fa374]{min-height:330px;grid-template-rows:44px minmax(0,1fr) 30px 44px}.geometry-footer[data-v-446fa374]{flex-wrap:wrap;gap:5px 10px;padding:5px 10px}.geometry-local-progress[data-v-446fa374]{position:static;flex-basis:100%;text-align:center}}@media(prefers-reduced-motion:reduce){.geometry-workshop [data-v-446fa374],.geometry-workshop [data-v-446fa374]:after,.geometry-workshop [data-v-446fa374]:before{-webkit-animation:none!important;animation:none!important;transition:none!important;scroll-behavior:auto!important}.geometry-workshop button[data-v-446fa374]:active:not(:disabled){transform:none}}