.checklist{overflow:auto;display:flex;flex-direction:column;gap:10px}.checklist .head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}.level-tag{font-size:11px;color:var(--gold-text);margin:0}.level-title{font-size:18px;color:var(--navy)}.checklist .intro{color:#3a4654}.goals{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.goal{display:flex;gap:12px;align-items:flex-start}.tick{flex:none;width:28px;height:28px;margin-top:1px;border:3px solid var(--navy);background:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:17px;color:#fff}.goal[data-state=pass] .tick{background:var(--green-dark);animation:tick-pop .3s steps(3) 1}.goal[data-state=pass] .tick:after{content:"✓"}.goal[data-state=pending] .tick{background:#eef2f7}@keyframes tick-pop{0%{transform:scale(.6)}60%{transform:scale(1.2)}to{transform:scale(1)}}.goal-body{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:4px}.goal-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;align-self:stretch}.goal-text{font-weight:500;padding-top:2px}.goal[data-state=pass] .goal-text .text{color:var(--green-dark)}.goal-msg{font-size:16px;color:var(--red);background:var(--red-soft);border-radius:8px;padding:4px 10px}.hints{margin:0;padding:8px 12px 8px 30px;background:var(--cream);border:1px solid var(--cream-line);border-radius:10px;font-size:16px;color:#4a3300;display:flex;flex-direction:column;gap:4px;align-self:stretch}.hint-btn{flex:none;min-height:44px;min-width:44px;padding:4px 10px;font-size:15px;margin:-8px -8px -8px 0}.library{border-top:2px solid var(--line);padding-top:8px;margin-top:4px}.library summary{cursor:pointer;font-weight:600;color:var(--navy);min-height:44px;display:flex;align-items:center}.library-body{display:flex;flex-direction:column;gap:10px}.library-note{font-size:15px;color:var(--muted)}.pictures{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.pictures li{display:flex;flex-direction:column;gap:6px;font-size:13px}.pictures img{width:100%;height:auto;image-rendering:pixelated;border:2px solid var(--navy)}.pictures code{font-size:12px;word-break:break-all}.pictures .row{display:flex;gap:4px;flex-wrap:wrap}.pictures .btn{min-height:44px;padding:6px 10px;font-size:14px;box-shadow:0 2px 0 var(--navy);border-width:2px}.pictures .save{font-size:14px;min-height:44px;display:inline-flex;align-items:center;padding:0 6px}.preview[data-astro-cid-eecgn6du]{display:flex;flex-direction:column;min-height:0;overflow:hidden;padding:0}.chrome[data-astro-cid-eecgn6du]{display:flex;align-items:flex-end;gap:14px;background:var(--navy);padding:8px 12px 0}.dots[data-astro-cid-eecgn6du]{display:flex;gap:6px;padding-bottom:12px}.dots[data-astro-cid-eecgn6du] i[data-astro-cid-eecgn6du]{width:10px;height:10px;background:#5b6b7d}.dots[data-astro-cid-eecgn6du] i[data-astro-cid-eecgn6du]:first-child{background:#d9455f}.dots[data-astro-cid-eecgn6du] i[data-astro-cid-eecgn6du]:nth-child(2){background:var(--gold)}.tab[data-astro-cid-eecgn6du]{display:flex;align-items:center;gap:8px;max-width:70%;background:#f3f6fa;color:var(--navy);padding:8px 16px;border-radius:8px 8px 0 0;font-size:15px;font-weight:500}.tab-icon[data-astro-cid-eecgn6du]{width:14px;height:14px;flex:none;background:var(--gold);border:2px solid var(--navy)}.tab-title[data-astro-cid-eecgn6du]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tab-title[data-astro-cid-eecgn6du].empty{font-style:italic;color:#5b6573}.address[data-astro-cid-eecgn6du]{display:flex;align-items:center;gap:8px;background:#f3f6fa;border-bottom:1px solid var(--line);padding:6px 12px 8px;font:14px var(--mono);color:#3a4654}.lock[data-astro-cid-eecgn6du]{width:10px;height:10px;border:2px solid #5b6573;border-radius:2px}.frame-wrap[data-astro-cid-eecgn6du]{position:relative;flex:1;min-height:220px;background:#fff}iframe[data-astro-cid-eecgn6du][data-preview]{position:absolute;inset:0;width:100%;height:100%;border:0;background:#fff}.twin[data-astro-cid-eecgn6du]{position:absolute;left:-10000px;top:0;height:400px;border:0;visibility:hidden}.link-note[data-astro-cid-eecgn6du]{margin:0;padding:8px 12px;background:var(--cream);border-top:1px solid var(--cream-line);font-size:15px;color:#4a3300}.builder{height:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;padding:16px}.builder .col{display:flex;flex-direction:column;gap:16px;min-height:0}.builder .panel{background:#fff;border:3px solid var(--navy);border-radius:6px;padding:14px 18px}.builder .checklist{flex:0 1 auto;max-height:46%}.editor-panel{flex:1 1 0;min-height:240px;display:flex;flex-direction:column;gap:6px;padding:10px 0 0!important;overflow:hidden}.editor-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 10px 0 18px;flex-wrap:wrap}.editor-head h2{font-size:18px}.file{font:400 14px var(--mono);color:var(--muted);margin-left:8px}.tools{display:flex;gap:2px}.tools .btn{font-size:15px;padding:6px 10px;min-height:44px}.keys{font-size:14px;color:var(--muted);padding:0 18px}.editor{flex:1;min-height:0;border-top:1px solid var(--line)}.editor .cm-editor{height:100%}.editor:focus-within{box-shadow:inset 0 0 0 3px var(--blue-dark)}.builder .preview{flex:1 1 0;min-height:0}.feedback{flex:none;display:flex;flex-direction:column;gap:12px}.say{display:flex;gap:14px;align-items:flex-start}.bubble{flex:1;min-width:0;background:var(--cream);border:2px solid var(--cream-line);border-radius:12px;padding:10px 14px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;max-height:132px;overflow:auto}.bubble.good{background:#e7f5ec;border-color:#a9dcbc}.message{color:#33260a;font-weight:500}.bubble.good .message{color:#0f4d2c}.goto{min-height:36px!important;padding:2px 8px!important;font-size:15px!important;margin-left:-8px}.mistakes{margin:4px 0 0;padding-left:20px;font-size:15px;color:#4a3300}.actions{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap}.actions .btn-big{min-height:52px;padding:10px 24px}.confirm{border:4px solid var(--navy);border-radius:8px;padding:24px 28px;max-width:460px;font-family:var(--body)}.confirm::backdrop{background:#0a1b2e99}.confirm h2{font-size:24px;margin-bottom:8px}.confirm .row{display:flex;gap:12px;justify-content:flex-end;margin-top:20px;flex-wrap:wrap}.report form{display:flex;flex-direction:column;gap:6px}.report label{font-weight:600;margin-top:10px}.report input{font:18px var(--body);padding:10px 14px;min-height:48px;border:3px solid var(--navy);border-radius:4px}.report .note{font-size:15px;color:var(--muted)}.report-btn{margin-right:auto;min-height:52px;padding:6px 10px;font-size:15px}.report-btn[aria-disabled=true]{cursor:progress}.celebrate{position:fixed;z-index:50;pointer-events:none}.celebrate span{position:absolute;width:10px;height:10px;border:2px solid var(--navy);animation:coin .9s steps(6) forwards}@keyframes coin{0%{transform:translate(0);opacity:1}80%{opacity:1}to{transform:translate(var(--x),calc(var(--y) + 60px));opacity:0}}[data-preview-highlight]{outline:4px dashed #d9455f!important}@media(max-width:1000px),(max-height:600px){.builder{grid-template-columns:minmax(0,1fr);height:auto}.builder .checklist{max-height:none}.editor-panel{height:60vh;flex:none}.builder .preview{height:70vh;flex:none}}@media(max-width:640px){.builder{padding:12px}}.lesson-link[data-astro-cid-ceujlgkz]{color:#fff;font-weight:600;text-decoration:none;white-space:nowrap;padding:8px 4px;min-height:44px;display:inline-flex;align-items:center}.lesson-link[data-astro-cid-ceujlgkz]:hover{color:var(--gold);text-decoration:underline}@media(max-width:1100px){.lesson-link[data-astro-cid-ceujlgkz]{display:none}}
