:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#203d36;--muted:#586d65;--green:#245b47;--question-size:clamp(1.375rem, 1.2rem + .8vw, 1.625rem);--answer-size:clamp(1.125rem, 1.05rem + .3vw, 1.25rem);--panel-heading-size:clamp(1.5rem, 1.4rem + .3vw, 1.625rem)}*{box-sizing:border-box}body{color:var(--ink);background:#f4f5ef;margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit}.site-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;max-width:1180px;margin:auto;padding:28px 32px;display:flex}.account-link{padding:10px 0;font-size:14px}.account-panel{max-width:650px;padding:clamp(24px,5vw,48px)}.account-panel h1{font-size:clamp(32px,5vw,48px)}.account-panel .intro{overflow-wrap:anywhere}.account-form{flex-direction:column;gap:12px;margin-top:24px;display:flex}.account-form label{font-weight:700}.account-form input{width:100%;min-height:48px;font:inherit;border:1px solid #608365;border-radius:8px;padding:12px}.account-form input:focus-visible{outline-offset:4px;outline:3px solid #be792b}.account-form button{align-self:flex-start}.account-form button:disabled{opacity:.7;cursor:default}.account-form .note{margin:0}.account-status{min-height:24px;line-height:1.6}.sync-retry{font:inherit;color:var(--green);cursor:pointer;background:0 0;border:0;padding:10px 0;text-decoration:underline}.brand{align-items:center;gap:10px;font-size:25px;font-weight:800;text-decoration:none;display:inline-flex}.brand-mark{flex:0 0 32px;display:block}.brand-descriptor{color:var(--muted);border-left:1px solid #bdc9bf;margin-left:2px;padding-left:12px;font-size:13px;font-weight:400}main{max-width:1180px;margin:auto;padding:20px 32px 48px}.panel{background:#eaf0e4;border:1px solid #d9e1d6;border-radius:24px}.home{align-items:center;gap:32px;min-height:520px;padding:clamp(32px,5vw,64px);display:grid}.home-copy{min-width:0}.home .button{gap:18px}.home-previews{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-width:0;display:grid}.home-previews figure{background:#f6f8f3;border:1px solid #d9e1d6;border-radius:14px;margin:0;overflow:hidden}.home-previews figure:first-child{grid-column:1/-1}.home-previews figcaption{flex-direction:column;gap:4px;padding:12px 14px;font-size:.875rem;line-height:1.4;display:flex}.home-previews figcaption strong{color:var(--green)}.mission-preview{aspect-ratio:16/9;pointer-events:none;width:100%;height:auto;display:block}@media (min-width:1000px){.home{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px}}.eyebrow{color:var(--green);letter-spacing:.12em;text-transform:uppercase;margin:0 0 20px;font-size:12px;font-weight:700}h1{letter-spacing:-.045em;margin:0 0 24px;font-size:clamp(36px,5.5vw,64px);line-height:1.1}.intro{max-width:480px;color:var(--muted);margin:0 0 32px;font-size:18px;line-height:1.7}.button{background:var(--green);color:#fff;border-radius:12px;align-items:center;gap:28px;min-height:52px;padding:18px 24px;font-weight:700;text-decoration:none;display:inline-flex}.button:hover{background:#194633}a:focus-visible,button:focus-visible,[tabindex="-1"]:focus-visible{outline-offset:4px;outline:3px solid #be792b}.note{color:var(--muted);margin:24px 0 0;font-size:14px;line-height:1.6}.play-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.play-heading h1{margin:0;font-size:clamp(30px,4vw,44px)}.play-heading .eyebrow{margin-bottom:12px}.back-link{white-space:nowrap;padding:14px 0}.game-panel{background:#fff;border:1px solid #d9e1d6;border-radius:20px;overflow:hidden}.game-container{aspect-ratio:16/9;background:#cce9ef;width:100%;overflow:hidden}.game-container canvas{display:block}.world-caption{display:none}.world-column{display:contents}.learning-debrief{border-top:1px solid #d9e1d6;padding:18px 20px}.learning-debrief .learning-explanation{border:0;margin:0;padding:0}.game-panel[data-mission=signal-tower] .game-container{background:#193c50}.game-panel[data-mission=forked-trail] .game-container{background:#d7e9d1}.game-status{color:var(--muted);margin:0;padding:16px 22px;font-size:.875rem}.game-status p{margin:0;line-height:1.5}.game-status .bridge-progress{color:var(--ink);margin-bottom:8px;font-weight:700}.game-status progress{width:100%;height:8px;accent-color:var(--green);margin-bottom:8px}.bridge-markers{gap:8px;margin:4px 0 12px;display:flex}.bridge-marker{color:var(--muted);text-align:center;background:#f3f5ee;border:1px solid #bdc9bf;border-radius:4px;flex:1;font-size:12px}.bridge-marker span{padding:3px;display:block}.bridge-marker[data-repaired=true]{color:var(--green);background:#e1edda;border-color:#608365}.bridge-marker[data-repaired=true] span{animation:.2s ease-out marker-settle}.challenge-content{animation:.16s ease-out challenge-arrive}@keyframes challenge-arrive{0%{transform:translateY(3px)}to{transform:translateY(0)}}@keyframes marker-settle{0%{transform:scale(.94)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.challenge-content,.bridge-marker[data-repaired=true] span{animation:none}}.replay-button{font:inherit;cursor:pointer;border:0}.run-summary{color:var(--muted);margin:0 0 24px;font-size:.875rem}.run-summary div{justify-content:space-between;gap:16px;padding:7px 0;display:flex}.run-summary dd{color:var(--ink);margin:0;font-weight:700}.local-history{border-top:1px solid #d9e1d6;margin-top:24px;padding-top:16px}.local-history h3{margin:0 0 12px;font-size:16px}.local-history .run-summary{margin-bottom:0}.local-history .note{margin-top:12px;font-size:12px}.game-status .history-hint{margin-top:10px;font-size:13px}.question-panel{border-top:1px solid #d9e1d6;padding:24px}.question-panel .eyebrow{margin-bottom:12px;font-size:.75rem}.question-panel h2{font-size:var(--panel-heading-size);overflow-wrap:anywhere;margin:0;line-height:1.3}.question-panel #question-prompt{font-size:var(--question-size)}.question-hint{color:var(--muted);margin:12px 0 20px;font-size:1rem;line-height:1.55}.answer-choices{flex-wrap:wrap;gap:12px;display:flex}.answer-choice{min-width:120px;min-height:56px;color:var(--ink);font:inherit;font-size:var(--answer-size);cursor:pointer;background:#f6f8f3;border:2px solid #bbcabe;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;padding:14px 20px;font-weight:700;line-height:1.4;display:flex}.answer-choice:hover:enabled{border-color:var(--green);background:#eaf0e4}.answer-choice:disabled{cursor:default}.answer-choice>span:first-child{overflow-wrap:anywhere;min-width:0}.answer-choice[data-result=incorrect]{background:#fff5e7;border-color:#986b30}.answer-choice[data-result=correct]{border-color:var(--green);background:#eaf0e4}.choice-state{font-size:.8125rem;font-weight:400}.answer-feedback{min-height:80px;margin-top:20px;line-height:1.6}.answer-feedback p{color:var(--muted);margin:4px 0 0}.learning-explanation{overflow-wrap:anywhere;border-top:1px solid #d9e1d6;margin-top:12px;padding-top:14px;font-size:1rem;line-height:1.55}.learning-explanation summary{cursor:pointer;color:var(--green);min-height:44px;padding:10px 0;font-weight:700}.learning-explanation summary:focus-visible{outline-offset:4px;outline:3px solid #be792b}.learning-explanation p{margin:10px 0 0}.explained-question{color:var(--muted)}@media (min-width:1000px){.game-panel{grid-template-columns:minmax(0,1.8fr) minmax(300px,1fr);align-items:start;display:grid}.world-view{grid-area:1/1}.game-status{grid-area:2/1}.question-panel{border-top:0;border-left:1px solid #d9e1d6;grid-area:1/2/span 2;min-height:100%}.answer-choice{flex:100%;min-width:0;padding:12px 14px}}@media (max-width:600px){.question-panel{padding:20px}.answer-choice{flex-wrap:wrap;flex:100%;min-width:0}.site-header{padding:22px 20px}main{padding:12px 20px 32px}.brand-descriptor{font-size:11px}.home{min-height:460px}.play-heading{align-items:flex-end}}@media (max-width:380px){.site-header{gap:8px;padding:20px 16px}.brand{gap:6px}.brand-descriptor{margin-left:0;padding-left:8px;font-size:11px}}.journey-list{grid-template-columns:minmax(0,1fr);gap:1.5rem;margin-top:2rem;padding:0;list-style:none;display:grid}.journey-card{grid-template-columns:minmax(0,1fr);min-width:0;display:grid;overflow:hidden}.journey-card-content{flex-direction:column;align-items:flex-start;gap:12px;min-width:0;padding:clamp(22px,2.5vw,28px);display:flex}.journey-card h2{font-size:var(--panel-heading-size);margin:0;line-height:1.3}.journey-card .eyebrow{margin-bottom:0}.journey-card p:not(.eyebrow){margin:0;line-height:1.55}.journey-card .journey-challenges{color:var(--muted);font-size:.875rem}.journey-card .button{align-self:flex-start;margin-top:auto}@media (min-width:641px) and (max-width:1099px){.journey-card{grid-template-columns:minmax(160px,.65fr) minmax(0,1fr)}.journey-card>.mission-preview{align-self:center}}@media (min-width:1100px){.journey-list{grid-template-columns:repeat(3,minmax(0,1fr))}.journey-card{grid-template-rows:auto 1fr}}.completion-actions{flex-wrap:wrap;align-items:center;gap:1rem;margin-block:1rem;display:flex}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (max-width:640px){.journey-list{grid-template-columns:1fr}}@media (min-width:1000px){.game-panel[data-phase=complete]{background:0 0;border:0;border-radius:0;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:24px}.game-panel[data-phase=complete] .world-column{background:#fff;border:1px solid #d9e1d6;border-radius:20px;grid-area:1/1;align-self:start;display:block;overflow:hidden}.game-panel[data-phase=complete] .question-panel{background:#fff;border:1px solid #d9e1d6;border-radius:20px;grid-area:1/2;align-self:start;min-height:0}.game-panel[data-phase=complete] .learning-debrief{background:#fff;border:1px solid #d9e1d6;border-radius:20px;grid-area:2/1/auto/-1;padding:24px}}.route-choices{flex-direction:column;gap:14px;display:flex}.route-choice{text-align:left;flex-direction:column;align-items:flex-start;gap:7px;width:100%;min-width:0}.route-choice span{font-size:1rem;font-weight:400;line-height:1.5}@media (max-width:999px){.game-panel{overflow:clip}.world-view{z-index:2;background:#fff;border-bottom:1px solid #d9e1d6;position:sticky;top:0}.game-container{max-height:28svh}.world-caption{margin:0;padding:7px 14px;font-size:.875rem;font-weight:700;line-height:1.4;display:block}.game-status{padding:10px 16px}.game-status .bridge-progress{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.game-status progress,.bridge-markers,.game-status .history-hint{display:none}.answer-feedback{min-height:48px;margin-top:16px}}@media (max-width:600px){.site-header{padding-block:16px}main{padding-top:8px}.play-heading{margin-bottom:18px}.play-heading .eyebrow{margin-bottom:8px}.question-panel{padding:18px 20px}.question-hint{margin:10px 0 16px}.answer-choices{gap:10px}}
