@font-face{font-family:Jua;src:url(/fonts/jua.ttf)format("truetype");font-display:swap}:root{color:#fff0d2;font-synthesis:none;--cream:#fff0d2;--yellow:#ffd45c;--amber:#ffb83e;--plum:#291735;--muted:#c6b9d3;--line:#795779;--red:#ff5b4c;--blue:#79baff;background:#1d1228;font-family:Apple SD Gothic Neo,Malgun Gothic,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,a{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;filter:saturate(.3);opacity:.48}button:focus-visible{outline-offset:5px;outline:3px solid #7ae7ed}a:focus-visible{outline-offset:5px;outline:3px solid #7ae7ed}button{touch-action:manipulation}button svg,a svg{flex-shrink:0}a{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3,.display{font-family:Jua,sans-serif;font-weight:400}button{font-weight:700}img{-webkit-user-select:none;user-select:none;max-width:100%}svg{vertical-align:middle}.app{isolation:isolate;min-height:100svh;position:relative;overflow:hidden}.world-background,.world-shade{z-index:-2;pointer-events:none;position:fixed;top:0;bottom:0;left:0;right:0}.world-background{background:#291730 url(/assets/planet.png) 50%/cover no-repeat}.world-shade{z-index:-1;background:linear-gradient(#1e0d2b50,#1c0d2780 55%,#180d25e8)}.screen-home .world-shade{background:linear-gradient(90deg,#1a0e2ad9 0%,#21102a65 58%,#21102a25),linear-gradient(#0000 55%,#160d23e3)}.camera-source{pointer-events:none;width:640px;height:480px;position:fixed;top:0;left:-5000px}.site-header{justify-content:space-between;align-items:center;gap:26px;max-width:1440px;height:94px;margin:auto;padding:20px 38px;display:flex}.brand{text-align:left;white-space:nowrap;text-shadow:0 2px 4px #29132f;background:0 0;border:0;align-items:center;gap:12px;padding:0;font-family:Jua,sans-serif;font-size:25px;line-height:1.15;display:flex}.brand small{letter-spacing:.06em;color:#d5bfce;margin-top:5px;font-family:inherit;font-size:11px;display:block}.brand-mark{color:#ffd464;background:linear-gradient(135deg,#ff7137,#b52733);border:2px solid #ffb65b;border-radius:50%;place-items:center;width:49px;height:49px;display:grid;box-shadow:0 3px #6d2536,0 0 25px #ff804130}.brand-mark svg{fill:#ffd567;stroke:#fff0b7}.header-actions{align-items:center;gap:10px;display:flex}.icon-button{background:linear-gradient(145deg,#5a416f,#291b42);border:1px solid #c5a0cb90;border-radius:50%;place-items:center;width:45px;min-width:45px;height:45px;padding:0;display:grid;box-shadow:inset 0 2px 4px #e8bdff35,0 3px #1b0c2f}.icon-button:hover{background:#68507d}.mission-progress{align-items:center;gap:26px;display:flex}.mission-progress>span{color:#c5aecf;align-items:center;gap:9px;font-size:12px;display:flex;position:relative}.mission-progress>span+span:before{content:"";background:#8c6e97;width:20px;height:2px;position:absolute;left:-23px}.mission-progress b{background:#392445;border:1px solid #bda0ce;border-radius:50%;place-items:center;width:31px;height:31px;font-family:Jua;font-size:17px;display:grid}.mission-progress em{font-style:normal}.mission-progress .active{color:#ffe090}.mission-progress .active b{color:#672d1e;background:#ffd05e;border-color:#ffefa1;box-shadow:0 0 19px #ffb34260}.mission-progress .complete b{color:#fff7bd;background:#987235;border-color:#efbd6f}.mode-badge{color:#eadcca;background:#22132ac4;border:1px solid #856a874d;border-radius:99px;align-items:center;gap:7px;padding:5px 11px;font-size:11px;display:flex;position:absolute;top:100px;right:34px}.mode-badge i{background:#9de5c3;border-radius:50%;width:5px;height:5px}.mode-badge.demo i{background:#ffbc56}.eyebrow{letter-spacing:.08em;color:#ffd787;font-size:12px;font-weight:700}.warm-text{color:#ffd264}.button{border:1px solid #0000;border-radius:18px;justify-content:center;align-items:center;gap:13px;min-height:54px;padding:13px 25px;font-family:Jua,sans-serif;font-size:21px;font-weight:400;line-height:1.3;text-decoration:none;transition:transform .15s,filter .15s;display:inline-flex}.button:not(:disabled):hover{filter:brightness(1.08);transform:translateY(-2px)}.button:not(:disabled):active{transform:translateY(2px)}.button.primary{color:#60210d;background:linear-gradient(#fff09b 0%,#ffd04c 27%,#ffb32b 100%);border:2px solid #fff0ab;box-shadow:inset 0 2px 2px #fff9cf,0 5px #b84d1a,0 8px 18px #1c0b2a66}.button.secondary{color:#fff1d8;background:linear-gradient(135deg,#5b3a59ee,#30203cee);border:1px solid #b78b9e;box-shadow:inset 0 1px 1px #e8c4e938,0 3px #1a0c29}.text-button,.text-link{color:#e6d7e7;background:0 0;border:0;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:10px 3px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.text-button:hover,.text-link:hover{color:#ffd36c}.bottom-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:18px;display:flex}.helper{color:var(--muted);text-align:center;font-size:13px;line-height:1.6}.privacy-note{color:#cebccc;align-items:center;gap:7px;font-size:11px;line-height:1.8;display:flex}.robot{object-fit:contain;filter:drop-shadow(0 12px 16px #1c081f60)}.home-content{grid-template-rows:minmax(400px,1fr) auto auto;grid-template-columns:1.05fr 1fr;column-gap:32px;max-width:1320px;min-height:calc(100svh - 94px);margin:auto;padding:12px 54px 0;display:grid;position:relative}.home-copy{z-index:2;align-self:center;padding-top:16px;padding-bottom:15px}.home-copy h1{letter-spacing:-.035em;text-shadow:0 3px #692b29,0 6px #4d2131,0 10px 18px #17091b80;-webkit-text-stroke:1px #ffe0a4;margin:17px 0 20px;font-size:clamp(55px,6.9vw,94px);line-height:1.07}.home-copy h1>span{color:#ffd266;display:block}.home-copy h1 strong{color:#fff0cc;font-weight:400;display:block}.title-spark{color:#ffb74f}.home-copy>p:not(.privacy-note){color:#f2dfe0;letter-spacing:-.02em;margin-bottom:27px;font-size:17px;line-height:1.8}.start-button{justify-content:space-between;gap:15px;width:min(100%,430px);min-height:73px;padding:12px 26px 12px 11px;font-size:26px;border-radius:99px!important}.play-disc{color:#fff6bc;background:linear-gradient(#ff904d,#e04428);border:2px solid #fff0ae;border-radius:50%;place-items:center;width:45px;height:45px;display:grid;box-shadow:0 3px #a83420}.play-disc svg{fill:currentColor;stroke-width:1px}.home-copy>.secondary{width:min(100%,430px);min-height:46px;box-shadow:none;background:#372039aa;border-radius:99px;margin-top:18px;font-size:17px;display:flex}.home-copy .privacy-note{justify-content:flex-start;margin-top:19px;font-size:10px}.home-character{justify-content:center;align-items:center;min-height:440px;display:flex;position:relative}.home-character .robot{z-index:3;width:clamp(250px,33vw,430px);max-height:490px;animation:5s ease-in-out infinite float;position:relative}.character-halo{background:radial-gradient(#ff9b4830,#0000 65%);position:absolute;top:12%;bottom:0;left:0;right:0}.character-platform{background:radial-gradient(#ffad4b72,#5a2a4250 65%);border:2px solid #ffc86c;border-radius:50%;height:75px;position:absolute;bottom:1%;left:7%;right:2%;box-shadow:0 7px #58263b,0 14px 28px #ff8c3733}.speech-bubble{z-index:5;color:#562b33;background:#fff0cd;border:2px solid #ffce6a;border-radius:24px 24px 24px 3px;padding:16px 22px;font-size:14px;line-height:1.6;position:absolute;top:20%;right:-25px;transform:rotate(3deg);box-shadow:0 6px 12px #200a2844}.speech-bubble b{font-family:Jua;font-size:19px}.orbit{background:#ffcf6c;border-radius:4px;width:15px;height:15px;position:absolute;transform:rotate(45deg);box-shadow:0 0 20px #ffb254}.orbit-one{top:10%;right:7%}.orbit-two{width:9px;height:9px;bottom:24%;left:8%}.home-missions{grid-column:1/-1;grid-template-columns:repeat(3,1fr);gap:70px;padding:15px 8% 10px;display:grid;position:relative}.home-missions:before{content:"";opacity:.7;background:linear-gradient(90deg,#0000,#f9b44e,#0000);height:2px;position:absolute;top:64px;left:15%;right:15%}.home-missions>div{text-align:center;flex-direction:column;align-items:center;display:flex;position:relative}.home-missions small{color:#f0c892;letter-spacing:.1em;margin-top:9px;font-size:10px}.home-missions b{margin-top:3px;font-family:Jua;font-size:19px;font-weight:400}.island-art{background:radial-gradient(at 50% 100%,#ffb94e35,#0000 65%);justify-content:center;align-items:center;width:115px;height:77px;display:flex;position:relative}.island-art:after{content:"";z-index:-1;background:linear-gradient(#974b3f,#472438);border:1px solid #b07754;border-radius:50%;width:110px;height:24px;position:absolute;bottom:-3px}.mission-hand{filter:drop-shadow(0 3px 5px #ffa01b80);font-size:63px;line-height:1}.mission-flame{color:#ffd365;filter:drop-shadow(0 0 15px #ff8d2d80);place-items:center;display:grid}.mission-flame svg{fill:#ffbb49;stroke:#fff1ac}.home-footer{color:#c6aebf;grid-column:1/-1;justify-content:space-between;align-items:center;gap:18px;padding:26px 0 18px;display:flex}.home-footer button,.app-footer button{color:inherit;background:0 0;border:0;align-items:center;gap:7px;padding:8px 0;font-size:12px;display:flex}.home-footer>span{color:#bda4ba;font-size:10px}.home-footer button:hover{color:#ffdb91}.section-heading{text-align:center;margin-bottom:32px}.section-heading h1{margin:10px 0 11px;font-size:37px;line-height:1.3}.section-heading p{color:#decbdf;font-size:15px;line-height:1.7}.setup-content,.map-content,.learning-content,.brief-content,.play-content,.success-content,.results-content{width:min(1200px,100% - 76px);margin:42px auto 0;position:relative}.glass-panel{background:linear-gradient(145deg,#4e3254e8,#25162fe8);border:1px solid #b484a7a0;border-radius:25px;box-shadow:inset 0 1px #efbfeb38,0 9px 30px #16091f44}.setup-grid{grid-template-columns:1.1fr 1fr;gap:35px;max-width:970px;margin:auto;display:grid}.setup-grid>.glass-panel{height:-moz-fit-content;height:fit-content;padding:12px}.setup-guide{align-self:center;padding-left:105px;position:relative}.setup-guide>.robot{width:120px;position:absolute;bottom:10px;left:-15px}.setup-guide ol{counter-reset:item;flex-direction:column;gap:25px;margin:10px 0 20px;padding:0;list-style:none;display:flex}.setup-guide li{padding-left:35px;position:relative}.setup-guide li:before{counter-increment:item;content:counter(item);color:#57261e;background:#ffcd65;border-radius:50%;place-items:center;width:23px;height:23px;font-family:Jua;display:grid;position:absolute;top:0;left:0}.setup-guide li b{margin-bottom:6px;font-size:15px;display:block}.setup-guide li span{color:#d7bed3;font-size:12px;line-height:1.6}.setup-content>.bottom-actions{margin-top:34px}.map-content{text-align:center}.map-islands{grid-template-columns:repeat(3,1fr);gap:35px;margin:50px auto 0;padding:0 15px;display:grid}.map-island{text-align:center;background:linear-gradient(160deg,#603943db,#2c1937ee);border:1px solid #cf9b77a0;border-radius:28px;padding:28px 15px 24px;transition:transform .2s;position:relative;box-shadow:inset 0 2px #ffdeb32a,0 8px #26142e,0 15px 30px #1b0c2455}.map-island:not(:disabled):hover{border-color:#ffe2a1;transform:translateY(-8px)}.island-number{letter-spacing:.08em;color:#ffd786;background:#4b2c35;border:1px solid #a06a59;border-radius:99px;justify-content:center;align-items:center;padding:3px 10px;font-size:11px;display:inline-flex}.map-art{justify-content:center;align-items:center;height:125px;display:flex}.map-art .mini{transform:scale(1.3)}.map-art .mission-hand{font-size:86px}.map-art .mission-flame svg{width:87px;height:87px}.map-island h2{font-size:25px}.map-island p{color:#c8adc6;margin:9px 0 25px;font-size:11px}.island-cta{color:#ffe1a3;justify-content:center;align-items:center;gap:10px;font-size:13px;display:flex}.map-island.locked{opacity:.58}.map-island.finished{border-color:#e1af53}.map-guide{justify-content:center;align-items:center;gap:20px;margin:35px 0;display:flex}.map-guide .robot{width:100px;height:110px}.map-guide p{text-align:left;color:#dbc5dc;font-size:13px;line-height:1.9}.map-guide b{color:#ffdfa4}.page-title{justify-content:space-between;align-items:center;gap:20px;margin-bottom:23px;display:flex}.page-title h1{margin-top:5px;font-size:37px}.learning-steps{justify-content:center;gap:24px;max-width:850px;margin:0 auto 26px;display:flex}.learning-steps>div{color:#bc9dc6;background:#3d254be6;border:1px solid #906d9b9e;border-radius:99px;flex:1;justify-content:center;align-items:center;gap:12px;min-height:46px;font-family:Jua;font-size:19px;display:flex;position:relative}.learning-steps>div+div:before{content:"›";color:#d79774;font-size:29px;position:absolute;left:-17px}.learning-steps>div>span{background:#a189b54d;border-radius:50%;place-items:center;width:27px;height:27px;font-size:17px;display:grid}.learning-steps .current{color:#692c1c;background:linear-gradient(#ffe68b,#ffbd47);border-color:#ffedab;box-shadow:0 0 15px #ffbd3b30}.learning-steps .current>span{color:#ffedb3;background:#b95826}.learning-steps .passed{color:#ebd8b5}.learning-grid{grid-template-columns:1.36fr 1fr;align-items:start;gap:24px;display:grid}.camera-panel{padding:13px;overflow:hidden}.camera-preview{aspect-ratio:4/3;isolation:isolate;background:radial-gradient(at 45% 30%,#664162,#271c36);border-radius:16px;position:relative;overflow:hidden}.camera-preview video{object-fit:cover;width:100%;height:100%;display:block;transform:scaleX(-1)}.camera-preview canvas{z-index:3;pointer-events:none;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.camera-label{z-index:5;background:#21142899;border:1px solid #c4a2c039;border-radius:99px;align-items:center;gap:9px;padding:5px 10px;font-size:12px;display:flex;position:absolute;top:13px;left:15px}.camera-label i{background:#9f83a8;border-radius:50%;width:5px;height:5px;margin-left:7px}.camera-label i.live{background:#9ff0c8;box-shadow:0 0 8px #85eab066}.camera-guide{z-index:2;pointer-events:none;border:2px solid #f6edd2a0;border-radius:18px;width:44%;height:64%;position:absolute;top:18%;left:28%;box-shadow:0 0 0 120px #160c1b18}.face-guide{border-radius:50%;width:46%;height:76%;top:12%;left:27%}.camera-preview.rps .camera-guide{width:64%;height:74%;top:14%;left:18%}.demo-visual{color:#ac8cae;flex-direction:column;justify-content:center;align-items:center;gap:18px;height:100%;padding-top:20px;display:flex}.demo-visual>.gesture{font-size:125px}.demo-visual>.color-card{border-width:3px;border-radius:14px;width:115px;height:165px;transform:rotate(-6deg)}.demo-visual p{font-size:12px}.camera-state{z-index:4;color:#e4cfe1;text-align:center;background:#2c1d36eb;flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:45px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.camera-state p{max-width:290px;font-size:13px;line-height:1.8}.camera-caption{text-align:center;color:#54303d;background:#fff0d4;border-radius:0 0 12px 12px;justify-content:center;align-items:center;gap:10px;min-height:54px;margin-top:8px;padding:11px;font-family:Jua;font-size:19px;display:flex}.camera-caption strong{color:#a34630;font-size:29px}.record-dot{background:#e14435;border-radius:50%;width:9px;height:9px;animation:1s infinite pulse}.class-panel{padding:22px}.panel-label{color:#e2c8da;margin:0 0 15px;font-size:13px;font-weight:700;display:block}.class-list{flex-direction:column;gap:12px;display:flex}.class-row{text-align:left;background:linear-gradient(120deg,#79588080,#51385980);border:1px solid #9b7caba0;border-radius:17px;align-items:center;gap:20px;width:100%;min-height:99px;padding:13px 18px;display:flex}.class-row>span:nth-child(2){flex:1}.class-row b{color:#fff1dc;font-family:Jua;font-size:22px;font-weight:400;display:block}.class-row small{color:#d6c3db;margin-top:5px;font-size:13px;display:block}.class-row.selected{background:linear-gradient(135deg,#ffe19e,#ffc75e);border:2px solid #ffe69b;padding:12px 17px;box-shadow:0 0 14px #ffb43a30}.class-row.selected b{color:#5b2730}.class-row.selected small{color:#794733}.class-row .sample-track{background:#1e0d2d45;border-radius:99px;height:4px;margin-top:8px;display:block;overflow:hidden}.sample-track i{background:#ffe7b5;height:100%;transition:width .2s;display:block}.class-row.selected .sample-track i{background:#b85d30}.color-card{color:#ffffffb3;border:1px solid #ffffff90;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:45px;height:62px;display:inline-flex;transform:rotate(-8deg);box-shadow:inset 0 2px 3px #ffffff4d,0 3px #1c142c80}.color-card.red{background:linear-gradient(125deg,#ff6f64,#ed3a43)}.color-card.blue{background:linear-gradient(125deg,#57aaff,#336ae8)}.color-card.yellow{color:#9e6a20;background:linear-gradient(125deg,#ffe48b,#f6bf36)}.color-card.small{border-radius:4px;width:24px;height:33px}.gesture{filter:drop-shadow(0 3px 2px #2c142750);font-size:51px;line-height:1.2;display:inline-block}.gesture.small{font-size:27px}.check-badge{color:#fff7cf;background:#7eaa6a;border-radius:50%;flex-shrink:0;place-items:center;width:30px;height:30px;display:grid}.collect-button{width:100%;margin:19px 0 12px;font-size:21px}.learning-next{text-align:center;border-top:1px solid #b48caf3b;margin-top:17px;padding-top:17px}.learning-next .button{width:100%;min-height:49px;font-size:18px}.learning-next .text-button{font-size:11px}.demo-quick{color:#e2c59f;background:#3a263c;border:1px dashed #c399a6;border-radius:10px;width:100%;min-height:35px;margin-top:8px;font-size:11px}.robot-tip{justify-content:center;align-items:center;gap:17px;max-width:660px;min-height:80px;margin:20px auto 0;display:flex}.robot-tip .robot{width:67px;max-height:85px}.robot-tip p{color:#623d45;background:#fff0cf;border-radius:16px 16px 16px 3px;max-width:490px;padding:13px 20px;font-size:12px;line-height:1.7}.recognition{text-align:center;color:#c5adca;justify-content:center;align-items:center;gap:7px;padding:14px 8px 5px;font-size:12px;display:flex}.recognition i{background:#ad8db2;border-radius:50%;width:5px;height:5px}.recognition.recognized{color:#ffe09e}.recognition.recognized i{background:#ffda7b}.demo-controls{text-align:center;padding:12px 0 0}.demo-controls>span{color:#c3a5c3;margin-bottom:8px;font-size:10px;display:block}.demo-controls>div{flex-wrap:wrap;justify-content:center;gap:7px;display:flex}.demo-controls button{color:#f0dbe9;background:#382340;border:1px solid #8c678b;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:43px;padding:8px 10px;font-size:11px;display:flex}.demo-controls button.active{color:#ffe6a0;background:#694139;border-color:#ffcf72}.demo-controls .color-card.small{width:14px;height:21px}.demo-controls .color-card svg{width:9px;height:9px}.demo-controls .gesture.small{font-size:21px}.check-grid{grid-template-columns:1fr 1fr;gap:25px;display:grid}.check-answer{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:320px;padding:28px;display:flex}.check-answer>.color-card{width:70px;height:99px;margin:12px 0}.check-answer>.gesture{font-size:90px}.check-answer h2{color:#ffe0a1;margin:10px 0;font-size:33px}.mapping-preview{color:#ffd06b;border-top:1px solid #b58aaf40;justify-content:center;align-items:center;gap:20px;width:100%;min-height:80px;margin-top:15px;padding-top:20px;display:flex}.mapping-preview>img{object-fit:contain;width:100px;max-height:90px}.mapping-preview>b{font-size:16px}.unknown-input{color:#bb98bd;padding:20px 0}.unknown-input h2{color:#d4bbd5;font-size:24px}.verification-list{grid-template-columns:repeat(3,1fr);gap:15px;margin-top:24px;display:grid}.verification-list>div{color:#cdb4cf;background:#38233dd9;border:1px solid #9b719966;border-radius:14px;justify-content:center;align-items:center;gap:13px;padding:14px;display:flex}.verification-list .next{color:#ffdfa3;border-color:#eac071}.verification-list .verified{background:#58433ae6;border-color:#b9985f}.verification-list b{font-size:13px}.verification-list span:last-child{align-items:center;gap:4px;font-size:11px;display:flex}.verification-list .verified span:last-child{color:#e9d496}.check-instruction{text-align:center;color:#f5dccb;min-height:27px;margin:22px 0;font-size:14px}.brief-content{text-align:center;max-width:770px;margin-top:60px}.brief-art{justify-content:center;align-items:center;height:140px;margin-bottom:25px;display:flex;position:relative}.brief-art .mission-hand{font-size:100px}.brief-art .mission-flame svg{width:115px;height:115px}.brief-art .mini{transform:scale(1.8)}.brief-orbit{z-index:-1;border:1px solid #e6b2674d;border-radius:50%;width:175px;height:125px;position:absolute;transform:rotate(-20deg);box-shadow:0 0 70px #ffac2430}.brief-content h1{margin:12px 0 21px;font-size:43px}.brief-content>p{color:#e1cce0;max-width:590px;margin:auto;font-size:17px;line-height:1.9}.brief-rules{color:#f6d8bf;flex-wrap:wrap;justify-content:center;gap:16px;margin:32px 0;font-size:13px;display:flex}.brief-rules>span{background:#40263fbb;border:1px solid #b98a9670;border-radius:14px;align-items:center;gap:9px;padding:16px 21px;display:flex}.brief-content .bottom-actions{flex-direction:column;gap:11px}.brief-content .primary{min-width:250px}.play-content{margin-top:35px}.game-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:19px;display:flex}.game-heading h1{margin-top:3px;font-size:30px}.score-chip{color:#ccb3ca;background:#3c2447d9;border:1px solid #aa7da2;border-radius:99px;align-items:center;gap:9px;padding:10px 21px;font-size:15px;display:flex}.score-chip strong{color:#ffdb83;font-family:Jua;font-size:26px;font-weight:400}.game-instruction{text-align:center;color:#fff0d2;max-width:900px;min-height:76px;margin:0 auto 24px;font-family:Jua;font-size:32px;line-height:1.3}.game-instruction small{color:#d5b6cc;margin-top:10px;font-family:Apple SD Gothic Neo,sans-serif;font-size:12px;display:block}.signal-word.red{color:#ff8578}.signal-word.blue{color:#86bcff}.signal-word.yellow{color:#ffd66d}.play-grid{grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr);gap:24px;display:grid}.road-scene{background:#3c2541 url(/assets/road.png) 50%/cover no-repeat;border:1px solid #aa7679a0;border-radius:23px;min-height:390px;position:relative;overflow:hidden;box-shadow:0 8px 20px #1c091b55}.road-scene:after{content:"";opacity:0;pointer-events:none;background:linear-gradient(#0000,#ffbf5b30);position:absolute;top:50%;bottom:0;left:20%;right:20%}.road-scene.moving:after{opacity:.5;animation:road-pulse var(--road-speed) linear infinite}.road-progress{z-index:2;background:#25172cba;border:1px solid #a07e9480;border-radius:99px;gap:10px;padding:8px 12px;display:flex;position:absolute;top:14px;left:50%;transform:translate(-50%)}.road-progress>span{background:#4c385e;border:1px solid #a58eaf;border-radius:50%;place-items:center;width:23px;height:23px;font-size:10px;display:grid}.road-progress>span.done,.road-progress>span.current{color:#753820;background:#f9c35b;border-color:#ffe9a2}.road-progress>span.current{box-shadow:0 0 12px #ffae4350}.traffic-light{background:linear-gradient(100deg,#2a2631,#141523);border:3px solid #a69aa6;border-radius:22px;flex-direction:column;gap:9px;width:87px;padding:10px;display:flex;box-shadow:inset 1px 0 1px #fff8,4px 5px #1c132c55}.traffic-light:after{content:"";background:linear-gradient(90deg,#4a414d,#958895,#423345);border-radius:0 0 3px 3px;width:17px;height:45px;position:absolute;bottom:-45px;left:calc(50% - 8px)}.traffic-light i{background:#272436;border:2px solid #49445a;border-radius:50%;width:59px;height:59px;display:block;box-shadow:inset 0 3px 6px #080815c7}.traffic-light i.red{background:#432730}.traffic-light i.blue{background:#1e2944}.traffic-light i.yellow{background:#45352b}.traffic-light i.red.lit{background:#ff554b;border-color:#ffb08b;box-shadow:inset 0 0 12px #ffbeb1,0 0 23px #f6534666}.traffic-light i.blue.lit{background:#438cff;border-color:#a2c5ff;box-shadow:inset 0 0 12px #a2c7ff,0 0 23px #4c84e977}.traffic-light i.yellow.lit{background:#ffce4e;border-color:#fff2a3;box-shadow:inset 0 0 12px #fff7b1,0 0 23px #ffc34c77}.traffic-light.mini{border-width:2px;border-radius:12px;gap:4px;width:41px;padding:5px;position:relative}.traffic-light.mini i{border-width:1px;width:26px;height:26px}.traffic-light.mini:after{width:7px;height:10px;bottom:-10px;left:calc(50% - 3px)}.road-scene>.traffic-light{z-index:2;transform-origin:0 0;position:absolute;top:24%;left:6%;transform:scale(.83)}.game-car{object-fit:contain;filter:drop-shadow(0 9px 5px #1c0a1d80);z-index:3;width:46%;max-width:300px;height:43%;position:absolute;bottom:4%;left:29%}.car-bounce{animation:.5s ease-in-out infinite car-bounce}.speed-label{z-index:3;background:#2e182cb3;border:1px solid #ffd27880;border-radius:99px;padding:7px 17px;font-family:Jua;font-size:19px;position:absolute;top:46%;left:45%}.hold-meter{z-index:4;background:#45243099;border-radius:99px;width:30%;height:4px;position:absolute;bottom:13px;left:35%;overflow:hidden}.hold-meter>i{background:#ffd66a;height:100%;transition:width 80ms;display:block}.live-input{min-width:0;padding:12px 12px 18px;position:relative}.live-input .camera-preview{border-radius:14px}.live-input .camera-label{padding:4px 7px;font-size:10px;top:10px;left:9px}.live-input .demo-visual>.gesture{font-size:75px}.live-input .demo-visual>.color-card{width:65px;height:95px}.live-input .camera-guide{border-width:1px}.live-input .recognition{min-height:41px;font-size:11px}.live-input .demo-controls button{gap:5px;padding:6px;font-size:10px}.input-mapping{color:#58313c;text-align:center;background:#fff0d0;border-radius:13px;justify-content:center;align-items:center;gap:12px;min-height:57px;margin-top:13px;padding:11px;font-family:Jua;font-size:20px;display:flex}.input-mapping p{font-size:15px}.input-robot{pointer-events:none;width:72px;display:block;position:absolute;bottom:-40px;right:0}.traffic-legend{background:#36203edb;border:1px solid #9d6a8f80;border-radius:19px;justify-content:space-around;gap:10px;margin-top:24px;padding:16px 10px;display:flex}.traffic-legend>span{color:#e3bdce;align-items:center;gap:15px;font-family:Jua;font-size:18px;display:flex}.traffic-legend b{color:#ffe7bc;font-weight:400}.scene-overlay{z-index:8;text-align:center;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#29162de8;flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:25px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.scene-overlay>svg{color:#ffb84d}.scene-overlay h2{font-size:27px}.scene-overlay p{color:#dfc5db;font-size:14px;line-height:1.8}.scene-overlay .primary{font-size:19px}.win-stars{align-items:center;gap:9px;display:flex}.win-stars>span{color:#947096}.win-stars>span.earned{color:#ffd15b;filter:drop-shadow(0 0 8px #ffaf4555)}.win-stars .earned svg{fill:#ffd15b;stroke:#fff3ac}.win-stars b{color:#ffe3ac;margin-left:12px;font-family:Jua;font-size:23px;font-weight:400}.duel-stage{grid-template-columns:1fr 70px 1fr;align-items:center;max-width:900px;margin:12px auto 15px;display:grid}.duel-side{flex-direction:column;align-items:center;padding:40px 20px 20px;display:flex;position:relative}.duel-hand{z-index:2;justify-content:center;align-items:center;width:90%;min-width:215px;height:190px;display:flex;position:relative}.duel-hand:after{content:"";z-index:-1;background:radial-gradient(#d7854150,#6e3948 60%);border:2px solid #dba359;border-radius:50%;height:50px;position:absolute;bottom:-8px;left:-12%;right:-12%;box-shadow:0 12px #442239,0 20px 22px #190c2555}.duel-hand .gesture{font-size:140px}.duel-side>.robot{z-index:0;width:44%;max-height:250px;position:absolute;top:-12%;left:-15%;transform:rotate(-6deg)}.mystery-hand{color:#fff0c9;filter:drop-shadow(0 0 25px #ffbf4d40);font-family:Jua;font-size:120px;line-height:1}.duel-name{z-index:3;background:#47233fdf;border:1px solid #c38990;border-radius:99px;margin-top:32px;padding:5px 30px;font-family:Jua;font-size:23px}.duel-side>b{color:#dbc0d6;margin-top:11px;font-size:12px;font-weight:400}.duel-vs{text-align:center;color:#ffd288;font-family:Jua;font-size:29px}.duel-bottom{grid-template-columns:210px 1fr;align-items:center;gap:30px;max-width:930px;margin:24px auto 0;display:grid}.duel-camera{border-radius:18px;padding:8px}.duel-camera .camera-preview{border-radius:11px}.duel-camera .camera-label{padding:3px 7px;font-size:9px;top:6px;left:5px}.duel-camera .camera-label svg{width:12px}.duel-camera .demo-visual .gesture{font-size:60px}.duel-camera .demo-visual p{font-size:9px}.duel-camera .demo-visual>svg{width:30px}.duel-actions{text-align:center}.duel-actions .primary{margin-top:13px;font-size:19px}.duel-actions>.helper{margin-top:12px}.duel-actions>.demo-controls{padding-top:0}.game-rps .game-instruction{margin-bottom:0}.fire-scene{background:radial-gradient(at 50% 75%,#f9a74426,#0000 65%),linear-gradient(#0000,#472538b3);border-bottom:1px solid #bf8a6255;border-radius:25px;justify-content:space-around;align-items:center;min-height:375px;padding:20px 30px 50px;display:flex;position:relative}.fire-scene>.robot{z-index:2;width:45%;max-height:310px;position:relative}.fire-reactor{filter:drop-shadow(0 0 23px #ffad3420);width:41%;min-width:130px;max-width:205px;position:relative}.reactor-cap{color:#ffd567;background:linear-gradient(#a8734c,#503247);border:2px solid #e4b465;border-radius:50% 50% 0 0;justify-content:center;align-items:center;height:32px;display:flex}.reactor-cap svg{fill:#ffd567;stroke:#ffe9ad}.reactor-glass{background:linear-gradient(90deg,#ffbe4015,#ffe5a82b,#ffbd4d0d);border:0;border-left:2px solid #ffc45c;border-right:2px solid #ffc45c;border-radius:0 0 15px 15px;justify-content:center;align-items:flex-end;height:235px;display:flex;position:relative;overflow:hidden}.reactor-base{background:linear-gradient(#8b5144,#422b40);border:2px solid #d49d5b;border-radius:5px 5px 13px 13px;justify-content:center;align-items:center;gap:8px;height:45px;display:flex}.reactor-base i{background:#ffce58;border:1px solid #f2b357;border-radius:3px;width:10px;height:21px;box-shadow:0 0 11px #ffbd4360}.living-flame{color:#ffbc42;transform-origin:bottom;transform:scale(calc(.46 + var(--intensity,0)*.48));filter:drop-shadow(0 0 20px #ffb23288);transition:transform .4s}.living-flame svg{fill:#ffc64b;stroke:#ffe89c;max-width:100%;height:auto}.living-flame svg path:last-child{fill:#fff1bc}.charging .living-flame{animation:.9s ease-in-out infinite flame-flicker}.energy-spark{background:#ffe291;border-radius:50%;width:4px;height:4px;animation:3s linear infinite spark-rise;position:absolute;box-shadow:0 0 11px #ffc95b}.s1{animation-delay:-1s;left:20%}.s2{animation-delay:-2s;left:70%}.s3{left:50%}.charging-status{text-align:center;color:#ffd888;font-size:12px;position:absolute;bottom:10px;left:0;right:0}.energy-dashboard{background:linear-gradient(130deg,#58314cd9,#2e1c3ee8);border:1px solid #b38aa7;border-radius:23px;align-items:center;gap:23px;margin-top:27px;padding:22px 25px;display:flex;box-shadow:inset 0 1px #f5c2e44d}.energy-dashboard>span{color:#ffda8b;white-space:nowrap;align-items:center;gap:11px;font-family:Jua;font-size:21px;display:flex}.energy-dashboard>span svg{color:#ffb84c;fill:#ffcc58;stroke:#ffeca8}.energy-dashboard b{font-weight:400}.energy-meter{background:#23152e;border:1px solid #c2a1ad;border-radius:99px;flex:1;height:27px;padding:3px;position:relative}.energy-meter>i{background:linear-gradient(#fff09b,#ffb52c);border-radius:99px;max-width:100%;height:100%;transition:width 90ms;display:block;box-shadow:0 0 14px #ffb63366}.energy-meter>span{border-left:1px solid #ffe5ba70;position:absolute;top:-6px;bottom:-5px}.energy-meter small{color:#c6a4be;font-size:9px;position:absolute;bottom:-16px;left:-6px}.energy-dashboard>strong{color:#ffd66d;white-space:nowrap;font-family:Jua;font-size:38px;font-weight:400}.energy-dashboard>strong>small{color:#c1a9c6;font-family:inherit;font-size:21px}.energy-note{color:#dec6da;justify-content:center;align-items:center;gap:9px;margin:25px 0 0;font-size:12px;display:flex}.live-input>.helper{margin-top:16px;font-size:10px}.camera-interruption{z-index:20;background:#39223bf5;border:1px solid #e1b987;border-radius:18px;align-items:center;gap:14px;max-width:90vw;padding:16px 22px;display:flex;position:fixed;bottom:30px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #1c091f80}.camera-interruption p{max-width:450px;font-size:13px;line-height:1.7}.camera-interruption .button{white-space:nowrap;min-height:40px;font-size:15px}.success-content{text-align:center;max-width:900px;margin-top:40px}.success-medal{background:radial-gradient(#e9953a50,#783c4850);border:2px solid #ffd484;border-radius:50%;justify-content:center;align-items:center;width:155px;height:155px;margin:25px auto;display:flex;position:relative;box-shadow:0 0 60px #e9a83e27,inset 0 0 25px #ffdb6c22}.success-medal .mini{transform:scale(1.3)}.success-medal>.mission-hand{font-size:90px}.success-medal>.mission-flame svg{width:95px;height:95px}.success-medal>span:last-child{color:#ffeda8;background:#866d34;border:2px solid #fff0b4;border-radius:50%;place-items:center;width:42px;height:42px;display:grid;position:absolute;bottom:0;right:-3px}.success-content h1{margin:18px 0;font-size:38px}.success-content>p{color:#dfc8dd;font-size:15px;line-height:1.8}.success-content p>b{color:#ffd584}.success-content>.robot{height:175px;margin:20px auto;display:block}.success-content .bottom-actions{margin:20px 0 0}.confetti{pointer-events:none;z-index:-1;position:absolute;top:0;bottom:0;left:0;right:0}.confetti i{left:calc(var(--i)*5.8%);width:6px;height:13px;animation:confetti-fall calc(3s + var(--i)*.11s) ease-in infinite;animation-delay:calc(var(--i)*-.24s);background:#ffd76d;border-radius:2px;position:absolute;top:-30px}.confetti i:nth-child(3n){background:#eb7a63}.confetti i:nth-child(3n+1){background:#d7b2e0}.results-content{text-align:center;max-width:1100px;margin-top:45px}.results-content>h1{margin:13px 0;font-size:43px}.results-content>p{color:#d6bbd4;font-size:15px;line-height:1.8}.result-badges{grid-template-columns:repeat(3,1fr);gap:25px;margin:35px auto;display:grid}.result-badges>div{opacity:.55;background:linear-gradient(130deg,#653d48bb,#2e1a3eeb);border:1px solid #c0947399;border-radius:24px;flex-direction:column;align-items:center;padding:27px 18px 24px;display:flex}.result-badges>div.earned{opacity:1}.result-badges>div>.mini{margin:8px 0 25px}.result-badges .mission-hand{margin:2px 0 12px;font-size:74px}.result-badges .mission-flame{height:100px}.result-badges h2{color:#ffda8a;margin-top:10px;font-size:23px}.result-badges span:not(.mission-hand):not(.mission-flame){color:#d7bed1;margin-top:12px;font-size:12px}.result-badges small{color:#cbb0cc;margin-top:9px;font-size:10px}.result-lesson{border-top:1px solid #aa7ba655;border-bottom:1px solid #aa7ba655;justify-content:center;align-items:center;gap:17px;margin:35px auto;padding:22px 10px;display:flex}.result-lesson>span{color:#e8d0e0;align-items:center;gap:9px;font-size:12px;display:flex}.result-lesson b{color:#4a242d;background:#d69b54;border-radius:50%;place-items:center;width:24px;height:24px;font-family:Jua;font-weight:400;display:grid}.result-lesson>svg{color:#bb8b89;width:16px}.results-content .privacy-note{margin:24px 0 35px;font-size:11px;display:block}.app-footer{color:#bca1bc;justify-content:space-between;align-items:center;gap:20px;width:calc(100% - 76px);max-width:1200px;margin:30px auto 0;padding:15px 0;display:flex}.app-footer>span{font-size:10px}.toast{z-index:100;color:#542f3a;background:#fff0cd;border:1px solid #ffcf78;border-radius:14px;align-items:center;gap:10px;width:max-content;max-width:calc(100vw - 35px);padding:15px 22px;font-size:13px;line-height:1.6;display:flex;position:fixed;bottom:26px;left:50%;transform:translate(-50%);box-shadow:0 7px 25px #1b0b2566}.toast>svg{color:#d78a32;flex-shrink:0}.modal-backdrop{z-index:80;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#170c24d9;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0;overflow:auto}.modal{text-align:center;width:min(640px,100%);max-height:90svh;padding:40px;position:relative;overflow:auto;box-shadow:0 25px 100px #100815a0}.modal-close{width:32px;min-width:32px;height:32px;position:absolute;top:17px;right:17px}.modal h2{margin:10px 0 19px;font-size:30px}.modal>p{color:#d9c1d6;font-size:13px;line-height:1.9}.modal>.button{margin-top:27px}.help-list{text-align:left;flex-direction:column;gap:15px;margin:27px 0;display:flex}.help-list>div{border-bottom:1px solid #9e7a9a44;align-items:center;gap:25px;padding-bottom:15px;display:flex}.help-list>div>.mini{flex-shrink:0;margin:0 3px}.help-list .mission-hand{text-align:center;width:46px;font-size:40px}.help-list .mission-flame svg{width:46px;height:42px}.help-list b{color:#ffd586;font-family:Jua;font-size:19px;font-weight:400}.help-list p{color:#d2b6d0;margin-top:5px;font-size:12px;line-height:1.8}.modal .modal-note{color:#c6a9c4;background:#26172d70;border-radius:12px;padding:15px;font-size:11px}.modal .bottom-actions{margin-top:27px}.teacher-options{flex-direction:column;gap:12px;margin:25px 0;display:flex}.teacher-options .button{min-height:48px;font-size:17px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-9px)}}@keyframes pulse{50%{opacity:.4}}@keyframes car-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes road-pulse{0%{opacity:.1;transform:translateY(-10px)}to{opacity:.4;transform:translateY(25px)}}@keyframes flame-flicker{0%,to{filter:drop-shadow(0 0 18px #ffac4380)}50%{filter:drop-shadow(0 0 33px #ffae4390)}}@keyframes spark-rise{0%{opacity:0;bottom:5%}20%{opacity:1}to{opacity:0;bottom:90%}}@keyframes confetti-fall{0%{opacity:0;transform:translateY(0)rotate(0)}15%{opacity:.7}to{opacity:0;transform:translateY(550px)rotate(250deg)}}@media (min-width:1500px){.home-content{max-width:1390px;padding-top:45px}.home-copy h1{font-size:102px}.home-character .robot{width:470px;max-height:540px}.home-missions{padding-top:32px;padding-bottom:18px}.home-copy>p:not(.privacy-note){font-size:19px}.home-footer{padding-top:32px}.learning-content,.play-content{max-width:1240px}}@media (max-width:1100px){.site-header{gap:18px;padding:18px 28px}.mission-progress em{display:none}.mission-progress{gap:24px}.brand{font-size:23px}.home-content{column-gap:10px;padding:10px 38px 0}.home-copy h1{font-size:70px}.home-character{min-height:390px}.home-character .robot{width:340px;max-height:420px}.speech-bubble{padding:12px 16px;font-size:12px;top:12%;right:-7px}.speech-bubble b{font-size:17px}.home-copy>p:not(.privacy-note){font-size:15px}.start-button{min-height:65px;font-size:22px}.home-missions{gap:45px;padding-left:6%;padding-right:6%}.home-missions b{font-size:18px}.setup-content,.map-content,.learning-content,.brief-content,.play-content,.success-content,.results-content{width:calc(100% - 52px)}.learning-grid{grid-template-columns:1.25fr 1fr;gap:18px}.class-panel{padding:16px}.class-row{gap:15px;min-height:91px;padding:11px 14px}.class-row.selected{padding:10px 13px}.class-row b{font-size:19px}.class-row .color-card{width:36px;height:51px}.class-row .gesture{font-size:42px}.collect-button{font-size:19px}.page-title h1{font-size:32px}.camera-caption{font-size:17px}.play-grid{grid-template-columns:1.7fr minmax(240px,1fr);gap:18px}.road-scene{min-height:360px}.game-instruction{font-size:29px}.input-mapping{font-size:17px}.energy-dashboard{gap:15px;padding:20px}.energy-dashboard>span{font-size:18px}.energy-dashboard>strong{font-size:32px}.map-islands{gap:20px;padding:0}.map-island h2{font-size:23px}.duel-side>.robot{width:40%;top:0;left:-5%}.duel-stage{max-width:760px}.duel-hand .gesture{font-size:125px}.duel-hand{min-width:170px;height:165px}.app-footer{width:calc(100% - 52px)}}@media (max-width:850px){.site-header{height:82px;padding:16px 23px}.brand{font-size:21px}.brand-mark{width:41px;height:41px}.brand small{font-size:9px}.header-actions{gap:7px}.icon-button{width:39px;min-width:39px;height:39px}.icon-button svg{width:19px}.mission-progress>span{gap:0}.mission-progress b{width:27px;height:27px}.mission-progress{gap:18px}.mission-progress>span+span:before{width:14px;left:-16px}.mode-badge{padding:4px 8px;font-size:9px;top:86px;right:23px}.home-content{grid-template-rows:minmax(340px,1fr) auto auto;gap:5px;min-height:calc(100svh - 82px);padding:5px 26px 0}.home-copy h1{margin:13px 0 16px;font-size:clamp(46px,7.8vw,67px)}.home-copy>.eyebrow{letter-spacing:.035em;font-size:10px}.home-copy>p:not(.privacy-note){margin-bottom:22px;font-size:13px}.start-button{min-height:60px;padding-right:15px;font-size:19px}.play-disc{width:37px;height:37px}.start-button>.play-disc svg{width:22px}.start-button>svg:last-child{width:18px}.home-copy>.secondary{min-height:40px;margin-top:16px;font-size:14px}.home-copy .privacy-note{letter-spacing:-.03em;margin-top:16px;font-size:9px}.home-character{min-height:330px}.home-character .robot{width:100%;height:360px}.speech-bubble{padding:9px 12px;font-size:10px;top:5%;right:0}.speech-bubble b{font-size:14px}.character-platform{height:55px;bottom:5%}.home-missions{gap:30px;padding:10px 10% 5px}.home-missions:before{top:53px}.home-missions .island-art{width:90px;height:65px}.home-missions .mission-hand{font-size:51px}.home-missions .mission-flame svg{height:50px}.home-missions .mini{transform:scale(.8)}.home-missions .island-art:after{width:95px;height:20px}.home-missions b{font-size:16px}.home-missions small{font-size:9px}.home-footer{padding:18px 0 13px}.home-footer>span{font-size:9px}.home-footer button{font-size:10px}.setup-content,.map-content,.learning-content,.brief-content,.play-content,.success-content,.results-content{width:calc(100% - 40px);margin-top:40px}.section-heading h1{font-size:31px}.section-heading p{font-size:13px}.setup-grid{grid-template-columns:1.05fr 1fr;gap:20px}.setup-guide{padding-left:12px}.setup-guide>.robot{display:none}.setup-guide li b{font-size:13px}.setup-guide li span{font-size:11px}.setup-guide ol{gap:22px}.page-title h1{font-size:29px}.learning-steps{gap:18px}.learning-steps>div{gap:8px;min-height:41px;font-size:16px}.learning-steps>div>span{width:23px;height:23px;font-size:14px}.learning-steps>div+div:before{font-size:24px;left:-14px}.learning-grid{grid-template-columns:1.15fr 1fr;gap:15px}.camera-panel{border-radius:19px;padding:9px}.camera-caption{min-height:49px;padding:10px;font-size:14px}.class-panel{border-radius:19px;padding:13px}.panel-label{margin-bottom:11px;font-size:11px}.class-list{gap:9px}.class-row{gap:10px;min-height:78px;padding:9px 12px}.class-row.selected{padding:8px 11px}.class-row b{font-size:17px}.class-row small{font-size:11px}.class-row .gesture{font-size:35px}.class-row .color-card{width:31px;height:43px}.class-row .color-card svg{width:19px}.class-row .check-badge{width:23px;height:23px}.collect-button{gap:8px;min-height:48px;margin-top:15px;padding:13px 7px;font-size:16px}.class-panel .helper{font-size:10px}.learning-next{margin-top:12px;padding-top:12px}.learning-next .button{min-height:44px;font-size:15px}.learning-next .text-button{font-size:9px}.demo-quick{min-height:32px;font-size:10px}.camera-label{padding:4px 7px;font-size:10px;top:10px;left:10px}.camera-label svg{width:16px}.demo-visual>.color-card{width:85px;height:120px}.demo-visual>.gesture{font-size:90px}.demo-visual p{font-size:10px}.robot-tip{margin-top:18px}.robot-tip p{font-size:11px}.recognition{font-size:10px}.check-answer{min-height:260px;padding:21px}.check-answer h2{font-size:27px}.check-answer>.color-card{width:55px;height:78px}.mapping-preview{margin-top:10px;padding-top:15px}.mapping-preview>img{width:75px}.mapping-preview>b{font-size:14px}.verification-list{gap:9px}.verification-list>div{gap:9px;padding:11px}.verification-list b{font-size:11px}.verification-list span:last-child{font-size:9px}.check-instruction{font-size:12px}.check-content .bottom-actions .button{font-size:18px}.game-heading h1{font-size:25px}.game-heading>.eyebrow{font-size:10px}.score-chip{gap:6px;padding:7px 14px;font-size:12px}.score-chip strong{font-size:23px}.game-instruction{min-height:67px;margin-bottom:18px;font-size:26px}.game-instruction small{font-size:11px}.play-grid{grid-template-columns:1.5fr minmax(220px,1fr);gap:14px}.road-scene{min-height:330px}.road-scene>.traffic-light{top:27%;transform:scale(.67)}.speed-label{padding:6px 12px;font-size:16px;top:49%}.road-progress{gap:7px;padding:7px 10px}.road-progress>span{width:20px;height:20px;font-size:9px}.live-input{padding:9px}.live-input .demo-controls button{font-size:9px}.live-input .camera-label{padding:3px 5px;font-size:9px}.live-input .camera-label svg{width:13px}.input-mapping{min-height:46px;margin-top:11px;font-size:15px}.input-mapping .color-card{width:20px;height:28px}.live-input .recognition{font-size:10px}.live-input .input-robot{width:55px;bottom:-24px}.traffic-legend{margin-top:22px;padding:13px 8px}.traffic-legend>span{gap:9px;font-size:15px}.traffic-legend .color-card{width:19px;height:27px}.win-stars{gap:6px}.win-stars svg{width:22px}.win-stars b{margin-left:6px;font-size:19px}.duel-stage{grid-template-columns:1fr 50px 1fr;margin-top:10px}.duel-hand .gesture{font-size:110px}.duel-hand{min-width:140px;height:145px}.duel-side>.robot{width:45%;top:7%;left:-9%}.duel-vs{font-size:24px}.duel-name{margin-top:28px;padding:4px 25px;font-size:20px}.duel-side>b{font-size:11px}.duel-bottom{grid-template-columns:170px 1fr;gap:20px;margin-top:15px}.duel-camera .camera-label{font-size:8px}.duel-actions .primary{min-height:46px;font-size:17px}.duel-actions .helper{font-size:10px}.fire-scene{min-height:310px;padding:20px 12px 45px}.fire-scene>.robot{max-height:260px}.fire-reactor{min-width:110px}.reactor-glass{height:194px}.reactor-cap{height:27px}.reactor-base{height:36px}.living-flame svg{width:145px}.charging-status{font-size:10px}.energy-dashboard{gap:15px;padding:18px 16px}.energy-dashboard>span{gap:7px;font-size:16px}.energy-dashboard>span svg{width:25px}.energy-dashboard>strong{font-size:29px}.energy-dashboard>strong small{font-size:17px}.energy-meter{height:24px}.map-islands{gap:14px;margin-top:30px}.map-island{border-radius:22px;padding:22px 10px}.map-island h2{font-size:20px}.map-island p{min-height:30px;margin-bottom:17px;font-size:10px}.island-cta{font-size:11px}.map-art{height:110px}.map-art .mission-hand{font-size:70px}.map-art .mission-flame svg{width:70px;height:70px}.map-art .mini{transform:scale(1.08)}.map-guide{margin:27px 0}.map-guide .robot{width:80px;height:90px}.map-guide p{font-size:12px}.brief-content h1{font-size:37px}.brief-content>p{font-size:15px}.brief-rules>span{padding:14px;font-size:12px}.brief-rules{gap:11px}.success-content h1{font-size:33px}.success-content>p{font-size:13px}.result-badges{gap:15px}.result-badges h2{font-size:19px}.result-badges>div{padding:23px 10px}.results-content h1{font-size:36px}.result-lesson{gap:11px}.result-lesson>span{gap:7px;font-size:10px}.result-lesson b{width:20px;height:20px}.result-lesson>svg{width:12px}.app-footer{width:calc(100% - 40px);margin-top:26px}.app-footer>span{font-size:9px}}@media (max-width:620px){.site-header{gap:10px;height:76px;padding:14px 17px}.brand{gap:8px;font-size:20px}.brand-mark{width:37px;height:37px}.brand small{font-size:8px}.header-actions{gap:7px}.icon-button{width:35px;min-width:35px;height:35px}.icon-button svg{width:17px}.mission-progress{display:none}.mode-badge{font-size:8px;top:78px;right:16px}.home-content{flex-wrap:wrap;justify-content:center;align-items:center;padding:10px 23px 0;display:flex;position:relative}.home-copy{text-align:center;order:1;width:100%;padding:5px 0 0}.home-copy h1{margin:11px 0 14px;font-size:58px}.home-copy>.eyebrow{font-size:10px}.home-copy>p:not(.privacy-note){margin-bottom:20px;font-size:14px;line-height:1.65}.home-copy .start-button,.home-copy>.secondary{max-width:355px;margin-left:auto;margin-right:auto}.home-copy .start-button{font-size:20px}.home-copy .privacy-note{justify-content:center;font-size:9px}.home-character{order:0;width:100%;height:245px;min-height:245px}.home-character .robot{width:225px;height:240px}.character-platform{width:220px;height:40px;bottom:0;left:calc(50% - 110px)}.speech-bubble{padding:8px 10px;font-size:10px;top:12%;right:calc(50% - 170px)}.speech-bubble b{font-size:13px}.orbit-one{top:12%;right:20%}.orbit-two{bottom:26%;left:20%}.home-missions{order:2;gap:15px;width:100%;padding:23px 0 5px}.home-missions:before{top:62px}.home-missions small{font-size:8px}.home-missions b{font-size:15px}.home-footer{order:3;width:100%;padding-top:19px}.home-footer>span{display:none}.home-footer button{font-size:11px}.setup-content,.map-content,.learning-content,.brief-content,.play-content,.success-content,.results-content{width:calc(100% - 30px);margin-top:36px}.section-heading{margin-bottom:23px}.section-heading h1{margin:8px 0 10px;font-size:27px}.section-heading p{font-size:12px}.setup-grid{flex-direction:column;gap:20px;display:flex}.setup-grid>.glass-panel{width:100%}.setup-guide{padding-left:10px;padding-right:5px}.setup-guide ol{gap:18px}.setup-guide li b{font-size:14px}.setup-guide li span,.setup-guide .text-link{font-size:12px}.setup-content>.bottom-actions{gap:15px;margin-top:25px}.button{min-height:50px;padding:12px 20px;font-size:18px}.page-title{margin-bottom:20px}.page-title h1{font-size:26px}.page-title .eyebrow{font-size:9px}.page-title .text-button{font-size:10px}.learning-steps{gap:12px;margin-bottom:19px}.learning-steps>div{gap:6px;min-height:37px;font-size:13px}.learning-steps>div>span{width:20px;height:20px;font-size:12px}.learning-steps>div+div:before{font-size:20px;left:-10px}.learning-grid{flex-direction:column;gap:17px;display:flex}.learning-grid>section{width:100%}.camera-preview{max-height:340px}.class-panel{padding:16px}.class-list{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.class-row{text-align:center;flex-direction:column;gap:8px;min-height:142px;padding:12px 6px;position:relative}.class-row.selected{padding:11px 5px}.class-row>span:nth-child(2){flex:0;width:100%}.class-row b{white-space:nowrap;font-size:14px}.class-row small{font-size:11px}.class-row .color-card{width:31px;height:43px}.class-row .gesture{font-size:39px}.class-row .check-badge{width:19px;height:19px;position:absolute;top:3px;right:3px}.class-row .check-badge svg{width:13px}.class-row .sample-track{width:75%;height:3px;margin-left:auto;margin-right:auto}.collect-button{min-height:51px;font-size:19px}.learning-next .button{font-size:17px}.learning-next .text-button{font-size:11px}.robot-tip{align-items:center;gap:12px}.robot-tip .robot{width:58px;max-height:76px}.robot-tip p{padding:12px 14px;font-size:11px}.demo-controls button{font-size:11px}.check-grid{flex-direction:column;gap:15px;display:flex}.check-grid>section{width:100%}.check-answer{min-height:245px;padding:22px}.check-answer>.color-card{width:52px;height:73px;margin:6px 0}.check-answer>.gesture{font-size:68px}.check-answer h2{margin:7px 0;font-size:29px}.mapping-preview{min-height:60px;padding-top:12px}.mapping-preview>img{width:70px;max-height:70px}.verification-list{gap:7px;margin-top:18px}.verification-list>div{border-radius:11px;flex-wrap:wrap;gap:7px;padding:10px 5px}.verification-list b{font-size:10px}.verification-list span:last-child{justify-content:center;width:100%}.verification-list .color-card{width:18px;height:24px}.verification-list .gesture{font-size:21px}.check-instruction{min-height:43px;margin:18px 5px;font-size:12px;line-height:1.8}.bottom-actions{gap:13px}.check-grid .camera-preview{max-height:275px}.map-islands{flex-direction:column;gap:20px;margin-top:28px;display:flex}.map-island{text-align:left;grid-template-columns:83px 1fr;column-gap:22px;padding:21px;display:grid}.map-art{grid-area:1/1/5;align-self:center;height:105px}.island-number{grid-column:2;justify-self:start;padding:2px 8px;font-size:9px}.map-island h2{grid-column:2;margin-top:10px;font-size:24px}.map-island p{grid-column:2;min-height:0;margin:7px 0 14px;font-size:11px;line-height:1.5}.island-cta{grid-column:2;justify-content:flex-start;font-size:12px}.map-guide .robot{width:65px}.map-guide p{font-size:11px}.brief-content{margin-top:50px}.brief-art{height:120px;margin-bottom:20px}.brief-content h1{margin:12px 0 19px;font-size:33px}.brief-content>p{font-size:14px}.brief-rules{margin:25px 0}.brief-rules>span{padding:12px 13px;font-size:11px}.brief-content .primary{min-width:230px}.game-heading{margin-bottom:17px}.game-heading h1{font-size:23px}.game-heading .eyebrow{font-size:9px}.score-chip{padding:6px 11px;font-size:11px}.score-chip strong{font-size:22px}.game-instruction{min-height:65px;margin-bottom:16px;font-size:25px}.game-instruction small{padding:0 8px;font-size:10px}.play-grid{flex-direction:column;gap:16px;display:flex}.road-scene{aspect-ratio:1.2;min-height:350px}.road-scene>.traffic-light{transform:scale(.72)}.live-input{grid-template-columns:1fr 1fr;align-items:center;gap:8px 12px;min-height:170px;padding:10px;display:grid}.live-input .camera-preview{border-radius:12px;grid-area:1/1/4}.live-input .demo-controls,.live-input .recognition{grid-column:2;padding-top:0;font-size:9px}.live-input .demo-controls>span{font-size:8px}.live-input .demo-controls>div{gap:5px}.live-input .demo-controls button{gap:4px;min-height:31px;padding:5px;font-size:9px}.live-input .input-mapping{grid-column:2;gap:7px;min-height:40px;margin:0;padding:9px 6px;font-size:14px}.input-mapping .color-card{width:18px;height:24px}.live-input .helper{grid-column:2;margin:0;font-size:8px}.live-input>.input-robot{display:none}.live-input .camera-label{gap:4px;font-size:8px;top:6px;left:6px}.live-input .camera-label svg{width:11px}.live-input .camera-label i{display:none}.live-input .demo-visual>.color-card{width:42px;height:63px}.live-input .demo-visual>.gesture{font-size:50px}.live-input .demo-visual p{font-size:8px}.live-input .demo-visual>svg{width:28px}.traffic-legend{gap:7px;margin-top:17px;padding:12px 7px}.traffic-legend>span{flex-wrap:wrap;justify-content:center;gap:6px;font-size:13px}.traffic-legend>span b{font-size:12px}.traffic-legend .color-card{width:16px;height:23px}.win-stars{gap:3px}.win-stars svg{width:18px}.win-stars b{margin-left:5px;font-size:17px}.duel-stage{grid-template-columns:1fr 30px 1fr;gap:0;margin-top:20px}.duel-side{padding:25px 10px 15px}.duel-hand{width:100%;min-width:0;height:130px}.duel-hand .gesture{font-size:92px}.duel-hand:after{height:35px;left:-5%;right:-5%}.duel-side>.robot{display:none}.mystery-hand{font-size:95px}.duel-vs{font-size:18px}.duel-name{margin-top:24px;padding:5px 24px;font-size:19px}.duel-side>b{text-align:center;font-size:9px;line-height:1.6}.duel-bottom{grid-template-columns:125px 1fr;align-items:start;gap:13px;margin-top:13px}.duel-camera .camera-label{gap:3px;padding:3px 5px;font-size:7px}.duel-camera .camera-label svg{width:9px}.duel-camera .camera-label i{display:none}.duel-camera .demo-visual{gap:7px}.duel-camera .demo-visual .gesture{font-size:40px}.duel-camera .demo-visual p{font-size:7px}.duel-actions .demo-controls>div{gap:5px}.duel-actions .demo-controls button{min-height:35px;padding:5px;font-size:9px}.duel-actions .demo-controls .gesture{font-size:18px}.duel-actions .demo-controls>span{font-size:8px}.duel-actions .primary{min-height:40px;margin-top:11px;padding:10px 16px;font-size:15px}.duel-actions .helper{font-size:8px}.duel-actions .recognition{padding-top:2px;font-size:10px;line-height:1.7}.fire-scene{gap:10px;min-height:300px;padding-left:20px;padding-right:20px}.fire-scene>.robot{width:45%;max-height:245px}.fire-reactor{width:40%;max-width:145px}.reactor-glass{height:192px}.energy-dashboard{border-radius:18px;flex-wrap:wrap;gap:10px;margin-top:18px;padding:17px 13px}.energy-dashboard>span{flex:1;order:0;font-size:16px}.energy-dashboard>strong{order:1;font-size:28px}.energy-meter{flex:0 0 100%;order:2;height:23px;margin-bottom:10px}.energy-note{margin:17px 0 0;font-size:10px}.camera-interruption{flex-wrap:wrap;justify-content:center;width:calc(100% - 35px);padding:14px 17px;bottom:15px}.camera-interruption>p{text-align:center;font-size:11px}.camera-interruption .secondary{font-size:14px}.scene-overlay h2{font-size:25px}.scene-overlay p{font-size:12px}.success-content{margin-top:35px}.success-content h1{font-size:28px;line-height:1.5}.success-content>p{font-size:12px}.success-medal{width:135px;height:135px}.success-content>.robot{height:150px}.success-content .bottom-actions{flex-direction:column;gap:13px}.results-content>h1{font-size:31px;line-height:1.4}.results-content>p{font-size:12px}.result-badges{flex-direction:column;gap:17px;margin:27px 0;display:flex}.result-badges>div{text-align:left;grid-template-columns:70px 1fr;column-gap:15px;padding:21px;display:grid}.result-badges>div>.mini,.result-badges>div>.mission-hand,.result-badges>div>.mission-flame{grid-area:1/1/4;place-self:center;margin:0}.result-badges>div>.mission-hand{font-size:56px}.result-badges>div>.mission-flame{height:auto}.result-badges h2{grid-column:2;margin:0;font-size:23px}.result-badges span:not(.mission-hand):not(.mission-flame){grid-column:2;margin-top:7px;font-size:11px}.result-badges small{grid-column:2;margin-top:5px}.result-lesson{flex-direction:column;align-items:flex-start;gap:13px;padding:23px 10px}.result-lesson>svg{display:none}.result-lesson>span{font-size:12px}.result-lesson b{width:23px;height:23px}.results-content .bottom-actions{flex-direction:column}.results-content .button{min-width:230px}.results-content .privacy-note{font-size:10px}.app-footer{width:calc(100% - 32px);margin-top:25px;padding:13px 0}.app-footer>span{font-size:8px}.app-footer button{font-size:10px}.toast{padding:12px 17px;font-size:11px;bottom:18px}.modal-backdrop{padding:16px}.modal{border-radius:23px;padding:33px 23px 25px}.modal h2{font-size:26px;line-height:1.4}.modal>p{font-size:12px}.help-list{gap:13px;margin:22px 0}.help-list>div{gap:17px}.help-list b{font-size:18px}.help-list p{font-size:11px}.modal .modal-note{font-size:10px}.teacher-options .button{font-size:15px}.modal .bottom-actions{flex-direction:column}.modal .bottom-actions>.button{width:100%}}@media (min-width:621px) and (max-height:850px){.learning-content{margin-top:25px}.learning-content .page-title{margin-bottom:15px}.learning-content .page-title h1{font-size:29px}.learning-content .page-title .eyebrow{font-size:10px}.learning-steps{margin-bottom:19px}.learning-steps>div{min-height:38px;font-size:16px}.learning-grid .camera-preview{max-width:360px;margin:auto}.class-panel{padding:13px}.class-list{gap:8px}.class-row{min-height:70px;padding:9px 13px}.class-row.selected{padding:8px 12px}.class-row .color-card{width:27px;height:38px}.class-row .gesture{font-size:34px}.class-row b{font-size:18px}.class-row small{margin-top:3px;font-size:11px}.class-row .sample-track{margin-top:5px}.collect-button{min-height:46px;margin:13px 0 8px;font-size:17px}.class-panel .helper{font-size:10px}.learning-next{margin-top:12px;padding-top:12px}.learning-next .button{min-height:43px;font-size:16px}.learning-next .text-button{min-height:29px;padding:7px;font-size:10px}.demo-quick{min-height:31px;font-size:10px}.learning-content .robot-tip{display:none}.learning-content .camera-caption{min-height:48px;font-size:16px}.learning-content .check-grid .camera-preview{max-width:340px;margin:auto}.check-answer{min-height:260px}.check-answer>.color-card{width:42px;height:60px;margin:0}.check-answer>.gesture{font-size:58px}.check-answer h2{font-size:27px}.check-grid{gap:20px}.verification-list{margin-top:18px}.check-instruction{margin:16px 0;font-size:13px}.play-content{margin-top:23px}.play-content .game-heading{margin-bottom:13px}.game-instruction{min-height:63px;margin-bottom:16px;font-size:27px}.road-scene{min-height:300px}.game-heading h1{font-size:26px}.traffic-legend{margin-top:16px;padding:12px}.fire-scene{min-height:300px}.reactor-glass{height:190px}.energy-dashboard{margin-top:19px;padding:18px}.duel-hand{height:145px}.duel-hand .gesture{font-size:115px}.duel-side{padding-top:18px}.duel-bottom{margin-top:12px}.duel-camera{max-width:170px}.duel-bottom{grid-template-columns:170px 1fr}.app-footer{margin-top:22px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.camera-reconnect{min-height:48px;margin:12px auto;display:flex}.preview-play{z-index:5;white-space:nowrap;min-height:48px;font-size:15px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media (min-width:621px){.header-actions .icon-button{min-width:44px;min-height:44px}.demo-controls button{min-height:44px}}@media (min-width:621px) and (max-height:850px){.live-input .camera-preview{max-width:240px;margin:auto}.live-input .demo-controls>div{gap:6px}}.app{min-height:100vh;min-height:100svh;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}@media (min-width:621px) and (max-height:600px){.site-header{gap:12px;height:64px;padding:9px 18px}.brand{gap:8px;font-size:20px}.brand small{font-size:9px}.brand-mark{width:40px;height:40px}.mission-progress{gap:14px}.mission-progress b{width:27px;height:27px;font-size:14px}.mode-badge{padding:3px 7px;font-size:8px;top:66px;right:20px}.learning-content,.play-content{margin-top:15px}.learning-content .page-title{margin-bottom:9px}.learning-content .page-title h1{font-size:23px}.learning-content .page-title .eyebrow{font-size:9px}.page-title .text-button{min-height:44px;padding:5px}.learning-steps{gap:14px;margin-bottom:12px}.learning-steps>div{min-height:31px;font-size:14px}.learning-steps>div>span{width:22px;height:22px;font-size:13px}.learning-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:14px}.learning-grid .camera-preview{max-width:250px}.camera-panel{padding:9px}.learning-content .camera-caption{min-height:38px;padding:7px;font-size:14px}.recognition{padding:9px 3px 3px;font-size:10px}.class-panel{padding:11px}.class-panel .panel-label{margin-bottom:9px;font-size:10px}.class-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.class-row,.class-row.selected{text-align:center;border-radius:13px;flex-direction:column;align-items:center;gap:5px;min-height:103px;padding:7px 5px;display:flex;position:relative}.class-row>span:not(.color-card):not(.gesture){width:100%}.class-row .gesture{font-size:27px;line-height:1.15}.class-row .color-card{width:22px;height:31px}.class-row b{font-size:14px;line-height:1.25}.class-row small{margin-top:3px;font-size:9px}.class-row .sample-track{height:3px;margin-top:4px}.class-row .check-badge{width:17px;height:17px;position:absolute;top:4px;right:4px}.class-row .check-badge svg{width:12px}.collect-button{min-height:46px;margin:10px 0 6px;padding:9px;font-size:16px}.learning-next{margin-top:9px;padding-top:9px}.learning-next .button{min-height:44px;padding:8px;font-size:15px}.learning-next .text-button{min-height:29px;font-size:9px}.demo-quick{min-height:31px;margin-top:5px}.class-panel .helper{font-size:9px;line-height:1.4}.check-grid{gap:15px}.learning-content .check-grid .camera-preview{max-width:240px}.check-answer{min-height:210px;padding:15px}.check-answer h2{font-size:25px}.mapping-preview{min-height:50px;margin-top:9px;padding-top:9px}.mapping-preview>img{width:70px;max-height:55px}.verification-list{gap:10px;margin-top:12px}.verification-list>div{padding:10px}.check-instruction{margin:10px 0;font-size:12px}.learning-content .bottom-actions{margin-top:10px}.learning-content .bottom-actions .button{min-height:44px;padding:9px 19px;font-size:16px}.game-heading{margin-bottom:8px!important}.game-heading h1{font-size:22px}.game-heading .eyebrow{font-size:9px}.game-instruction{min-height:42px;margin-bottom:9px;font-size:23px}.game-instruction small{margin-top:5px;font-size:10px}.score-chip{padding:7px 14px;font-size:13px}.score-chip strong{font-size:25px}.play-grid{gap:14px}.road-scene,.fire-scene{min-height:210px}.live-input{padding:8px}.live-input .camera-preview{max-width:160px}.live-input .recognition{min-height:26px;padding:6px 1px 1px;font-size:9px}.live-input .input-mapping{min-height:37px;margin-top:7px;padding:6px;font-size:13px}.live-input .helper{margin-top:8px;font-size:9px;line-height:1.35}.live-input .demo-controls>div{flex-wrap:nowrap;gap:3px}.live-input .demo-controls button{flex:1 1 0;gap:3px;min-width:0;padding:4px;font-size:9px}.live-input .demo-controls .gesture{font-size:19px}.live-input .demo-controls>span{margin-bottom:5px;font-size:8px}.input-robot{display:none}.traffic-legend{margin-top:10px;padding:8px;font-size:12px}.traffic-legend .color-card{width:20px;height:28px}.road-scene>.traffic-light{transform-origin:100% 0;transform:scale(.8)}.game-car{max-height:160px}.road-progress{top:12px}.speed-label{font-size:14px;bottom:22px}.fire-scene{padding:10px 15px 28px}.fire-scene>.robot{max-height:175px}.fire-reactor{min-width:95px;max-width:135px}.reactor-glass{height:125px}.reactor-base,.reactor-cap{height:28px}.charging-status{font-size:10px;bottom:8px}.energy-dashboard{border-radius:15px;gap:13px;min-height:50px;margin-top:10px;padding:10px 15px}.energy-dashboard>span{font-size:15px}.energy-dashboard>strong{font-size:26px}.energy-dashboard>strong small{font-size:16px}.energy-meter{height:20px}.energy-note{display:none}.duel-stage{margin:5px auto 8px}.duel-side{padding-top:5px}.duel-side>.robot{display:none}.duel-hand{height:85px}.duel-hand .gesture{font-size:76px}.mystery-hand{font-size:80px}.duel-name{margin-top:10px;padding:5px 25px;font-size:18px}.duel-side>b{margin-top:6px;font-size:10px}.duel-bottom{grid-template-columns:125px 1fr;gap:20px;margin-top:8px}.duel-camera{max-width:125px}.duel-actions .button{min-height:44px;padding:8px 19px;font-size:15px}.duel-actions .helper{margin-top:9px;font-size:10px}.setup-content{margin-top:15px}.setup-content .section-heading h1{font-size:27px}.setup-content .section-heading>p{margin-top:7px;font-size:12px}.setup-content .section-heading{margin-bottom:15px}.setup-grid .camera-preview{max-width:250px;margin:auto}.setup-guide>.robot{display:none}.setup-guide li{margin-bottom:13px}.setup-guide li b{font-size:15px}.setup-guide li span{font-size:11px}.setup-content .bottom-actions{margin-top:15px}.setup-content .bottom-actions .button{min-height:46px;padding:10px 20px;font-size:16px}.app-footer{margin-top:15px}.home-content{grid-template-rows:minmax(280px,1fr) auto auto;min-height:calc(100svh - 64px);padding-top:0}.home-character{min-height:280px}.home-character>.robot{max-height:245px}.home-copy{padding-top:0;padding-bottom:0}.home-copy h1{margin:8px 0 12px;font-size:48px}.home-copy>p{font-size:12px;line-height:1.7}.home-copy .eyebrow{font-size:9px}.home-copy .start-button{min-height:54px;margin-top:17px;padding:8px 15px;font-size:18px}.home-copy .secondary{min-height:44px;margin-top:12px;padding:8px;font-size:13px}.home-copy .privacy-note{margin-top:10px;font-size:8px}.home-missions{padding-top:4px;padding-bottom:0}.home-missions .island-art{height:65px}.home-missions .mission-hand{font-size:53px}.home-missions .mission-flame svg{height:51px}.home-missions .traffic-light{transform-origin:bottom;transform:scale(.75)}.home-footer{padding-top:13px;padding-bottom:12px}}.camera-viewport{width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.camera-viewport video{object-fit:fill}.camera-viewport .demo-visual{height:100%}@media (min-width:621px) and (max-height:600px){.game-instruction{min-height:42px;font-size:21px;line-height:1.15}.game-instruction small{margin-top:3px;font-size:9px;line-height:1.2}.game-fire{grid-template-columns:minmax(0,1.5fr) minmax(220px,1fr);column-gap:14px;display:grid}.game-fire>.game-heading,.game-fire>.game-instruction{grid-column:1/-1}.game-fire>.fire-grid{display:contents}.fire-grid>.fire-scene{grid-area:3/1;min-height:190px;padding-top:10px;padding-bottom:24px}.fire-grid>.live-input{grid-area:3/2/5}.game-fire>.energy-dashboard{grid-area:4/1;gap:10px;margin-top:10px;padding:10px 12px}.game-fire .energy-dashboard>span{gap:6px;font-size:13px}.game-fire .energy-dashboard>span svg{width:23px}.game-fire .energy-dashboard>strong{font-size:24px}.game-fire .energy-dashboard>strong small{font-size:14px}.fire-scene>.robot{max-height:150px}.reactor-glass{height:105px}.reactor-cap,.reactor-base{height:26px}}@media (min-width:621px) and (max-height:470px){.fire-grid>.fire-scene{min-height:175px}.fire-scene>.robot{max-height:135px}.reactor-glass{height:90px}.game-fire>.energy-dashboard{padding:9px 12px}}@media (max-width:620px){.game-traffic .road-scene{aspect-ratio:1.5;min-height:240px}.game-traffic .game-car{max-height:170px}.game-fire{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:12px;display:grid}.game-fire>.game-heading,.game-fire>.game-instruction{grid-column:1/-1}.game-fire>.fire-grid{display:contents}.fire-grid>.fire-scene{grid-area:3/1;min-height:240px;padding:14px 8px 30px}.fire-scene>.robot{display:none}.fire-reactor{width:95%;min-width:0;max-width:130px}.game-fire .reactor-glass{height:170px}.game-fire .reactor-base,.game-fire .reactor-cap{height:30px}.game-fire .charging-status{padding:0 6px;font-size:9px;line-height:1.5}.fire-grid>.live-input{flex-direction:column;grid-area:3/2/5;gap:10px;min-height:0;padding:8px;display:flex}.fire-grid .camera-preview{width:100%}.fire-grid .demo-controls{width:100%;padding-top:0}.fire-grid .demo-controls>div{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:5px;display:grid}.fire-grid .demo-controls button{gap:3px;min-width:0;min-height:44px;padding:4px;font-size:10px}.fire-grid .demo-controls .gesture{font-size:18px}.fire-grid .demo-controls>span{font-size:8px}.fire-grid .input-mapping{width:100%;min-height:40px;margin-top:0;padding:6px;font-size:12px}.fire-grid .helper{margin:0;font-size:9px;line-height:1.6}.fire-grid .recognition{padding:0;font-size:10px;line-height:1.6}.fire-grid .input-robot{display:none}.game-fire>.energy-dashboard{grid-area:4/1;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label score""meter meter";align-self:end;gap:8px;min-width:0;margin-top:12px;padding:12px 10px;display:grid}.game-fire .energy-dashboard>span{white-space:normal;grid-area:label;font-size:12px;line-height:1.4}.game-fire .energy-dashboard>span svg{display:none}.game-fire .energy-dashboard>strong{grid-area:score;font-size:22px}.game-fire .energy-dashboard>strong small{font-size:10px}.game-fire .energy-meter{grid-area:meter;width:100%;height:18px;margin-bottom:8px}.game-fire .energy-meter small{font-size:7px}.game-fire>.energy-note{grid-column:1/-1;font-size:10px}}@media (min-width:621px) and (max-height:470px){.live-input .camera-preview{max-width:140px}}@media (min-width:621px) and (max-height:600px){.duel-actions{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px;display:grid}.duel-actions>.demo-controls,.duel-actions>.recognition{grid-area:1/1}.duel-actions>.button{white-space:nowrap;grid-area:1/2;margin-top:0}.duel-actions>.helper{grid-column:1/-1;margin-top:0}}.camera-preview.traffic .camera-guide{border-width:3px;border-radius:9px;width:22%;height:32%;top:34%;left:39%;box-shadow:0 0 0 150px #160c1b26}.camera-preview.input-visible .camera-guide{border-color:#9ff3b2;box-shadow:0 0 0 150px #160c1b14,0 0 14px #73df9160}.driving-scene{aspect-ratio:1.65;isolation:isolate;background:#36223e;min-height:360px}.driving-viewport{position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.driving-viewport canvas{width:100%;height:100%;display:block}.driving-scene:after{display:none}.driving-hud{pointer-events:none;justify-content:space-between;align-items:flex-start;gap:10px;display:flex;position:absolute;top:14px;left:15px;right:15px}.driving-hud .road-progress{background:#20152cce;gap:7px;padding:6px 9px;position:static;transform:none}.cell-count{color:#ffdc8c;background:#20152cce;border:1px solid #bc8a6f80;border-radius:99px;align-items:center;gap:5px;padding:8px 12px;font:15px Jua,sans-serif;display:flex}.drive-signal{background:#25192ed6;border:1px solid #b58c9590;border-radius:12px;align-items:center;gap:8px;padding:8px 12px;font:16px Jua,sans-serif;display:flex;position:absolute;top:64px;left:16px}.drive-signal .color-card{border-radius:5px;width:20px;height:28px}.driving-bottom{pointer-events:none;align-items:flex-end;gap:14px;display:flex;position:absolute;bottom:17px;left:17px;right:17px}.speedometer{background:#25192ed9;border:1px solid #b58c9590;border-radius:13px;align-items:baseline;gap:5px;min-width:83px;padding:7px 12px;display:flex}.speedometer strong{font:35px Jua,sans-serif}.speedometer span{color:#ead2db;font-size:10px}.drive-route{text-shadow:0 1px 5px #120e20;flex:1;padding-bottom:9px}.drive-route>span{font:12px Jua,sans-serif}.drive-route>div{background:#20152cc9;border-radius:99px;height:5px;margin-top:7px;overflow:hidden}.drive-route i{background:#ffce75;height:100%;display:block}.steering{pointer-events:auto;gap:7px;display:flex}.steering button{color:#ffdf9e;touch-action:manipulation;background:#31213be6;border:1px solid #e8bf99;border-radius:12px;width:47px;height:47px;font-size:25px;line-height:1}.steering button:active{background:#875043}.steering button:disabled{opacity:.35}.driving-scene .hold-meter{width:100%;height:4px;bottom:5px;left:0}.road-loading{background:#36223e;place-items:center;font-family:Jua;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.renderer-note{color:#e5c1c9;font-size:9px;position:absolute;top:59px;right:12px}@media (min-width:621px) and (max-height:600px){.driving-scene{aspect-ratio:1.75;min-height:220px}.driving-hud{top:8px;left:9px;right:9px}.driving-hud .road-progress{gap:5px;padding:4px 7px}.driving-hud .road-progress>span{width:19px;height:19px}.cell-count{padding:5px 8px;font-size:12px}.drive-signal{padding:5px 8px;font-size:12px;top:43px;left:10px}.drive-signal .color-card{width:15px;height:21px}.driving-bottom{gap:9px;bottom:12px;left:10px;right:10px}.speedometer{min-width:66px;padding:5px 8px}.speedometer strong{font-size:26px}.drive-route>span{font-size:10px}.steering button{width:44px;height:44px}.renderer-note{font-size:8px;top:42px}}@media (max-width:620px){.game-traffic .driving-scene{aspect-ratio:1.3;min-height:270px}.driving-hud{top:10px;left:10px;right:10px}.driving-hud .road-progress{gap:5px;padding:5px 7px}.driving-hud .road-progress>span{width:19px;height:19px}.cell-count{padding:6px 8px;font-size:12px}.drive-signal{padding:5px 8px;font-size:12px;top:49px;left:10px}.drive-signal .color-card{width:16px;height:22px}.driving-bottom{gap:9px;left:10px;right:10px}.speedometer{min-width:68px;padding:5px 9px}.speedometer strong{font-size:27px}.drive-route>span{font-size:10px}.steering button{width:44px;height:44px}}@media (min-width:621px) and (max-height:600px){.game-traffic .driving-scene{aspect-ratio:auto;height:220px;min-height:220px}.driving-grid .live-input .camera-preview{max-width:120px}.driving-grid .live-input .demo-controls{padding-top:7px}.driving-grid .live-input .input-mapping .color-card{width:16px;height:22px}.driving-grid .live-input>.helper{display:none}.driving-grid .live-input .input-mapping{min-height:37px;padding:5px}.driving-grid .live-input .recognition{min-height:35px}}.capture-cancel{min-height:32px;margin:0 auto;font-size:11px;display:block}.driving-network-fallback{background:#36223e url(/assets/road.png) 50%/cover;position:absolute;top:0;bottom:0;left:0;right:0}.driving-network-fallback>span{background:#25192ed6;border-radius:8px;padding:5px 8px;font-size:10px;position:absolute;top:58px;right:10px}.driving-network-fallback>img{object-fit:contain;width:24%;max-height:46%;transition:left .2s;position:absolute;bottom:5%;transform:translate(-50%)}.play-content.three-game{display:block}.three-play-grid{grid-template-columns:minmax(0,1.9fr) minmax(240px,1fr);align-items:stretch;gap:22px;display:grid}.learning-scene{aspect-ratio:1.65;isolation:isolate;background:#231c39;border:1px solid #aa8799;border-radius:24px;min-width:0;min-height:380px;position:relative;overflow:hidden;box-shadow:0 8px 20px #1c091b55}.learning-viewport{position:absolute;top:0;bottom:0;left:0;right:0}.learning-viewport canvas{width:100%;height:100%;display:block}.duel-labels{pointer-events:none;justify-content:space-between;display:flex;position:absolute;top:15px;left:6%;right:6%}.duel-labels>span{text-align:center;background:#241a33d9;border:1px solid #c3947d88;border-radius:12px;min-width:110px;padding:8px 16px}.duel-labels>span:last-child{border-color:#8bddf180}.duel-labels b{color:#ffe1a4;font:21px Jua,sans-serif;display:block}.duel-labels>span:last-child b{color:#b9eff5}.duel-labels small{color:#ecd6e0;margin-top:4px;font-size:11px;display:block}.stage-round-message{pointer-events:none;text-align:center;justify-content:center;align-items:center;gap:10px;display:flex;position:absolute;bottom:20px;left:0;right:0}.stage-round-message>strong{color:#ffe1a4;text-shadow:0 2px 8px #271831;font:38px Jua,sans-serif}.stage-round-message>span{background:#241a33e6;border:1px solid #ad8a9b80;border-radius:99px;padding:8px 17px;font:17px Jua,sans-serif}.stage-round-message.win>span{color:#ffde90;background:#67432ce6;border-color:#f8c475}.stage-round-message.draw>span{color:#d7e3ff}.gate-status{color:#ffdf9b;white-space:nowrap;background:#241a33dd;border-radius:99px;padding:7px 12px;font:12px Jua,sans-serif;position:absolute;top:17px;left:50%;transform:translate(-50%)}.stage-input .camera-preview{max-width:260px;margin:0 auto}.stage-input .demo-controls button{min-height:44px}.round-controls .button{width:100%;min-height:44px;margin-top:12px;padding:10px;font-size:17px}.stage-input>.helper{text-align:center;font-size:12px;line-height:1.7}.stage-input .input-mapping{font-size:17px}.reactor-status{color:#f6dbbe;white-space:nowrap;background:#241a33dc;border:1px solid #c3947d88;border-radius:99px;max-width:94%;padding:8px 15px;font:15px Jua,sans-serif;position:absolute;top:15px;left:50%;transform:translate(-50%)}.reactor-status.charging{color:#ffe29c;background:#6d392cdd;border-color:#ffbd6f}.stage-energy{background:#22192fe8;border:1px solid #bc8d7e88;border-radius:14px;grid-template-columns:1fr auto;align-items:center;gap:6px 14px;padding:10px 15px;display:grid;position:absolute;bottom:15px;left:18px;right:18px}.stage-energy>span{color:#ffdaa2;align-items:center;gap:7px;font:17px Jua,sans-serif;display:flex}.stage-energy strong{color:#ffe5ad;font:29px Jua,sans-serif}.stage-energy strong small{font-size:15px}.stage-energy-meter{background:#5b3949;border-radius:99px;grid-column:1/-1;height:10px;position:relative;overflow:hidden}.stage-energy-meter>i{background:linear-gradient(90deg,#f97539,#ffdc75);height:100%;transition:width 80ms;display:block}.stage-energy-meter>span{background:#f5dda780;width:1px;position:absolute;top:0;bottom:0}.stage-fallback-note{color:#dec7d9;font-size:9px;position:absolute;top:55px;right:10px}.stage-network-fallback{background:radial-gradient(#664b68,#24203d);flex-direction:column;justify-content:center;align-items:center;gap:25px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.stage-network-fallback>small{font-size:11px}.stage-network-fallback>div{justify-content:center;align-items:center;gap:30px;font-size:70px;display:flex}.stage-network-fallback>div>span{font:24px Jua}.stage-network-fallback strong{font:25px Jua}@media (min-width:621px) and (max-height:850px){.learning-scene{min-height:320px}.stage-input .camera-preview{max-width:190px}.duel-labels b{font-size:18px}.duel-labels small,.gate-status{font-size:10px}.stage-input .input-mapping{font-size:15px}}@media (min-width:621px) and (max-height:600px){.three-play-grid{grid-template-columns:minmax(0,1.8fr) minmax(245px,1fr);gap:14px}.learning-scene{aspect-ratio:auto;border-radius:20px;height:235px;min-height:235px}.stage-input .camera-preview{max-width:120px}.stage-input .demo-controls{padding-top:6px}.stage-input .demo-controls>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid}.stage-input .demo-controls button{min-height:44px;padding:4px 5px;font-size:11px}.stage-input .demo-controls .gesture{font-size:23px}.stage-input>.helper{display:none}.stage-input .recognition{min-height:34px;font-size:10px}.round-controls .button{margin-top:7px;padding:7px;font-size:14px}.duel-labels{top:8px;left:9px;right:9px}.duel-labels>span{border-radius:9px;min-width:88px;padding:5px 9px}.duel-labels b{font-size:15px}.duel-labels small{margin-top:2px;font-size:9px}.gate-status{padding:5px 7px;font-size:9px;top:10px}.stage-round-message{gap:7px;bottom:10px}.stage-round-message>strong{font-size:26px}.stage-round-message>span{padding:6px 12px;font-size:12px}.stage-energy{gap:4px 10px;padding:6px 10px;bottom:9px;left:9px;right:9px}.stage-energy>span{font-size:13px}.stage-energy strong{font-size:22px}.stage-energy strong small{font-size:12px}.stage-energy-meter{height:7px}.reactor-status{padding:6px 10px;font-size:11px;top:9px}.stage-input .input-mapping{min-height:35px;margin-top:6px;padding:6px;font-size:14px}.stage-fallback-note{font-size:8px;top:43px}}@media (max-width:620px){.three-play-grid{flex-direction:column;gap:15px;display:flex}.learning-scene{aspect-ratio:1.25;min-height:280px}.stage-input .camera-preview{max-width:none}.stage-input .round-controls,.stage-input>.helper{grid-column:2}.stage-input .round-controls .button{margin:0;font-size:13px}.duel-labels{top:10px;left:9px;right:9px}.duel-labels>span{min-width:83px;padding:6px 8px}.duel-labels b{font-size:16px}.duel-labels small{font-size:9px}.gate-status{padding:5px 7px;font-size:8px;top:13px}.stage-round-message{bottom:12px}.stage-round-message>span{font-size:13px}.stage-round-message>strong{font-size:29px}.reactor-status{font-size:11px;top:10px}.stage-energy{padding:8px 10px;bottom:10px;left:10px;right:10px}.stage-energy>span{font-size:14px}.stage-energy strong{font-size:25px}.stage-input .demo-controls button{min-height:44px;font-size:10px}.stage-input .demo-controls>div{grid-template-columns:1fr 1fr;gap:4px;display:grid}.stage-input>.helper{font-size:9px}.stage-fallback-note{font-size:8px;top:42px}}.learning-scene{aspect-ratio:auto;width:100%;height:100%}@media (min-width:621px) and (max-height:600px){.learning-scene{height:235px}}@media (max-width:620px){.learning-scene{height:300px;min-height:280px}}@media (min-width:621px) and (max-height:470px){.stage-input .camera-preview{max-width:100px}}.stage-input .camera-label{white-space:nowrap;gap:4px;padding:3px 5px;font-size:8px;left:5px}.stage-input .camera-label svg{flex-shrink:0;width:11px;height:11px}.traffic-instruction{--cue:#1683ff;border:2px solid var(--cue);text-align:left;background:#19192ef5;border-radius:19px;justify-content:center;align-items:center;gap:17px;max-width:800px;margin:0 auto 18px;padding:12px 22px;display:flex;box-shadow:0 0 0 4px #1683ff22}.traffic-instruction.red,.drive-cue.red{--cue:#ff3434}.traffic-instruction.yellow,.drive-cue.yellow{--cue:#ffe000}.traffic-instruction.travel,.drive-cue.travel{--cue:#b7f2d1}.traffic-instruction>.color-card{flex-shrink:0;width:36px;height:49px;transform:rotate(-6deg)}.traffic-instruction strong{color:#fff;font:34px/1.2 Jua,sans-serif;display:block}.traffic-instruction small{color:#eee6f4;margin-top:5px;font-size:13px;display:block}.drive-cue{--cue:#1683ff;border:2px solid var(--cue);pointer-events:none;background:#161526f5;border-radius:16px;justify-content:center;align-items:center;gap:13px;width:calc(100% - 30px);max-width:530px;padding:10px 14px;display:flex;position:absolute;bottom:77px;left:50%;transform:translate(-50%);box-shadow:0 3px 18px #09061590}.drive-cue>span{flex:1;min-width:0}.drive-cue b{color:#fff;font:24px/1.15 Jua,sans-serif;display:block}.drive-cue>span small{color:#eee6f4;margin-top:4px;font-size:11px;display:block}.drive-cue.travel{max-width:420px}.drive-cue.travel>svg{color:#b7f2d1}.signal-countdown{color:var(--cue);white-space:nowrap;align-items:baseline;gap:3px;font:32px Jua,sans-serif;display:flex}.signal-countdown small{font-size:13px}.signal-lamps{background:#060815;border:1px solid #9a8aab;border-radius:13px;flex-shrink:0;gap:6px;padding:9px 8px;display:flex}.signal-lamps i{background:#302b3c;border:2px solid #52475e;border-radius:50%;width:24px;height:24px;display:block}.signal-lamps .lit{background:var(--cue);box-shadow:0 0 13px var(--cue);border-color:#fff}.driving-hud{top:12px;left:12px;right:12px}.driving-hud .road-progress{gap:5px;padding:5px 8px}.driving-hud .road-progress>span{width:21px;height:21px}.rps-three .duel-labels>span{border:2px solid #fff1ca;min-width:126px;padding:9px 14px;position:relative;box-shadow:0 3px 8px #120c2490}.rps-three .duel-labels>span:after{content:"";border-top:9px solid #fff1ca;border-left:9px solid #0000;border-right:9px solid #0000;position:absolute;bottom:-10px;left:calc(50% - 9px)}.rps-three .duel-labels .opponent-label{color:#35202a;background:#ffac4d}.rps-three .duel-labels .player-label{color:#fff;background:#1265d8;border-color:#b6f0ff}.rps-three .duel-labels .player-label:after{border-top-color:#b6f0ff}.rps-three .duel-labels b,.rps-three .duel-labels small{color:inherit}.rps-three .duel-labels b{font-size:23px}.rps-three .gate-status{top:auto;bottom:58px}.verification-list .next{border-width:2px;padding:13px}.check-instruction{font-weight:700}@media (min-width:621px) and (max-height:600px){.traffic-instruction{border-radius:14px;gap:11px;margin-bottom:10px;padding:7px 15px}.traffic-instruction strong{font-size:25px}.traffic-instruction small{margin-top:3px;font-size:10px}.traffic-instruction>.color-card{width:28px;height:38px}.drive-cue{border-radius:12px;gap:9px;padding:7px 10px;bottom:63px}.drive-cue b{font-size:18px}.drive-cue>span small{margin-top:3px;font-size:9px}.signal-lamps{gap:4px;padding:7px 6px}.signal-lamps i{width:20px;height:20px}.signal-countdown{font-size:27px}.driving-hud{top:8px;left:9px;right:9px}.rps-three .duel-labels>span{min-width:103px;padding:6px 9px}.rps-three .duel-labels b{font-size:18px}.rps-three .gate-status{bottom:44px}.verification-list .next{padding:9px}}@media (max-width:620px){.traffic-instruction{border-radius:15px;gap:12px;margin-bottom:14px;padding:9px 12px}.traffic-instruction strong{font-size:23px}.traffic-instruction small{font-size:10px;line-height:1.5}.traffic-instruction>.color-card{width:28px;height:38px}.drive-cue{gap:8px;width:calc(100% - 18px);padding:8px;bottom:71px}.drive-cue b{font-size:17px}.drive-cue>span small{font-size:9px;line-height:1.4}.signal-lamps{gap:3px;padding:6px 5px}.signal-lamps i{width:17px;height:17px}.signal-countdown{font-size:26px}.rps-three .duel-labels>span{min-width:100px;padding:7px 10px}.rps-three .duel-labels b{font-size:18px}.rps-three .gate-status{bottom:50px}.verification-list .next{padding:9px 6px}}.rps-three .duel-labels{display:block;left:0;right:0}.rps-three .duel-labels>span{left:var(--opponent-x,38%);position:absolute;transform:translate(-50%)}.rps-three .duel-labels .player-label{left:var(--player-x,68%)}.driving-grid .camera-label{white-space:nowrap;gap:4px;padding:3px 5px;font-size:8px;left:5px}.driving-grid .camera-label svg{flex-shrink:0;width:11px;height:11px}@media (min-width:621px) and (min-height:601px){.game-traffic .driving-scene{aspect-ratio:auto;height:clamp(290px,100dvh - 350px,440px);min-height:0}}.learning-actions{margin-top:18px}.learning-actions .demo-quick{width:auto;margin:0;padding:8px 14px}@media (orientation:landscape) and (min-width:740px) and (min-height:420px){.app{height:100vh;height:100dvh;min-height:0;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);grid-template-rows:60px minmax(0,1fr) 44px;display:grid}.site-header{grid-row:1;gap:14px;width:100%;height:100%;margin:0 auto;padding:6px 22px}.brand{gap:8px;font-size:22px}.brand-mark{width:40px;height:40px}.brand small{margin-top:3px;font-size:10px}.header-actions{gap:8px}.icon-button{width:44px;min-width:44px;height:44px}.mode-badge{flex-shrink:0;margin-left:auto;padding:5px 8px;font-size:10px;position:static}.mission-progress{gap:20px;margin:auto}.mission-progress>span{gap:6px;font-size:11px}.mission-progress b{width:26px;height:26px}.mission-progress>span+span:before{width:16px;left:-18px}.app>main{grid-row:2;width:calc(100% - 40px);max-width:1240px;min-height:0;margin:0 auto;padding:8px 0}.app-footer{grid-row:3;width:calc(100% - 40px);height:44px;margin:0 auto;padding:0}.app-footer button,.home-footer button{min-height:44px;padding:8px}.app-footer>span{font-size:11px}.button{border-radius:14px;min-height:44px;padding:8px 18px;font-size:18px}.text-button,.text-link{min-height:44px;padding:8px;font-size:12px}.bottom-actions{flex-wrap:nowrap;gap:12px;margin:0}.eyebrow{font-size:11px}.section-heading{margin:0}.section-heading h1{margin:3px 0;font-size:clamp(25px,3.4dvh,35px)}.section-heading p{font-size:13px;line-height:1.4}.app>.home-content{grid-row:2/4;grid-template-rows:minmax(0,1fr) 102px 44px;column-gap:24px;padding:0 20px;display:grid}.home-copy{min-height:0;padding:0}.home-copy h1{margin:10px 0;font-size:clamp(40px,10dvh,86px)}.home-copy>p:not(.privacy-note){margin-bottom:12px;font-size:clamp(13px,2dvh,17px);line-height:1.5}.start-button{min-height:52px;padding:5px 16px 5px 7px;font-size:22px}.play-disc{width:36px;height:36px}.home-copy>.secondary{min-height:44px;margin-top:10px;font-size:15px}.home-copy .privacy-note{margin-top:8px;font-size:10px}.home-character{height:100%;min-height:0}.home-character .robot{width:90%;height:92%;max-height:490px}.character-platform{height:40px;bottom:3%}.speech-bubble{padding:10px 13px;font-size:12px;top:8%;right:0}.speech-bubble b{font-size:17px}.home-missions{align-items:center;gap:36px;padding:4px 6%}.home-missions:before{top:48px}.island-art{height:50px}.island-art .mission-hand{font-size:42px}.island-art .mission-flame svg{width:45px;height:45px}.island-art .mini{transform:scale(.8)}.home-missions small{margin-top:4px}.home-missions b{font-size:16px}.home-footer{height:44px;padding:0}.setup-content{grid-template-rows:auto minmax(0,1fr) 48px;gap:12px;display:grid}.setup-grid{grid-template-columns:1.1fr 1fr;gap:24px;width:100%;height:100%;min-height:0;display:grid}.setup-grid>.glass-panel{flex-direction:column;height:100%;min-height:0;padding:10px;display:flex}.setup-grid .camera-preview{flex:1 1 0;width:100%;max-width:none;height:0;min-height:0;max-height:none}.setup-grid .camera-caption{min-height:40px;margin-top:6px;padding:8px;font-size:16px}.setup-guide{min-height:0;padding:0}.setup-guide>.robot{display:none}.setup-guide ol{gap:18px;margin:0 0 10px}.setup-guide li{margin:0}.setup-guide li b{margin-bottom:4px;font-size:15px}.setup-guide li span{font-size:12px;line-height:1.4}.setup-content>.bottom-actions{margin:0}.map-content{grid-template-rows:auto minmax(0,1fr) auto auto;gap:12px;display:grid}.map-islands{gap:20px;width:100%;min-height:0;margin:0;padding:0}.map-island{flex-direction:column;justify-content:center;align-items:center;min-height:0;padding:16px;display:flex}.map-art{flex:1 1 0;width:100%;height:auto;min-height:55px;max-height:150px}.map-island h2{margin:6px 0;font-size:clamp(20px,2.9dvh,28px)}.map-island p{min-height:0;margin:0 0 10px;font-size:12px}.map-guide{gap:12px;margin:0}.map-guide .robot{width:45px;height:48px}.map-guide p{font-size:12px;line-height:1.5}.map-content>.button{justify-self:center}.learning-content{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:10px 20px;display:grid}.screen-learn .learning-content{grid-template-rows:44px minmax(0,1fr) 48px}.page-title{grid-area:1/1;gap:8px;margin:0!important}.learning-content .page-title h1{margin-top:2px;font-size:clamp(23px,3.4dvh,32px)}.learning-content .page-title .eyebrow{font-size:10px}.page-title .text-button{white-space:nowrap;font-size:11px}.learning-steps{grid-area:1/2;align-self:center;gap:14px;width:100%;height:34px;margin:0}.learning-steps>div{gap:6px;min-height:32px;font-size:14px}.learning-steps>div>span{width:22px;height:22px;font-size:13px}.learning-grid,.check-grid{grid-column:1/-1;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:stretch;gap:18px;height:100%;min-height:0;display:grid}.camera-panel{border-radius:18px;flex-direction:column;min-height:0;padding:10px;display:flex}.learning-content .camera-preview{flex:1 1 0;width:100%;max-width:none;height:0;min-height:0;max-height:none;margin:0 auto}.learning-content .camera-caption{flex-shrink:0;min-height:36px;margin-top:6px;padding:6px;font-size:16px}.recognition{flex-shrink:0;min-height:30px;padding:6px 2px 0;font-size:12px;line-height:1.4}.demo-controls{flex-shrink:0;padding:6px 0 0}.demo-controls>span{display:none}.demo-controls>div{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.demo-controls button{gap:5px;min-width:0;min-height:44px;padding:5px;font-size:11px}.demo-controls .gesture.small{font-size:22px}.class-panel{flex-direction:column;justify-content:center;min-height:0;padding:12px;display:flex}.class-panel .panel-label{margin-bottom:10px;font-size:12px}.class-list{flex:1 1 0;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-height:0;max-height:270px;display:grid}.class-row,.class-row.selected{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:80px;padding:8px;display:flex;position:relative}.class-row>span:nth-child(2){flex:0;width:100%}.class-row b{font-size:18px;line-height:1.25}.class-row small{margin-top:5px;font-size:12px}.class-row .color-card{width:32px;height:44px}.class-row .gesture{font-size:42px}.class-row .check-badge{width:20px;height:20px;position:absolute;top:4px;right:4px}.class-row .check-badge svg{width:14px}.class-panel .collect-button{flex-shrink:0;min-height:44px;margin:10px 0 6px;font-size:18px}.class-panel .helper{font-size:12px}.learning-actions{grid-column:1/-1;min-height:0;margin:0}.learning-actions .button{min-width:200px}.learning-actions .demo-quick{min-height:44px;font-size:12px}.learning-content .robot-tip{display:none}.screen-check .learning-content{grid-template-rows:44px minmax(0,1fr) 44px 48px}.check-answer{min-height:0;padding:12px}.check-answer .panel-label{margin:0 0 6px;font-size:12px}.check-answer>.color-card{width:38px;height:54px;margin:0}.check-answer>.gesture{font-size:58px}.check-answer h2{margin:6px 0;font-size:26px}.unknown-input svg{width:32px;height:32px}.mapping-preview{gap:12px;min-height:44px;margin-top:6px;padding-top:6px;font-size:13px}.mapping-preview img{width:auto;max-height:50px}.verification-list{grid-column:1/-1;gap:10px;margin:0}.verification-list>div{gap:8px;min-height:44px;padding:6px 10px}.verification-list .color-card.small{width:17px;height:24px}.verification-list b,.verification-list span{font-size:12px}.check-instruction{text-align:left;grid-column:1;align-self:center;min-height:0;margin:0;font-size:12px;line-height:1.5}.screen-check .bottom-actions{grid-column:2;margin:0}.screen-check .bottom-actions .button{min-height:44px;padding:8px 14px;font-size:16px}.brief-content{grid-template-rows:1fr auto auto auto auto 1fr;grid-template-columns:.8fr 1.2fr;align-content:center;column-gap:30px;display:grid}.brief-art{grid-area:1/1/-1;height:100%;margin:0}.brief-art .mission-hand{font-size:clamp(100px,24dvh,180px)}.brief-art .mission-flame svg{width:auto;height:clamp(110px,28dvh,200px)}.brief-art .mini{transform:scale(2.2)}.brief-content>.eyebrow{grid-area:2/2}.brief-content>h1{grid-area:3/2;margin:10px 0;font-size:clamp(28px,4.6dvh,40px)}.brief-content>p{grid-area:4/2;margin:0;font-size:15px;line-height:1.6}.brief-rules{grid-area:5/2;gap:8px;margin:14px 0;font-size:12px}.brief-rules>span{gap:6px;padding:10px;font-size:12px}.brief-content .bottom-actions{flex-direction:row;grid-area:6/2;align-self:start}.brief-content .primary{min-width:180px}.success-content{flex-direction:column;justify-content:center;align-items:center;display:flex}.success-medal{flex-shrink:0;width:clamp(90px,19dvh,145px);height:clamp(90px,19dvh,145px);margin:12px auto}.success-medal>.mission-hand{font-size:65px}.success-medal>.mission-flame svg{width:70px;height:70px}.success-content h1{margin:8px 0;font-size:clamp(28px,4.5dvh,38px)}.success-content>p{font-size:14px}.success-content>.robot{width:20%;height:clamp(110px,27dvh,210px);margin:0;position:absolute;bottom:30px;left:0}.success-content .bottom-actions{margin-top:16px}.app>.results-content{grid-row:2/4;grid-template-rows:auto auto auto minmax(0,1fr) auto 48px auto;gap:8px;padding:8px 0 12px;display:grid}.results-content>h1{margin:0;font-size:clamp(28px,4.5dvh,40px)}.results-content>p{font-size:13px;line-height:1.4}.result-badges{gap:18px;min-height:0;margin:0}.result-badges>div{flex-direction:column;justify-content:center;align-items:center;min-height:0;padding:12px;display:flex}.result-badges .mission-hand{font-size:clamp(40px,9dvh,75px)}.result-badges .mission-flame svg{width:auto;height:clamp(40px,9dvh,75px)}.result-badges .mini{margin:0;transform:scale(.9)}.result-badges h2{margin:8px 0;font-size:21px}.result-badges small{margin-top:6px}.result-lesson{gap:14px;min-height:36px;margin:0;padding:7px}.result-lesson>span{font-size:12px}.results-content .privacy-note{margin:0;font-size:11px}.app>.play-content,.app>.play-content.three-game{grid-template-rows:40px auto minmax(0,1fr);gap:8px;display:grid}.app>.play-content.game-traffic{grid-template-rows:40px auto minmax(0,1fr) 42px}.play-content .game-heading{min-height:0;margin:0!important}.game-heading h1{font-size:26px}.score-chip{padding:5px 14px;font-size:13px}.score-chip strong{font-size:23px}.traffic-instruction{gap:14px;width:100%;max-width:850px;min-height:60px;margin:0 auto;padding:7px 18px}.traffic-instruction strong{font-size:clamp(23px,4dvh,34px)}.traffic-instruction small{margin-top:3px;font-size:12px}.traffic-instruction>.color-card{width:29px;height:40px}.play-content .game-instruction{min-height:56px;margin:0;font-size:clamp(23px,4dvh,32px)}.game-instruction small{margin-top:4px;font-size:12px}.play-grid,.three-play-grid{grid-template-columns:minmax(0,1.9fr) minmax(250px,1fr);align-items:stretch;gap:18px;height:100%;min-height:0;display:grid}.game-traffic .driving-scene,.learning-scene{aspect-ratio:auto;border-radius:20px;width:100%;height:100%;min-height:0}.live-input{flex-direction:column;gap:0;height:100%;min-height:0;padding:10px;display:flex}.play-content .live-input .camera-preview{flex:1 1 0;width:100%;max-width:none;height:0;min-height:0;max-height:none;margin:0}.live-input .recognition{min-height:32px;padding:6px 0 0;font-size:12px}.live-input .demo-controls>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.live-input .demo-controls button{min-height:44px;font-size:11px}.live-input .input-mapping{flex-shrink:0;min-height:36px;margin-top:8px;padding:6px;font-size:16px}.live-input>.helper{margin-top:8px;font-size:11px;line-height:1.4}.live-input .round-controls{flex-shrink:0;margin-top:8px}.round-controls:empty{display:none}.round-controls .button{width:100%;min-height:44px;font-size:17px}.traffic-legend{margin:0;padding:5px 12px}.traffic-legend>span{gap:12px;font-size:16px}.traffic-legend .color-card{width:19px;height:26px}.camera-interruption{z-index:10;background:#291735f5;margin:0;padding:10px;position:absolute;top:auto;bottom:0;left:0;right:0}.scene-overlay{gap:10px;padding:14px}.scene-overlay h2{font-size:24px}.scene-overlay p{font-size:12px}.toast{pointer-events:none;max-width:calc(100vw - 40px);padding:10px 16px;font-size:13px;bottom:48px}.modal{overscroll-behavior:contain;max-height:calc(100dvh - 32px);padding:24px;overflow-y:auto}.modal-close{float:right;z-index:2;margin:-10px -10px 0 0;position:sticky;top:0}}@media (orientation:landscape) and (min-width:740px) and (max-width:1040px) and (min-height:420px){.site-header{gap:10px;padding-inline-start:16px;padding-inline-end:16px}.brand{font-size:20px}.brand small,.mission-progress em{display:none}.mission-progress{gap:18px}.learning-content{column-gap:14px}.page-title .text-button{width:44px;font-size:0}.learning-grid,.check-grid,.play-grid,.three-play-grid{gap:12px}.app>.home-content{padding-inline-start:8px;padding-inline-end:8px}.home-footer>span{font-size:9px}.brief-content .bottom-actions{gap:8px}}@media (orientation:landscape) and (min-width:740px) and (min-height:420px) and (max-height:600px){.app{grid-template-rows:54px minmax(0,1fr) 44px}.app>main{padding-block-start:4px;padding-block-end:4px}.learning-content{gap:6px 14px}.home-copy h1{margin:6px 0}.home-copy>p:not(.privacy-note){margin-bottom:8px}.home-copy .privacy-note{font-size:9px}.app>.home-content{grid-template-rows:minmax(0,1fr) 78px 44px}.home-missions small{display:none}.island-art{height:45px}.speech-bubble{top:4%}.class-panel{padding:8px}.class-panel .panel-label{margin-bottom:6px;font-size:11px}.class-row,.class-row.selected{gap:4px;padding:6px}.class-row b{font-size:16px}.class-row small{margin-top:3px;font-size:11px}.class-row .color-card{width:23px;height:32px}.class-row .gesture{font-size:30px}.class-panel .collect-button{margin:6px 0 4px;font-size:17px}.class-panel .helper{font-size:11px}.learning-actions{gap:8px}.learning-actions .button{min-width:170px;font-size:17px}.learning-actions .text-button,.learning-actions .demo-quick{font-size:11px}.camera-panel{padding:7px}.learning-content .camera-caption{min-height:32px;padding:5px;font-size:14px}.demo-visual{gap:5px;padding-top:12px}.demo-visual>.color-card{width:30px;height:44px}.demo-visual>.gesture{font-size:40px}.demo-visual>svg{height:24px}.demo-visual p{font-size:9px}.check-answer>.color-card{width:23px;height:32px}.check-answer>.gesture{font-size:34px}.check-answer h2{margin:4px 0;font-size:21px}.check-answer .mapping-preview{min-height:28px;font-size:11px}.mapping-preview img{max-height:34px}.map-island{padding:12px}.map-art .mini{transform:scale(.8)}.map-art .mission-hand{font-size:50px}.map-art .mission-flame svg{width:50px;height:50px}.map-guide .robot{height:38px}.setup-guide ol{gap:10px}.setup-guide li b{font-size:14px}.setup-guide li span{font-size:11px}.setup-content{gap:8px}.brief-rules{gap:6px;margin:10px 0}.brief-rules>span{gap:5px;padding:7px;font-size:11px}.brief-content>p{font-size:13px}.brief-content .primary{min-width:150px;font-size:17px}.brief-content .text-button{font-size:11px}.result-badges>div{padding:8px}.result-badges h2{margin:4px 0;font-size:18px}.result-badges span,.result-badges small{font-size:11px}.result-lesson{gap:10px}.result-lesson>span{font-size:11px}.app>.play-content,.app>.play-content.three-game{grid-template-rows:34px 54px minmax(0,1fr);gap:6px}.app>.play-content.game-traffic{grid-template-rows:34px 58px minmax(0,1fr) 36px}.game-heading h1{font-size:22px}.game-heading .eyebrow{font-size:9px}.traffic-instruction{min-height:0;padding:5px 14px}.traffic-instruction strong{font-size:25px}.traffic-instruction small{font-size:11px}.play-content .game-instruction{min-height:0;font-size:24px}.game-instruction small{font-size:11px}.live-input{padding:7px}.live-input .input-mapping{min-height:30px;margin-top:5px;font-size:14px}.live-input .recognition{min-height:28px;font-size:11px}.play-content .live-input>.helper{display:none}.live-input .demo-controls>div{gap:4px}.live-input .demo-controls button{font-size:10px}.traffic-legend{padding:3px 10px}.traffic-legend>span{font-size:14px}}@media (orientation:landscape) and (min-width:740px) and (min-height:420px){.brand{min-height:44px}.learning-content .camera-panel .camera-preview{max-width:none}}@media (orientation:landscape) and (min-width:740px) and (min-height:420px) and (max-height:600px){.live-input .demo-controls>div{grid-template-columns:repeat(4,minmax(0,1fr))}.live-input .demo-controls button{flex-direction:column;gap:3px;font-size:9px}.live-input .demo-controls .gesture.small{font-size:18px}.live-input .demo-controls .color-card.small{width:11px;height:16px}}@media (orientation:landscape) and (min-width:740px) and (min-height:420px){.app>.play-content,.app>.play-content.three-game{grid-template-columns:minmax(0,1fr)}.teacher-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0;display:grid}.teacher-options .button{min-height:44px;font-size:15px}.teacher-options .text-button{grid-column:1/-1}.modal h2{margin:6px 0 12px;font-size:27px}.modal>p{font-size:12px;line-height:1.6}.modal .modal-note{padding:10px;font-size:11px}.help-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px 0;display:grid}.help-list>div{text-align:center;flex-direction:column;gap:10px;padding-bottom:8px}.help-list b{font-size:17px}.help-list p{font-size:11px;line-height:1.5}.modal>.button{margin-top:16px}.result-badges{--badge-art:clamp(54px,10dvh,80px)}.result-badges>div>.mini{height:var(--badge-art);width:calc(var(--badge-art) * .42);border-radius:9px;gap:3px;margin:0;padding:3px;transform:none}.result-badges>div>.mini i{flex:1;width:100%;height:auto}.result-badges>div>.mission-hand{font-size:var(--badge-art);margin:0;line-height:1}.result-badges>div>.mission-flame{height:var(--badge-art);margin:0}.result-badges>div>.mission-flame svg{height:100%}.result-badges span:not(.mission-hand):not(.mission-flame){margin-top:6px}}
