.course-stage{color:#203c32;background:#fff;border:1px solid #d5e1d3;border-radius:24px;max-width:900px;margin:24px auto;padding:clamp(20px,4vw,40px)}.course-stage-heading h2{margin:10px 0;font-size:clamp(1.4rem,3vw,2rem)}.course-stage-heading p{margin:0 0 18px;line-height:1.65}.course-kicker{letter-spacing:.12em;color:#49694d;font-size:.72rem;font-weight:700}.course-stage progress{accent-color:#286147;width:100%;height:8px}.course-dialogue{align-items:center;gap:20px;margin:28px 0;display:flex}.course-robot{flex-shrink:0;animation:.35s ease-out course-arrive}.course-speech{background:#f3f7ed;border:1px solid #d8e5d4;border-radius:18px;flex:1;padding:20px}.course-speech p{margin:8px 0 0;line-height:1.7}.course-step-content{min-width:0;line-height:1.75}.course-step-content fieldset{border:0;margin:0;padding:0}.course-step-content legend{margin-bottom:20px;font-size:1.2rem;font-weight:700;line-height:1.5}.course-options{gap:12px;display:grid}.course-option{cursor:pointer;border:1px solid #c9d8c9;border-radius:12px;align-items:flex-start;gap:12px;padding:16px;display:flex}.course-option.selected{background:#ecf4e2;border-color:#27654b}.course-option input{accent-color:#27654b;flex-shrink:0;width:18px;height:18px;margin:5px 0 0}.course-step-content pre{color:#eef8e6;white-space:pre;background:#1c3028;border-radius:12px;max-width:100%;padding:20px;overflow:auto}.course-feedback{background:#f0f7e8;border:1px solid #c7ddad;border-radius:14px;margin-top:22px;padding:20px}.course-feedback p{margin:8px 0}.course-controls{border-top:1px solid #e1e8dc;justify-content:space-between;gap:14px;margin-top:32px;padding-top:24px;display:flex}.course-controls>div{flex-wrap:wrap;justify-content:flex-end;gap:12px;display:flex}.course-stage button{min-height:44px}.course-stage :focus-visible{outline-offset:4px;outline:3px solid #337c53}.course-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:24px;display:grid}.course-card{background:#fff;border:1px solid #d5e1d3;border-radius:18px;padding:24px}.course-card h2{font-size:1.35rem;line-height:1.45}.course-card p{line-height:1.7}.course-editor-block{background:#fbfcf8;border:1px solid #d5e1d3;border-radius:14px;margin:16px 0;padding:20px}.course-editor-block textarea{resize:vertical;border:1px solid #c9d8c9;border-radius:8px;width:100%;min-height:110px;padding:12px}.course-editor-block input,.course-editor-block select{max-width:100%;min-height:42px}.course-editor-actions{flex-wrap:wrap;gap:10px;margin:14px 0;display:flex}.course-login-dialog{color:#203c32;border:1px solid #c9d8c9;border-radius:20px;width:min(440px,100% - 32px);max-height:90vh;padding:28px;overflow:auto}.course-login-dialog::backdrop{background:#10281d99}.course-login-dialog input{width:100%;min-height:44px;margin:8px 0 18px}.course-login-dialog label{display:block}.course-error{background:#fff3ee;border:1px solid #dbb5a7;border-radius:12px;padding:16px}.course-success{background:#edf5e5;border-radius:12px;padding:20px}.course-lesson-index{flex-wrap:wrap;gap:10px;margin:24px 0;display:flex}.course-lesson-index button{background:#fff;border:1px solid #c8d9c7;border-radius:10px;min-height:44px;padding:10px 16px}.course-lesson-index button[aria-current]{background:#ecf4df;font-weight:700}@keyframes course-arrive{0%{opacity:.4;transform:translateY(6px)}to{opacity:1}}@media (max-width:600px){.course-dialogue{align-items:flex-start;gap:10px}.course-robot{width:65px;height:76px}.course-speech{padding:14px}.course-controls{flex-direction:column}.course-controls>div{justify-content:flex-start}.course-stage{border-radius:16px}.course-stage-heading h2{font-size:1.45rem}}@media (prefers-reduced-motion:reduce){.course-robot{animation:none}}.course-editor-actions>button,.course-editor-block button{color:#245f4b;cursor:pointer;background:#fff;border:1px solid #c5d8c4;border-radius:10px;min-height:44px;padding:10px 16px;font-weight:600}.course-editor-actions>button:disabled,.course-editor-block button:disabled{opacity:.5;cursor:default}.course-editor-actions>button.primary{color:#fff;background:#245f4b}.course-editor-block label{line-height:1.6}.course-editor-block h3,.course-editor-block h4{margin-bottom:18px}.course-editor-block fieldset{min-width:0}.course-stage-heading,.course-speech{overflow-wrap:anywhere;min-width:0}.course-lesson-index button{text-align:left;overflow-wrap:anywhere;max-width:100%}.course-player-shell>header h1{overflow-wrap:anywhere;margin:14px 0;font-size:clamp(1.65rem,3.5vw,2.4rem);line-height:1.25}.course-stage progress{appearance:none;background:#e1eadb;border:0;border-radius:99px;overflow:hidden}.course-stage progress::-webkit-progress-bar{background:#e1eadb;border-radius:99px}.course-stage progress::-webkit-progress-value{background:#245f4b;border-radius:99px}.course-stage progress::-moz-progress-bar{background:#245f4b;border-radius:99px}.course-editor-block input[type=radio]{vertical-align:middle;accent-color:#245f4b;width:18px;height:18px;min-height:18px;margin-right:8px}.course-stage{box-shadow:0 14px 40px #23432c08}.course-stage-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.course-step-label{color:#446d42;background:#eef4e5;border-radius:99px;padding:6px 11px;font-size:.75rem;font-weight:650}.course-stage .course-stage-heading h2{margin-top:18px}.course-speech{background:linear-gradient(120deg,#f2f7e9,#f9fbf4);position:relative}.course-speech:before{content:"";background:#f2f7e9;border-bottom:1px solid #d8e5d4;border-left:1px solid #d8e5d4;width:12px;height:12px;position:absolute;top:28px;left:-7px;transform:rotate(45deg)}.course-option{align-items:center;min-height:58px;transition:border-color .15s,background .15s}.course-option:hover{background:#f5f8ef;border-color:#91b17c}.course-option.selected{box-shadow:inset 3px 0 #477c50}.course-option input{margin-top:0}.course-feedback-symbol{color:#345d32;background:#dbecc7;border-radius:50%;place-items:center;width:28px;height:28px;margin-right:10px;display:inline-grid}.course-feedback.is-review{background:#f5f7eb;border-color:#d4deba}.course-feedback small{color:#516a4e;line-height:1.65;display:block}.course-stage .course-controls .button{border-radius:12px;min-height:46px}.course-robot-light{transform-origin:70px 10px;animation:3s ease-in-out 2 course-light}.course-robot.celebrating{animation:.55s ease-out course-celebrate}@keyframes course-light{50%{fill:#95c86b}}@keyframes course-celebrate{0%,to{transform:rotate(0)}35%{transform:rotate(-7deg)}65%{transform:rotate(5deg)}}@media (prefers-reduced-motion:reduce){.course-robot-light,.course-robot.celebrating{animation:none}.course-option{transition:none}}.course-speech-actions{flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:20px;display:flex}.course-conversation-feedback{margin-top:14px}.course-conversation-feedback>strong{color:#315e3b;display:block}.course-conversation-feedback>small{color:#55704f;margin-top:12px;line-height:1.65;display:block}.course-hint-button{color:#315e3b;font:inherit;text-underline-offset:4px;cursor:pointer;background:0 0;border:0;margin:0;padding:8px 0;text-decoration:underline}.course-speech .course-hint{border-top:1px solid #d6e2cc;margin-top:18px;padding-top:14px}.course-activity-help{color:#526a54;margin:0 0 20px;font-size:.9rem}.course-ordering{gap:12px;padding:0;list-style:none;display:grid}.course-ordering>li{background:#fafcf7;border:1px solid #ccdcbf;border-radius:12px;align-items:center;gap:12px;padding:16px;display:flex}.course-ordering>li>span:nth-child(2){overflow-wrap:anywhere;flex:1;min-width:0}.course-ordering>li>div{flex-wrap:wrap;gap:8px;display:flex}.course-order-number{background:#e6f0d9;border-radius:50%;flex-shrink:0;place-items:center;width:28px;height:28px;font-size:.8rem;font-weight:700;display:grid}.course-ordering button,.course-matched-pairs button{color:#315c3b;cursor:pointer;font:inherit;background:#fff;border:1px solid #bdcfae;border-radius:8px;padding:8px 12px;font-size:.8rem}.course-matching-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;display:grid}.course-matching-columns h3{margin:0 0 14px;font-size:.9rem}.course-matching-columns button{text-align:left;color:#30533a;cursor:pointer;width:100%;font:inherit;overflow-wrap:anywhere;background:#fafcf7;border:1px solid #c7d9ba;border-radius:12px;margin:10px 0;padding:14px;display:block}.course-matching-columns button[aria-pressed=true]{background:#e7f0da;border-color:#567d45;box-shadow:inset 3px 0 #567d45}.course-matching-columns button:disabled{opacity:.55;cursor:default}.course-matched-pairs{margin-top:22px;padding:0;list-style:none}.course-matched-pairs li{border-bottom:1px solid #dce6d3;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.course-solution{background:#f7faf2;border:1px solid #d9e4cd;border-radius:12px;margin-top:24px;padding:18px}.course-solution summary{cursor:pointer;color:#37613e;font-weight:650}.course-solution p{margin:18px 0}.course-solution :is(ol,ul){padding-left:22px}.course-solution li{margin:8px 0}.course-sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (max-width:600px){.course-ordering li{flex-wrap:wrap}.course-ordering li>div{justify-content:flex-end;width:100%}.course-matching-columns{gap:10px}.course-matching-columns button{padding:12px;font-size:.85rem}.course-matched-pairs li{flex-direction:column;align-items:flex-start}}.course-dialogue{scroll-margin-top:100px}.course-dialogue[data-evaluation=correct] .course-speech{background:#edf7ed;border-color:#45865b}.course-dialogue[data-evaluation=retry] .course-speech{background:#fff8e9;border-color:#b58a38}.course-speech:has(.course-evaluation-symbol){padding-right:70px;position:relative}.course-evaluation-symbol{color:#245f3b;background:#d8eedb;border-radius:50%;place-items:center;width:36px;height:36px;margin-bottom:0;font-size:1.4rem;font-weight:700;display:inline-grid;position:absolute;top:20px;right:20px}.course-dialogue[data-evaluation=retry] .course-evaluation-symbol{color:#795614;background:#f5e7c3}.course-evaluation-symbol{animation:.42s ease-out course-feedback-reveal}@keyframes course-feedback-reveal{0%{opacity:.4}to{opacity:1}}@media (prefers-reduced-motion:reduce){.course-evaluation-symbol{animation:none}}.course-experience-controls{flex-wrap:wrap;justify-content:flex-end;gap:12px;max-width:900px;margin:16px auto;display:flex}.course-experience-controls button{color:#315e3b;font:inherit;cursor:pointer;background:#fff;border:1px solid #cadbc9;border-radius:20px;padding:8px 12px;font-size:.85rem}.course-experience-controls button:focus-visible,.course-robot-message button:focus-visible{outline-offset:3px;outline:3px solid #38745b}.course-robot-message>button{margin-top:10px;font-size:.8rem}.course-screen-effect{z-index:9999;pointer-events:none;position:fixed;inset:0;overflow:hidden}.course-screen-effect>i{border-radius:3px;width:10px;height:16px;animation:1s ease-out forwards course-confetti;position:absolute;top:-20px}@keyframes course-confetti{to{opacity:0;translate:30px 105vh;rotate:360deg}}.course-encouragement-wave{border:5px solid #d7b76d;border-radius:24px;animation:1s ease-out forwards course-encourage;position:absolute;inset:0;box-shadow:inset 0 0 70px #d7b76d55}@keyframes course-encourage{0%{opacity:0}25%{opacity:.7}to{opacity:0}}@media (prefers-reduced-motion:reduce){.course-screen-effect{display:none}}.course-stage[data-effects=false] .course-robot,.course-stage[data-effects=false] .course-robot-light,.course-stage[data-effects=false] .course-evaluation-symbol{animation:none}.course-experience-controls button{place-items:center;width:40px;height:40px;padding:8px;display:inline-grid}.course-experience-controls button[aria-pressed=true]{background:#edf5e9;border-color:#6a9575}.course-experience-controls button:disabled{opacity:.6;cursor:default}.course-message-text{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:8px;line-height:1.7;position:relative}.course-message-space{visibility:hidden;display:block}.course-message-visible{position:absolute;inset:0}.course-message-text[role=button]{cursor:pointer}.course-message-text:focus-visible{outline-offset:4px;border-radius:4px;outline:3px solid #38745b}.course-message-space:before{content:attr(data-message)}.course-playground{background:#f7faf5;border:1px solid #cadbc9;border-radius:16px;min-width:0;margin:24px 0;padding:20px}.course-playground-console{color:#edf5e9;background:#18372d;border-radius:12px;max-height:240px;margin:20px 0 12px;padding:16px;overflow:auto}.course-playground-console pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 8px;font-size:.9rem}.course-code-line>span{color:#a5c4b4;-webkit-user-select:none;user-select:none;min-width:3ch;margin-right:12px;display:inline-block}.course-workspace-search{gap:8px;max-height:260px;margin:12px 0;display:grid;overflow:auto}@media (max-width:600px){.course-playground{padding:12px}.course-playground .course-speech-actions{flex-direction:column;align-items:stretch}}.course-playground>p[role=status]{margin:16px 0;line-height:1.6}.course-playground-console pre{box-shadow:none;background:0 0;border:0;padding:0}.course-step-content .course-question-code{margin-bottom:clamp(28px,4vw,40px)}.codi-arm-right{transform-origin:110px 102px}.course-robot.asking .codi-antenna{transform-origin:70px 28px;transform:rotate(5deg)}.course-robot.explaining .codi-arm-right{animation:3s ease-in-out codi-wave}.course-robot.celebrating .codi-arm-right{transform:rotate(-15deg)}@keyframes codi-wave{0%,to{transform:rotate(0)}25%,65%{transform:rotate(-12deg)}45%{transform:rotate(3deg)}}@media (prefers-reduced-motion:reduce){.course-robot *{animation:none!important}}
