@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fredoka:wght@400;500;600&display=swap');
:root{font-family:'DM Sans',system-ui,sans-serif;color:#263e32;background:#f8f7ed;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,select,.import-button{cursor:pointer}button{border:1px solid #dbe3d4;border-radius:13px;padding:10px 14px;background:#fff;color:inherit;font-weight:600}button:hover,.import-button:hover{background:#f2f8e8;border-color:#749b65}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,.import-button:focus-within{outline:3px solid #9b69de;outline-offset:3px}header,main{max-width:1340px;margin:auto;padding:24px 36px}header{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px}a{color:inherit;font-weight:700;text-decoration:none}.pill{font-size:12px;padding:7px 12px;border-radius:30px;background:#edf0df;color:#506647}.intro{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:12px 0 30px}h1,h2,.problem,.stage-caption{font-family:'Fredoka',ui-rounded,system-ui,sans-serif}h1{font-weight:500;font-size:clamp(30px,3.4vw,48px);margin:5px 0 9px;letter-spacing:-1.1px}h1 span{color:#f2a146;display:inline-block;transform:rotate(12deg);margin-left:12px}h2{font-size:23px;font-weight:500;margin:5px 0 10px}p{margin:8px 0;color:#697465;font-size:14px;line-height:1.55}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:800;color:#829264}.mode-label{font-size:11px;font-weight:700;display:grid;gap:8px;min-width:200px}select{border:1px solid #d8dfcf;background:#fff;border-radius:12px;padding:11px;color:#354b37}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}.preview{background:#fff;border:1px solid #e0e5d5;border-radius:25px;overflow:hidden;box-shadow:0 12px 28px #50613a09}.preview-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 22px;font-size:11px}.preview-top .pill{background:#f3f6e9}#status{color:#627654;text-align:right}#stage{height:375px;position:relative;overflow:hidden;background:linear-gradient(145deg,#d5edb1,#eff4bd 54%,#b9d68f);isolation:isolate}.sun{position:absolute;width:145px;height:145px;border-radius:50%;background:#fff5be90;top:13%;left:36%;box-shadow:0 0 65px #fff5ba}.hill{position:absolute;border-radius:50% 50% 0 0;width:120%;height:155px;bottom:-65px;left:-10%;background:#82ab60}.hill-back{bottom:-25px;left:14%;background:#a6c775;transform:rotate(-9deg)}.hill-front{transform:rotate(7deg)}.canopy{position:absolute;width:330px;height:210px;background:#437b4f;border-radius:40% 65% 55% 65%;top:-135px;box-shadow:45px 40px 0 #639355,-40px 45px 0 #355f45;opacity:.85}.canopy-left{left:-125px;transform:rotate(-20deg)}.canopy-right{right:-160px;transform:rotate(35deg)}.leaf{position:absolute;width:75px;height:170px;background:#42734b;border-radius:100% 0 100% 0;bottom:-65px;left:-8px;transform:rotate(-33deg);box-shadow:inset -8px 0 #699056}.leaf-two{left:auto;right:-5px;transform:rotate(65deg);width:110px}.leaf-three{bottom:-110px;left:65px;transform:rotate(45deg);background:#527e3f}#dragon-canvas{position:absolute;inset:0;pointer-events:none}#dragon-canvas canvas{display:block;width:100%;height:100%}.problem{position:absolute;top:29%;left:6%;font-size:clamp(29px,3vw,43px);font-weight:500;background:#fffff0db;padding:22px 23px;border:1px solid #ffffffb0;border-radius:22px;box-shadow:0 6px 0 #63834112;transform:rotate(-2deg)}.tiny{display:block;font:700 9px 'DM Sans',sans-serif;letter-spacing:2px;color:#819166;margin-bottom:13px}#answer-display{display:inline-block;min-width:28px;color:#8372bb}#speech{position:absolute;right:5%;top:7%;max-width:45%;font-size:13px;font-weight:600;background:#fffdef;padding:12px 17px;border-radius:17px 17px 3px 17px;box-shadow:0 3px 0 #46644312}.stage-caption{position:absolute;left:6%;bottom:22px;font-size:17px;color:#f8ffe6;letter-spacing:.3px}#apple{position:absolute;left:0;top:0;width:33px;height:32px;border-radius:40% 40% 45% 45%;background:#de5542;box-shadow:inset -7px -3px #b6323035,inset 5px 4px #ff958675;display:none;z-index:5}#apple:before{content:'';position:absolute;width:4px;height:11px;background:#75422c;left:16px;top:-8px;transform:rotate(16deg)}#apple i{position:absolute;width:14px;height:8px;left:18px;top:-5px;background:#609550;border-radius:90% 0 90% 0}#apple.green{background:#9cbf39;box-shadow:inset -7px -3px #67861e40,inset 5px 4px #d8e59185}.quiz-controls{max-width:400px;margin:20px auto 22px;padding:0 18px}.answer-label{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#78806d;margin-bottom:12px}.answer-label input{width:75px;text-align:center;border:1px solid #d7dfcd;border-radius:9px;padding:6px;color:#354a39}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.keypad button{background:#f6f7ed;box-shadow:0 3px #e8ecd9;border:0;font-size:21px;font-weight:500;padding:8px}.quiz-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:14px}.primary{background:#547d42;color:white;border-color:#547d42}.primary:hover{background:#416632;color:white}.quiz-actions>button:last-child{font-size:12px;padding:5px;border:0;font-weight:500}.transport{border-top:1px solid #e9ecdf;padding:15px 20px;display:flex;align-items:center;gap:10px}.transport button{font-size:11px;padding:7px 10px}.transport input{min-width:30px;flex:1}.transport output{font-size:10px;white-space:nowrap;color:#7c856f}input[type=range]{accent-color:#789952;width:100%;cursor:pointer}aside{display:grid;gap:18px}.control-card{padding:22px;background:#fff;border:1px solid #e1e4d7;border-radius:20px}.event-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:17px}.event{padding:13px 10px;text-align:left;font-size:12px;font-weight:700;background:#fbfcf7}.event span{display:block;font-size:23px;margin-bottom:9px}.event small{display:block;font-size:10px;font-weight:400;line-height:1.4;color:#78866e;margin-top:6px}.event.active{background:#f0f4df;border-color:#8fa66a;box-shadow:0 0 0 1px #8fa66a}.select-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;margin:17px 0}.select-row select{font-size:11px;max-width:185px}.slider-label{display:flex;flex-wrap:wrap;justify-content:space-between;font-size:11px;gap:7px;margin-top:17px}.slider-label output{color:#6b824b;font-weight:700}.small-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:22px}.small-actions button,.import-button{font-size:10px;padding:8px;border:1px solid #dbe3d4;border-radius:9px}.import-button input{position:absolute;width:1px;height:1px;opacity:0}.note{font-size:10px}.timeline-card{display:flex;align-items:center;gap:30px;margin-top:24px;background:#edeedc;padding:24px;border-radius:20px}.timeline-card h2{font-size:20px}.timeline-card>div{min-width:210px}.timeline-card ol{display:flex;list-style:none;gap:8px;padding:0;margin:0;flex:1}.timeline-card li{padding:12px 15px;background:#ffffff91;border-radius:12px;font-size:11px;flex:1;border:1px solid transparent}.timeline-card li.active{background:#fff;border-color:#8eac68}.timeline-card small{display:block;margin-top:5px;color:#748166}footer{font-size:11px;color:#849078;padding:25px 0}details{margin-top:15px}summary{cursor:pointer}details p{font-size:12px;max-width:760px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}#stage.boring{background:#f2f3eb}#stage.boring>:not(.problem){display:none}#stage.boring .problem{left:50%;transform:translateX(-50%)}@media(max-width:950px){.workspace{grid-template-columns:minmax(0,1fr) 300px}header,main{padding-left:20px;padding-right:20px}.problem{padding:18px 14px;font-size:30px}.timeline-card{display:block}.timeline-card ol{margin-top:18px}}@media(max-width:740px){.workspace{grid-template-columns:1fr}.intro{align-items:start;flex-direction:column}header .pill{font-size:9px}.mode-label{width:100%}h1{font-size:34px}.timeline-card ol{flex-wrap:wrap}.timeline-card li{min-width:100px}#stage{height:330px}.problem{font-size:28px;left:4%;padding:17px 12px}#speech{font-size:11px;right:4%}.control-card{padding:20px}.transport{padding:12px 10px;gap:6px}main{padding-top:10px}.preview-top{padding:12px}.quiz-controls{margin-top:15px}.intro{margin-bottom:22px}.timeline-card{padding:20px}header{padding-top:16px}}
/* Touch baseline: below 16px, iPhone Safari zooms the page when a field is focused. */
@media (pointer: coarse) { input:not([type="range"]), select, textarea { font-size: max(16px, 1em) !important; } }
