:root{color-scheme:light;--ink:#203c34;--muted:#6e7e73;--accent:#d6ed9b;--line:#dce3d8;--paper:#f4f5ed}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.5 system-ui,-apple-system,sans-serif}button,select{font:inherit;color:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:9px;padding:9px 12px;background:transparent;transition:background .15s}button:hover{background:#e3ead9}button:focus-visible,select:focus-visible,canvas:focus-visible,.compass:focus-visible{outline:3px solid #4d997e;outline-offset:3px}header{height:78px;padding:0 3.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.brand{text-decoration:none;color:var(--ink);font-weight:800;letter-spacing:2px;display:flex;align-items:center;gap:10px}.brand small{font-size:10px;letter-spacing:0;font-weight:500;border-left:1px solid #bbc8b9;padding-left:12px}.brandmark{font-size:35px;line-height:1}.header-note{font-size:10px;letter-spacing:2px;color:var(--muted)}main{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:30px;padding:28px 3.5%}.workspace{min-width:0}.intro{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 24px}.eyebrow{font-size:9px;font-weight:700;letter-spacing:1.8px;color:var(--muted);margin:0 0 7px}h1{font-family:Georgia,serif;font-size:clamp(25px,3vw,43px);font-weight:400;letter-spacing:-1.5px;margin:0 0 5px}.intro p:not(.eyebrow){margin:0;color:var(--muted);font-size:12px}.scenario-label{font-size:9px;letter-spacing:1px;display:grid;gap:6px;flex-shrink:0}select{max-width:200px;background:transparent;padding:10px;border:1px solid var(--line);border-radius:9px;font-size:12px}.stage{position:relative;width:100%;height:clamp(380px,60vh,760px);min-width:240px;min-height:380px;background:#243d38;border-radius:16px;overflow:hidden;isolation:isolate}.stage img{position:absolute;width:100%;height:100%;object-fit:contain;user-select:none}.stage canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair}.scene-badge{position:absolute;left:18px;top:18px;background:#152c28d9;color:#fff;border:1px solid #ffffff30;padding:7px 11px;border-radius:24px;font-size:10px;pointer-events:none}.dot{display:inline-block;width:6px;height:6px;background:var(--accent);border-radius:50%;margin-right:8px}.stage-bottom{position:absolute;bottom:16px;left:18px;right:18px;display:flex;justify-content:space-between;align-items:center;gap:12px;pointer-events:none;color:white;font-size:11px;text-shadow:0 1px 5px #000}.stage-bottom button{pointer-events:auto;color:white;background:#102720cc;border-color:#ffffff55}.stage-bottom span{background:#102720b8;padding:8px;border-radius:6px}.understage{display:flex;align-items:center;justify-content:space-between;margin-top:14px;gap:12px}#stats{font-size:10px;color:var(--muted)}.disclaimer{font-size:10px;color:var(--muted);margin-top:14px}.segments{display:flex;gap:3px;background:#e9ede3;border-radius:10px;padding:4px}.segments button{flex:1;border:0;font-size:11px;padding:9px 7px;white-space:nowrap}.segments button[aria-pressed=true]{background:var(--ink);color:white;box-shadow:0 2px 4px #18332418}.wrap{flex-wrap:wrap}.wrap button{flex:1 0 28%}.views{width:max-content}.views button{padding:8px 16px}aside{border-left:1px solid var(--line);padding-left:25px}.panel-heading{display:flex;justify-content:space-between;margin:6px 0 18px}h2{font:23px Georgia,serif;margin:0}h3{font-size:12px;font-weight:600;margin:0 0 10px}h3 output{float:right;color:var(--muted);font-size:10px}.wind-card{text-align:center;border-radius:14px;background:#e8eddf;padding:18px 8px 12px}.wind-card p{font-size:11px;color:var(--muted);margin:0}.compass{position:relative;width:134px;height:134px;border:1px solid #a3b7a0;border-radius:50%;margin:15px auto;background:repeating-conic-gradient(from 0deg,#95a38d 0deg 1deg,transparent 1deg 30deg);box-shadow:inset 0 0 0 12px #e8eddf;touch-action:none;cursor:grab}.compass span{position:absolute;font-size:9px;background:#e8eddf;padding:2px}.north{top:-10px;left:59px}.south{bottom:-10px;left:59px}.east{right:-7px;top:55px}.west{left:-8px;top:55px}.compass b{position:absolute;inset:52px;font-size:16px;font-weight:400}#needle{position:absolute;inset:16px;transform:rotate(270deg)}#needle i{position:absolute;left:44px;top:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:23px solid var(--ink)}.micro{font-size:10px!important;line-height:1.6;color:var(--muted)}.control{margin-top:20px}.pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stepper{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:9px}.stepper button{border:0;font-size:18px;padding:4px 13px}.stepper output{font-size:13px}details{border-top:1px solid var(--line);margin-top:23px;padding-top:17px}summary{cursor:pointer;font-size:12px}#clear{margin-top:18px;width:100%;font-size:12px}.insight{margin-top:24px;border-left:2px solid #8eac72;padding-left:12px}.insight span{font-size:9px;letter-spacing:1.5px}.insight p{font-size:12px;color:var(--muted)}#mobile-controls{display:none}#error{position:absolute;inset:65px 25px auto;background:#fff1dd;color:#773518;padding:20px;border-radius:12px;z-index:5}dialog{max-width:560px;border:0;border-radius:20px;padding:32px;color:var(--ink);background:var(--paper)}dialog::backdrop{background:#10272099;backdrop-filter:blur(4px)}dialog p{font-size:13px}dialog button{background:var(--ink);color:white}@media(max-width:1000px){main{grid-template-columns:minmax(0,1fr) 275px;gap:18px;padding:22px}aside{padding-left:18px}.intro{align-items:start;flex-direction:column}.header-note{display:none}.scenario-label{display:flex;align-items:center}.stage{height:58vh}}@media(max-width:720px){header{height:65px;padding:0 16px}.brand small{display:none}header button{font-size:11px}main{display:flex;flex-direction:column;padding:20px 12px;gap:22px}.intro{margin-bottom:16px;padding:0 5px}h1{font-size:32px}.stage{height:52vh;min-height:340px}.understage{flex-wrap:wrap}aside{border-left:0;border-top:1px solid var(--line);padding:20px 5px}.panel-heading{margin-top:0}#mobile-controls{display:block}.wind-card{margin-top:20px}.stage-bottom{left:9px;right:9px;font-size:10px}.views button{padding:8px 12px}.scene-badge{left:10px;top:10px}#controls[hidden]{display:none}}

.compass b{font-size:0;border:1px solid #7c927b;border-radius:50%;inset:61px;background:#e8eddf}

.lesson-card{margin-top:22px;padding:22px 24px;border:1px solid #d9e2d1;border-radius:14px;background:#edf1e5}.lesson-card[hidden]{display:none}.lesson-meta{display:flex;justify-content:space-between;text-transform:uppercase;font-size:10px;letter-spacing:1.3px;color:#677d62;margin-bottom:10px}.lesson-card h2{font-size:24px;line-height:1.3;max-width:760px}.lesson-card p{font-size:12px;color:#586e60;line-height:1.7}.trial-heading{display:flex;gap:12px;justify-content:space-between;align-items:center;margin:19px 0 9px;font-size:11px}.trial-heading span{font-size:10px;color:#6e7e73}.experiments{display:flex;flex-wrap:wrap;gap:8px}.experiments button{background:#fafbf5;border:1px solid #cbd8c1;font-size:12px;padding:10px 15px}.experiments button[aria-pressed=true]{background:#203c34;color:#f4f9e6;border-color:#203c34}.lesson-card .trial-note{font-size:10px;margin-bottom:0}.lesson-card details{margin-top:14px;padding-top:12px}.lesson-card .lesson-limit{border-left:2px solid #c0a06d;padding-left:12px}.stage img[hidden]{display:none}select{max-width:255px;width:255px}.scenario-label{letter-spacing:1.1px}@media(max-width:1000px){select{max-width:280px;width:280px}}@media(max-width:720px){.lesson-card{padding:18px 16px}.lesson-card h2{font-size:22px}.experiments button{flex:1 1 auto}.trial-heading{align-items:start}.trial-heading span{text-align:right}select{max-width:270px;width:270px}}
