:root{font:14px/1.65 Arial,Helvetica,sans-serif;color:#203b33;background:#f7f5ef}*{box-sizing:border-box}body{margin:0}main{padding:24px;border:1px solid #c5cebb;border-radius:8px;max-width:1100px;margin:auto}h1{font:32px/1.15 Georgia;margin:12px 0}h2{font:24px/1.2 Georgia;margin:20px 0 12px}.eyebrow{font:11px Consolas;letter-spacing:1.4px;color:#a6532e}.controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0}.control{min-width:0;display:flex;flex-direction:column;gap:6px;font-size:12px}.control:has(input[type=checkbox]){flex-direction:row;align-items:center}input,select,button{font:14px Arial;color:inherit;background:#fffdf6;border:1px solid #a2b197;border-radius:4px;padding:10px;max-width:100%}input[type=range]{margin:0;accent-color:#23594a;width:100%}input[type=checkbox]{accent-color:#23594a}.meters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}.meter{border-top:3px solid #23594a;padding:12px;background:#e8ecdf}.meter strong{font:25px Georgia;display:block;overflow-wrap:anywhere}.meter span{font:12px/1.5 Arial}canvas{width:100%;display:block;border:1px solid #bcc9b1;border-radius:7px;background:#faf8f2}.transport{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:18px 0}.transport label{font-size:11px;display:flex;gap:10px;align-items:center;min-width:160px;flex:1}.transport input{width:100%;accent-color:#23594a}button{cursor:pointer;font-size:13px}button:first-child{background:#23594a;color:#fffdf6}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b35b32;outline-offset:3px}.insight{padding:14px 18px;background:#eae8d8;border-left:3px solid #b35b32}.challenge{font-size:14px;line-height:1.8}pre{padding:16px;overflow:auto;background:#203b33;color:#edf0e3;font:13px/1.7 Consolas;border-radius:6px}.scope{border-top:1px solid #c5cebb;padding-top:15px;font-size:11px;color:#596d60;line-height:1.8}.hint{font:12px Arial;color:#596d60}@media(max-width:600px){main{padding:16px}h1{font-size:27px}.controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.meters{gap:8px}.meter{padding:9px}.meter strong{font-size:21px}.meter span{font-size:11px}.transport label{flex-basis:100%}}
