:root{--ink: #21242c;--muted: #687080;--green: #309151;--green-dark: #176638;--green-soft: #dff3e5;--gold: #df9920;--gold-soft: #fff1c9;--terracotta: #b8672e;--sky: #e8f4ff;--paper: #ffffff;--line: #dce1e8;--radius: 18px}*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;background:#eef1f5;color:var(--ink);font-family:Nunito,sans-serif}button,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}.arena-audit-shell{min-height:100vh;padding:24px;background:radial-gradient(circle at 10% 0,rgba(48,145,81,.15),transparent 28rem),#e9edf1;color:#20242b}.arena-audit-header{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1500px;margin:0 auto 18px;padding:22px 26px;border:1px solid #d7dde3;border-radius:22px;background:#fff;box-shadow:0 14px 38px #26323d17}.arena-audit-kicker{color:#27824a;font-size:11px;font-weight:1000;letter-spacing:.12em}.arena-audit-header h1{margin:5px 0 4px;font:700 clamp(26px,4vw,40px)/1 "Fredoka"}.arena-audit-header p{margin:0;color:#687080;font-size:13px}.arena-audit-controls{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.arena-audit-controls label{display:flex;align-items:center;gap:7px;min-height:40px;padding:0 10px;border:1px solid #dce1e8;border-radius:11px;background:#f8fafb;color:#5b6470;font-size:11px;font-weight:900}.arena-audit-controls select{border:0;background:transparent;color:#20242b;font-weight:1000;outline:none}.arena-audit-controls button,.arena-audit-controls a{display:grid;place-items:center;min-height:40px;padding:0 14px;border:0;border-radius:11px;background:#309151;color:#fff;font-size:11px;font-weight:1000;text-decoration:none}.arena-audit-controls button.secondary,.arena-audit-controls a{border:1px solid #dce1e8;background:#fff;color:#303742}.arena-audit-progress{display:grid;grid-template-columns:auto auto auto 1fr;align-items:center;gap:10px;max-width:1500px;margin:0 auto 18px}.arena-audit-progress>div:not(.arena-audit-progress-bar){display:flex;align-items:baseline;gap:7px;min-width:112px;padding:12px 14px;border-radius:14px;background:#fff;box-shadow:0 7px 20px #26323d0f}.arena-audit-progress strong{font:700 22px Fredoka}.arena-audit-progress strong.passed{color:#27884d}.arena-audit-progress strong.failed{color:#c8483f}.arena-audit-progress span{color:#7b8490;font-size:10px;font-weight:900;text-transform:uppercase}.arena-audit-progress-bar{height:12px;overflow:hidden;border-radius:999px;background:#d8dee5}.arena-audit-progress-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#309151,#62c379);transition:width .25s ease}.arena-audit-main{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:18px;max-width:1500px;margin:0 auto}.arena-audit-canvas-card,.arena-audit-telemetry,.arena-audit-results{border:1px solid #d7dde3;border-radius:20px;background:#fff;box-shadow:0 14px 38px #26323d14}.arena-audit-canvas-card{overflow:hidden}.arena-audit-canvas-card canvas{display:block;width:100%;aspect-ratio:16/10;background:#bec8cf}.arena-audit-mission-title{display:grid;grid-template-columns:1fr auto;align-items:center;gap:3px 12px;padding:15px 18px;border-bottom:1px solid #dce1e8}.arena-audit-mission-title span{grid-column:1;color:#27824a;font-size:10px;font-weight:1000;text-transform:uppercase}.arena-audit-mission-title strong{grid-column:1;font:700 20px Fredoka}.arena-audit-mission-title[data-drive-mode=movement] span{color:#c72f98}.arena-audit-mission-title[data-drive-mode=motor] span{color:#0079c6}.arena-audit-mission-title em{grid-column:2;grid-row:1/3;padding:7px 10px;border-radius:999px;background:#fff1c9;color:#92600b;font-size:9px;font-style:normal;font-weight:1000}.arena-audit-mission-title em.status-passed{background:#dff3e5;color:#176638}.arena-audit-mission-title em.status-failed{background:#ffdfdc;color:#a53f36}.arena-audit-telemetry{padding:20px}.arena-audit-telemetry h2,.arena-audit-results h2{margin:0 0 14px;font:700 20px Fredoka}.arena-audit-telemetry dl{display:grid;gap:8px;margin:0}.arena-audit-telemetry dl div{padding:10px 11px;border-radius:11px;background:#f4f7f8}.arena-audit-telemetry dt{color:#75808c;font-size:9px;font-weight:1000;text-transform:uppercase}.arena-audit-telemetry dd{margin:3px 0 0;color:#282e36;font-size:12px;font-weight:900}.arena-audit-event{margin-top:12px;padding:12px;border:1px solid #eadba7;border-radius:12px;background:#fff9e8}.arena-audit-event span{color:#91620e;font-size:9px;font-weight:1000;text-transform:uppercase}.arena-audit-event p{margin:5px 0 0;font-size:11px;line-height:1.4}.arena-audit-command{margin-top:12px;padding:11px;border-radius:12px;background:#222733;color:#f6f7f9}.arena-audit-command span{display:block;margin-bottom:5px;color:#9fa9b9;font-size:8px;font-weight:1000;text-transform:uppercase}.arena-audit-command code{display:block;overflow-wrap:anywhere;color:#83dfa1;font-size:9px;line-height:1.45;white-space:normal}.arena-audit-ok,.arena-audit-error{display:block;margin-top:12px;padding:11px;border-radius:12px;font-size:10px;font-weight:900;line-height:1.45}.arena-audit-ok{background:#e5f5e9;color:#176638}.arena-audit-error{background:#ffdfdc;color:#9d3932}.arena-audit-results{max-width:1500px;margin:18px auto 0;padding:18px}.arena-audit-mode-results+.arena-audit-mode-results{margin-top:16px;padding-top:16px;border-top:1px solid #e0e4e9}.arena-audit-mode-results h3{margin:0 0 8px;font:700 14px Fredoka}.arena-audit-mode-results[data-drive-mode=movement] h3{color:#c72f98}.arena-audit-mode-results[data-drive-mode=motor] h3{color:#0079c6}.arena-audit-mode-results>div{display:grid;grid-template-columns:repeat(10,1fr);gap:7px}.arena-audit-results article{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 8px;min-width:0;padding:9px;border:1px solid #e0e4e9;border-radius:11px;background:#f5f7f8}.arena-audit-results article span{overflow:hidden;color:#7c8590;font-size:8px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.arena-audit-results article strong{grid-row:2;font:700 17px Fredoka}.arena-audit-results article small{grid-column:2;grid-row:1/3;color:#a4abb3;font-size:15px;font-weight:1000}.arena-audit-results article.active{border-color:#df9920;background:#fff5d8}.arena-audit-results article.active small{color:#df9920}.arena-audit-results article.passed{border-color:#9bd0aa;background:#e8f6ec}.arena-audit-results article.passed small{color:#27884d}.arena-audit-results article.failed{border-color:#e5a09a;background:#fff0ee}.arena-audit-results article.failed small{color:#c8483f}.arena-audit-failures{max-width:1500px;margin:18px auto 0;padding:14px 18px;border:1px solid #a8d4b4;border-radius:16px;background:#e8f6ec;color:#176638}.arena-audit-failures.has-failures{border-color:#e5a09a;background:#fff0ee;color:#9d3932}.arena-audit-failures h2{margin:0 0 6px;font:700 16px Fredoka}.arena-audit-failures output{font-size:11px;font-weight:900}.arena-audit-failures ol{display:grid;gap:7px;margin:0;padding-left:20px}.arena-audit-failures li{padding-left:3px;font-size:11px}.arena-audit-failures li strong,.arena-audit-failures li span{display:block}.arena-audit-failures li span{margin-top:2px}@media (max-width:900px){.arena-audit-shell{padding:12px}.arena-audit-header{align-items:flex-start;flex-direction:column}.arena-audit-main{grid-template-columns:1fr}.arena-audit-mode-results>div{grid-template-columns:repeat(5,1fr)}.arena-audit-progress{grid-template-columns:repeat(3,1fr)}.arena-audit-progress-bar{grid-column:1/-1}}.app-shell{min-height:100vh;background:radial-gradient(circle at 12% 18%,rgba(48,145,81,.12),transparent 24rem),radial-gradient(circle at 88% 76%,rgba(223,153,32,.12),transparent 24rem),#eef1f5}.programming-identity-shell{min-height:100vh;display:grid;place-items:center;align-content:center;gap:22px;padding:32px 18px;background:radial-gradient(circle at 18% 18%,rgba(48,145,81,.2),transparent 25rem),radial-gradient(circle at 82% 82%,rgba(223,153,32,.2),transparent 25rem),linear-gradient(145deg,#eef5f0,#f4f1e8)}.identity-brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none}.identity-brand>span:last-child strong,.identity-brand>span:last-child b{display:block;font:700 19px/18px Fredoka}.identity-brand>span:last-child strong{color:var(--green)}.identity-brand>span:last-child b{color:var(--gold)}.programming-identity-card{width:min(100%,560px);padding:36px;border:1px solid rgba(204,207,215,.9);border-radius:28px;background:#fffffff0;box-shadow:0 24px 70px #29393026;text-align:center}.identity-robot{display:grid;place-items:center;width:68px;height:68px;margin:0 auto 18px;border-radius:22px;background:linear-gradient(145deg,var(--green),#57b66f);color:#fff;font-size:30px;box-shadow:0 12px 28px #30915147;transform:rotate(-3deg)}.identity-eyebrow{color:var(--green);font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.programming-identity-card h1{margin:9px 0 10px;font:700 clamp(28px,6vw,39px)/1.05 "Fredoka";color:var(--ink)}.programming-identity-card>p{max-width:460px;margin:0 auto 25px;color:var(--muted);font-size:14px;line-height:1.55}.programming-identity-card form{text-align:left}.programming-identity-card label{display:block;margin:0 0 7px;color:var(--green-dark);font-size:12px;font-weight:900}.identity-input-row{display:grid;grid-template-columns:1fr auto;gap:9px}.identity-input-row input{min-width:0;height:50px;padding:0 15px;border:1px solid #ccd4dc;border-radius:14px;background:#f7f9fa;color:var(--ink);font:800 15px Nunito;outline:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.identity-input-row input:focus{border-color:#62ab77;background:#fff;box-shadow:0 0 0 4px #30915121}.identity-input-row button{display:flex;align-items:center;justify-content:center;gap:9px;min-width:118px;height:50px;padding:0 18px;border:0;border-radius:14px;background:linear-gradient(145deg,var(--green),#3faa5e);color:#fff;font-weight:900;box-shadow:0 9px 20px #30915138}.identity-input-row button:disabled{cursor:not-allowed;opacity:.45;box-shadow:none}.programming-identity-card form>small{display:block;margin:8px 2px 0;color:#7b8491;font-size:10px}.identity-error{margin-top:10px;padding:9px 11px;border:1px solid #efc0bb;border-radius:10px;background:#fff0ee;color:#a53f36;font-size:11px;font-weight:800}.identity-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.identity-benefits span{display:flex;flex-direction:column;align-items:center;gap:5px;color:#66707e;font-size:9px;font-weight:900}.identity-benefits b{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:var(--gold-soft);color:#98630b;font-size:13px}.identity-back-link{color:var(--green-dark);font-size:12px;font-weight:900;text-decoration:none}.identity-back-link:hover{text-decoration:underline}.topbar{height:82px;display:flex;align-items:center;gap:28px;padding:0 32px;background:#ffffffdb;border-bottom:1px solid rgba(204,207,215,.8);box-shadow:0 8px 28px #232b380f;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;min-width:225px}.brand-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:linear-gradient(145deg,var(--green),#55b66f);color:#fff;font:700 17px Fredoka;box-shadow:0 8px 18px #3091513d;transform:rotate(-4deg)}.brand strong,.brand b{display:block;font:700 18px/18px Fredoka}.brand strong{color:var(--green)}.brand b{color:var(--gold)}.lesson-progress{flex:1;display:flex;align-items:center;justify-content:center;gap:12px;font-size:13px}.lesson-progress span{color:var(--green-dark);font-weight:900;text-transform:uppercase;letter-spacing:.05em}.lesson-progress strong{max-width:220px;overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.progress-track{width:min(25vw,330px);height:9px;background:#e1e5ea;border-radius:999px;overflow:hidden}.progress-track i{display:block;width:18%;height:100%;background:linear-gradient(90deg,var(--green),#60bf76);border-radius:inherit}.progress-track i.done{width:100%;transition:width .7s cubic-bezier(.2,.8,.2,1)}.top-actions{display:flex;gap:10px;min-width:225px;justify-content:flex-end}.icon-button,.profile-button,.assembly-top-button,.back-home-button{border:1px solid var(--line);background:#fff;border-radius:13px;color:var(--ink);font-weight:800}.icon-button{width:42px;height:42px;font-size:19px}.profile-button{height:42px;padding:0 14px 0 6px;display:flex;align-items:center;gap:8px}.profile-button span{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:var(--gold-soft);color:#97640c;font-size:12px}.profile-button{text-decoration:none}.profile-button small{color:var(--muted);font-size:8px;font-weight:900}.back-home-button{height:42px;padding:0 12px;display:flex;align-items:center;gap:7px;color:var(--green-dark);text-decoration:none;white-space:nowrap}.back-home-button span{font-size:18px;line-height:1}.back-home-button b{font-size:10px}.back-home-button:hover{border-color:#9ccbaa;background:var(--green-soft)}.assembly-top-button{height:42px;padding:0 12px;display:flex;align-items:center;gap:6px;color:#287a45;font-size:11px;white-space:nowrap}.assembly-top-button span{display:grid;place-items:center;width:26px;height:26px;border-radius:9px;background:var(--green-soft);font-size:13px}.workspace{position:relative;display:grid;grid-template-columns:260px minmax(410px,.9fr) minmax(500px,1.15fr);gap:18px;height:calc(100vh - 82px);padding:18px}.workspace.arena-is-hidden{grid-template-columns:260px minmax(0,1fr)}.arena-column{position:relative;grid-column:3;min-width:0;display:flex}.arena-column>.arena-panel{width:100%;flex:1}.arena-column.is-hidden{position:absolute;right:18px;top:50%;width:0;height:0;overflow:visible}.arena-visibility-toggle{position:absolute;z-index:12;left:0;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:38px;height:58px;padding:0;border:1px solid #9bcbaa;border-radius:15px;background:linear-gradient(145deg,#fff,#eaf7ee);color:#277a45;box-shadow:0 8px 22px #23422e33;cursor:pointer;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}.arena-visibility-toggle:hover{border-color:#4aa665;background:#e3f5e8;box-shadow:0 10px 25px #235b3445;transform:translate(-50%,-50%) scale(1.05)}.arena-visibility-toggle:focus-visible{outline:3px solid rgba(48,145,81,.28);outline-offset:3px}.arena-toggle-icon{font-size:18px;line-height:1}.arena-toggle-icon-mobile{display:none}.arena-visibility-toggle:after{content:attr(data-label);position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);padding:6px 8px;border-radius:8px;background:#27313a;color:#fff;font-size:8px;font-weight:900;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s ease}.arena-visibility-toggle:hover:after,.arena-visibility-toggle:focus-visible:after{opacity:1}.arena-column.is-hidden .arena-visibility-toggle{left:auto;right:0;top:0;transform:translate(50%,-50%)}.arena-column.is-hidden .arena-visibility-toggle:hover{transform:translate(50%,-50%) scale(1.05)}.arena-column.is-hidden .arena-visibility-toggle:after{left:auto;right:calc(100% + 8px)}.mission-card,.code-panel,.arena-panel{min-width:0;border:1px solid rgba(204,207,215,.85);border-radius:var(--radius);background:#ffffffeb;box-shadow:0 14px 38px #2b344314;overflow:hidden}.mission-card{padding:28px 22px;display:flex;flex-direction:column;overflow-y:auto}.eyebrow{color:var(--green);font-size:11px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.mission-card h1{margin:10px 0 12px;font:700 31px/1.04 Fredoka}.mission-card h1 em{color:var(--terracotta);font-style:normal}.mission-card>p{margin:0 0 22px;color:var(--muted);font-size:14px;line-height:1.55}.mission-criteria{margin:0 0 15px;padding:13px;border:1px solid #b8dbc2;border-radius:14px;background:#f2faf4;color:#315c3e}.mission-criteria>strong{display:block;margin-bottom:8px;font-size:11px}.mission-criteria ol{display:grid;gap:6px;margin:0;padding-left:20px}.mission-criteria li{padding-left:2px;font-size:10px;font-weight:750;line-height:1.4}.mission-criteria li::marker{color:var(--green);font-weight:900}.goal-card,.tip-card{display:flex;gap:12px;border-radius:15px}.goal-card{align-items:center;padding:13px;background:linear-gradient(135deg,#fff6d9,#ffedb4);border:1px solid #f4d67b}.goal-icon{display:grid;place-items:center;width:39px;height:39px;border-radius:13px;background:var(--gold);color:#fff;font-size:22px;box-shadow:0 6px 14px #df992040}.goal-card strong,.goal-card small{display:block}.goal-card strong{font-size:13px}.goal-card small{color:#8d691d;font-size:11px;margin-top:2px}.goal-card.is-complete{background:linear-gradient(135deg,#dbf6e3,#c9f0d4);border-color:#8fd2a2}.goal-card.is-complete .goal-icon{background:var(--green)}.goal-card.is-complete small{color:#267442;font-weight:800}.tip-card{margin-top:15px;padding:13px;background:var(--green-soft);color:#275a38}.tip-card p{margin:0;font-size:12px;line-height:1.45}.mission-checks{display:grid;gap:10px;margin-top:20px;color:#7a8290;font-size:12px;font-weight:800}.mission-checks div,.mission-checks button{display:flex;align-items:center;gap:8px}.mission-checks button{width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;font:inherit}.mission-checks span{display:grid;place-items:center;width:22px;height:22px;border:1px solid #d3d9e0;border-radius:8px;background:#f5f7f9;font-size:10px}.mission-checks .check-done{color:#307d4a}.mission-checks .check-done span{color:#fff;background:var(--green);border-color:var(--green)}.mission-checks .check-failed{color:#b3473e}.mission-checks .check-failed span{color:#fff;background:#d95a4e;border-color:#d95a4e}.mission-checks .hardware-check:not(.check-done){color:#a66d16}.mission-checks .hardware-check:not(.check-done) span{color:#fff;background:#d99a2b;border-color:#d99a2b}.obr-rule-event{display:flex;align-items:center;gap:9px;margin:12px 0 0;padding:9px;border:1px solid #dfe4e7;border-radius:12px;background:#f7f9fa}.obr-rule-event>span{display:grid;place-items:center;flex:0 0 auto;width:29px;height:29px;border-radius:9px;background:#fff0d8;color:#c57918}.obr-rule-event strong,.obr-rule-event small{display:block}.obr-rule-event strong{font-size:8px}.obr-rule-event small{max-height:25px;overflow:hidden;margin-top:2px;color:var(--muted);font-size:7px;line-height:1.35}.lesson-button{margin-top:auto;border:0;border-top:1px solid var(--line);padding:18px 0 0;background:transparent;color:var(--green);font-size:12px;font-weight:900;display:flex;justify-content:space-between}.code-panel,.arena-panel{display:flex;flex-direction:column}.panel-header,.arena-toolbar{height:54px;flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 15px;border-bottom:1px solid var(--line);background:#f8f9fb}.file-tab{align-self:stretch;display:flex;align-items:center;gap:8px;padding:0 13px;border-bottom:3px solid var(--green);font-size:13px;font-weight:800}.panel-tools{display:flex;gap:4px}.panel-tools button,.speed-control button{border:0;background:transparent;color:var(--muted);width:30px;height:30px;border-radius:9px}.editor-header{padding-left:7px}.editor-tabs{align-self:stretch;display:flex;align-items:stretch}.editor-tabs button{position:relative;display:flex;align-items:center;gap:6px;padding:0 8px;border:0;border-bottom:3px solid transparent;background:transparent;color:#707887;font-size:12px;font-weight:900}.editor-tabs button.active{color:#20252e;border-bottom-color:var(--green);background:#fff}.editor-tabs button i{display:grid;place-items:center;min-width:17px;height:17px;border-radius:8px;background:#e4e8ed;color:#687080;font:800 9px Nunito}.examples-button{border:1px solid #d8dde4;border-radius:9px;background:#fff;color:#5c6471;padding:6px 10px;font-size:10px;font-weight:900}.editor-header-actions{display:flex;align-items:center;gap:5px}.assembly-mini-button{border:1px solid #b8dbc2;border-radius:9px;background:#eef9f1;color:#297a45;padding:6px 9px;font-size:9px;font-weight:900;white-space:nowrap}.copy-editor-button{display:flex;align-items:center;justify-content:center;height:29px;padding:0 8px;border:1px solid #91cda3;border-radius:9px;background:#eef9f1;color:#267742;font:900 9px Nunito,sans-serif;white-space:nowrap;transition:.16s ease}.copy-editor-button span{display:none;place-items:center;width:15px;height:15px;border-radius:5px;background:#edf2f7;color:#526174;font-size:10px}.copy-editor-button:hover:not(:disabled){border-color:#83be95;background:#f4fbf6;color:#267742;transform:translateY(-1px)}.copy-editor-button:disabled{cursor:wait;opacity:.72}.copy-editor-button.copy-code,.copy-editor-button.copy-image,.copy-editor-button.copy-shared,.copy-editor-button.copy-downloaded{border-color:#91cda3;background:#eef9f1;color:#267742}.copy-editor-button.copy-error{border-color:#e4aaa4;background:#fff3f2;color:#a4453c}.editor-header-actions .assembly-mini-button{display:grid;place-items:center;width:30px;height:29px;padding:0;font-size:0}.editor-header-actions .assembly-mini-button span{font-size:11px}.ev3-editor-shell{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:#fbfcfd}.ev3-editor-guide{position:relative;z-index:2;min-height:39px;flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 9px 5px 13px;border-bottom:1px solid #e0e5ea;background:#fff;color:#687080;font-size:9px;font-weight:800}.ev3-editor-guide>div:first-child{display:flex;align-items:center;gap:7px}.ev3-guide-dot{width:8px;height:8px;border-radius:50%;background:#309151;box-shadow:0 0 0 4px #3091511f}.ev3-editor-actions{display:flex;align-items:center;gap:4px}.ev3-editor-actions button{min-width:28px;height:27px;padding:0 8px;border:1px solid #dbe1e7;border-radius:8px;background:#f8fafb;color:#596271;font-size:10px;font-weight:900}.ev3-editor-actions button:hover{border-color:#9bcfab;color:#287d45;background:#f2fbf5}.ev3-blockly-host{position:relative;flex:1;min-height:0;width:100%}.block-editor-paused{flex:1;min-height:0;background:#fbfcfd}.ev3-editor-loading,.ev3-editor-error{position:absolute;z-index:9;top:39px;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#fbfcfdf5;color:#4f5967;font-size:12px}.ev3-editor-loading span{width:34px;height:34px;border:4px solid #dfeee3;border-top-color:#309151;border-radius:50%;animation:spin .8s linear infinite}.ev3-editor-error strong,.ev3-editor-error small{display:block}.ev3-editor-error small{max-width:80%;color:#9e514b;text-align:center}.ev3-editor-shell .blocklyToolboxDiv{border-right:1px solid #dde3e9;box-shadow:3px 0 12px #28303d0d}.ev3-editor-shell .blocklyToolboxContents{padding:8px 5px}.ev3-editor-shell .blocklyTreeRow{height:auto;min-height:44px;margin:3px 0;padding:8px!important;border-radius:10px;line-height:16px}.ev3-editor-shell .blocklyTreeRow:not(.blocklyTreeSelected):hover{background:#f0f3f6}.ev3-editor-shell .blocklyTreeSelected{color:#20252e!important}.ev3-editor-shell .blocklyTreeLabel{font:800 10px/14px Nunito,sans-serif}.ev3-editor-shell .blocklyFlyout{filter:drop-shadow(4px 0 8px rgba(35,43,56,.08))}.ev3-editor-shell .blocklyFlyoutLabelText{font-family:Nunito,sans-serif;font-weight:900}.ev3-editor-shell .blocklyText{font-family:Nunito,sans-serif!important;font-weight:800!important}.ev3-editor-shell .blocklyEditableText>rect{fill:#fff!important;fill-opacity:.98!important;stroke:#1f273229!important;stroke-width:1px!important}.ev3-editor-shell .blocklyEditableText>.blocklyText{fill:#2a3039!important}.ev3-editor-shell .blocklyMainBackground{stroke:none}.ev3-steering-editor{width:178px;display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px;outline:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ev3-steering-editor:focus-visible{border-radius:8px;box-shadow:inset 0 0 0 3px #ffffffb8}.ev3-steering-value{box-sizing:border-box;width:76px;height:30px;padding:3px 7px;border:2px solid rgba(255,255,255,.9);border-radius:7px;outline:0;background:#fff;color:#2a3039;text-align:center;font:900 14px/1 Nunito,sans-serif;box-shadow:0 3px 8px #79004f33;-webkit-user-select:text;-moz-user-select:text;user-select:text}.ev3-steering-value:focus{border-color:#8c095f;box-shadow:0 0 0 3px #ffffff80,0 3px 8px #79004f33}.ev3-steering-dial{position:relative;width:150px;height:150px;border-radius:50%;background:linear-gradient(145deg,#db0796,#cf008a);box-shadow:inset 0 0 0 2px #ffffff14,0 8px 18px #79004f3d;cursor:crosshair}.ev3-steering-dial>i{position:absolute;left:50%;top:50%;width:2px;height:8px;border-radius:2px;background:#ffffff9e;transform:translate(-50%,-50%) rotate(var(--tick-angle)) translateY(-61px);transform-origin:center;pointer-events:none}.ev3-steering-dial>i:nth-child(3n+1){width:3px;height:11px;background:#fff}.ev3-steering-pointer{--steering-angle:0deg;position:absolute;z-index:2;left:50%;top:12px;width:3px;height:63px;border-radius:99px;background:#fff;transform:translate(-50%) rotate(var(--steering-angle));transform-origin:50% 100%;pointer-events:none;filter:drop-shadow(0 2px 2px rgba(99,0,65,.22))}.ev3-steering-pointer:before{content:"";position:absolute;left:50%;top:-1px;width:9px;height:9px;border-left:3px solid #fff;border-top:3px solid #fff;transform:translate(-50%) rotate(45deg)}.ev3-steering-center{position:absolute;z-index:3;left:50%;top:50%;display:grid;place-items:center;width:45px;height:45px;padding:0;border:4px solid #fff;border-radius:50%;background:#e716aa;color:#fff;font-size:25px;line-height:1;transform:translate(-50%,-50%);box-shadow:0 4px 10px #5b003e3b}.ev3-steering-center:hover,.ev3-steering-center:focus-visible{background:#c90088;outline:3px solid rgba(255,255,255,.65);outline-offset:2px}.editor-wrap{position:relative;flex:1;min-height:0;display:grid;grid-template-columns:43px 1fr;overflow:hidden;background:#20252e;color:#e7edf5}.line-numbers{min-height:0;overflow:hidden;padding:19px 10px 60px;background:#1b2028;color:#747f8e;text-align:right;font:12px/24px ui-monospace,SFMono-Regular,Consolas,monospace;-webkit-user-select:none;-moz-user-select:none;user-select:none}.line-numbers span{display:block}.editor-wrap pre{margin:0;padding:19px 17px;white-space:pre;font:13px/24px ui-monospace,SFMono-Regular,Consolas,monospace}.editor-wrap textarea{width:100%;height:100%;min-height:0;resize:none;border:0;outline:0;padding:19px 17px 60px;background:#20252e;color:#e7edf5;caret-color:#65cc81;-moz-tab-size:4;-o-tab-size:4;tab-size:4;white-space:pre;overflow:auto;font:13px/24px ui-monospace,SFMono-Regular,Consolas,monospace}.editor-wrap textarea::-moz-selection{background:#4eb56b52}.editor-wrap textarea::selection{background:#4eb56b52}.code-block-sync-error{position:absolute;right:12px;bottom:10px;left:55px;z-index:2;padding:7px 10px;border:1px solid rgba(239,171,71,.35);border-radius:7px;background:#4a331bf0;color:#ffd99b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:10px/14px Nunito,sans-serif}.console-wrap{flex:1;min-height:0;overflow:auto;padding:17px;background:#20252e;color:#dce3eb;font:12px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace}.console-intro{display:flex;align-items:center;gap:10px;padding:10px 11px;margin-bottom:13px;border:1px solid #343c48;border-radius:12px;background:#262d37}.console-intro>span{display:grid;place-items:center;width:33px;height:33px;border-radius:10px;background:var(--green);color:#fff;font:700 11px Fredoka}.console-intro strong,.console-intro small{display:block}.console-intro strong{font:700 12px Nunito}.console-intro small{color:#8f9aaa;font:10px Nunito;margin-top:2px}.console-wrap p{display:flex;gap:8px;margin:0;padding:5px 3px;border-bottom:1px solid rgba(255,255,255,.035)}.console-wrap p>span{flex:0 0 auto;display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:#38414e;color:#a9b3bf;font:800 10px Nunito}.console-wrap .log-success{color:#85d69b}.console-wrap .log-success>span{background:#267a43;color:#fff}.console-wrap .log-warning{color:#f2c76a}.console-wrap .log-warning>span{background:#a77213;color:#fff}.console-wrap .log-error{color:#ff938d}.console-wrap .log-error>span{background:#a94740;color:#fff}.empty-console{min-height:65%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#8792a1;text-align:center}.empty-console b{display:grid;place-items:center;width:48px;height:48px;margin-bottom:10px;border-radius:16px;background:#2b333e;color:#68c881;font-size:17px}.empty-console strong{color:#b8c1cc;font:800 12px Nunito}.empty-console small{font:10px Nunito;margin-top:3px}.run-bar{min-height:67px;flex:0 0 auto;display:flex;align-items:center;gap:9px;padding:10px 12px;border-top:1px solid var(--line)}.saved-state{margin-right:auto;color:var(--muted);font-size:11px}.saved-state i,.live-dot{display:inline-block;width:7px;height:7px;border-radius:99px;background:#51b96d;box-shadow:0 0 0 4px #51b96d21;margin-right:5px}.saved-state.needs-blocks{color:#a36a14}.saved-state.needs-blocks i{background:#df9920;box-shadow:0 0 0 4px #df992024}.saved-state.sync-loading,.saved-state.sync-saving{color:#527183}.saved-state.sync-loading i,.saved-state.sync-saving i{background:#3d9fc3;box-shadow:0 0 0 4px #3d9fc324;animation:pulse 1s ease-in-out infinite}.saved-state.sync-local,.saved-state.sync-offline{color:#946315}.saved-state.sync-local i,.saved-state.sync-offline i{background:#df9920;box-shadow:0 0 0 4px #df992024}.reset-button,.run-button{height:43px;border-radius:12px;padding:0 14px;font-weight:900;font-size:12px}.reset-button{border:1px solid var(--line);color:var(--muted);background:#fff}.run-button{border:0;background:linear-gradient(135deg,var(--green),#46aa63);color:#fff;box-shadow:0 8px 18px #30915140}.run-button span{margin-right:5px}.run-button:disabled{cursor:not-allowed;opacity:.58;background:#8e99a6;box-shadow:none}.pause-button{height:43px;border:0;border-radius:12px;padding:0 17px;background:linear-gradient(135deg,#df9920,#efb13c);color:#fff;font-size:12px;font-weight:900;box-shadow:0 8px 18px #df992040}.pause-button span{margin-right:6px}.arena-toolbar>div:first-child{font:700 14px Fredoka}.arena-toolbar small{margin-left:6px;color:var(--muted);font:600 10px Nunito}.live-dot{margin-right:8px}.arena-toolbar-actions{display:flex;align-items:center;gap:7px}.expand-arena-button{height:31px;padding:0 10px;border:1px solid #d6dde2;border-radius:10px;background:#fff;color:#3f4d57;font-size:9px;font-weight:900}.expand-arena-button span{margin-right:4px;font-size:12px}.expand-arena-button:hover{border-color:#92c5a1;color:#247743;background:#f3fbf5}.arena-level-picker{flex:0 0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:7px;padding:7px 10px;border-bottom:1px solid var(--line);background:#f1f4f6}.arena-level-picker button{min-width:0;display:grid;grid-template-columns:29px 1fr;grid-template-rows:1fr 1fr;-moz-column-gap:7px;column-gap:7px;align-items:center;min-height:42px;padding:5px 8px;border:1px solid #d9dfe4;border-radius:11px;background:#fff;color:#596571;text-align:left}.arena-level-picker button>span{grid-row:1/3;display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:#e9edf0;color:#66737d;font:800 11px Fredoka}.arena-level-picker button>b{align-self:end;font-size:9px}.arena-level-picker button>small{align-self:start;overflow:hidden;color:#8a959e;font-size:7px;text-overflow:ellipsis;white-space:nowrap}.arena-level-picker button.active{border-color:#43a762;background:#f0faf3;box-shadow:0 0 0 2px #3091511a;color:#237842}.arena-level-picker button.active>span{background:var(--green);color:#fff}.arena-level-picker button.level-beginner.active{border-color:#4a91bd;background:#f0f8fc;color:#316d93}.arena-level-picker button.level-beginner.active>span{background:#4a91bd}.arena-level-picker button.level-medium.active{border-color:#e39b2f;background:#fff8eb;color:#9a6818}.arena-level-picker button.level-medium.active>span{background:#e39b2f}.arena-level-picker button.level-hard.active{border-color:#426fa5;background:#f0f6fc;color:#315f94}.arena-level-picker button.level-hard.active>span{background:#426fa5}.arena-level-picker button.is-locked{cursor:not-allowed;border-color:#d7dce1;background:#e9edf0;color:#818b94;opacity:1}.arena-level-picker button.is-locked>span{background:#d9dee3;color:#68737d;font-size:12px;filter:grayscale(1)}.arena-level-picker button.is-locked>small{color:#919aa2}.arena-level-picker button.needs-check{border-color:#e8c067;background:#fff9e9;color:#936310}.arena-level-picker button.needs-check>span{background:#f2b43d;color:#fff}.arena-level-picker button.needs-check.active{box-shadow:0 0 0 2px #df992021}.basic-skip-card{flex:0 0 auto;display:grid;grid-template-columns:31px minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 10px;border-bottom:1px solid #ead9ac;background:linear-gradient(90deg,#fff9e8,#fffdf7);color:#6f571d}.basic-skip-card>span{display:grid;place-items:center;width:31px;height:31px;border-radius:10px;background:#f2b43d;color:#fff;font-size:14px}.basic-skip-card strong,.basic-skip-card small{display:block}.basic-skip-card strong{font:700 10px Fredoka}.basic-skip-card small{margin-top:1px;color:#8b7440;font-size:7px}.basic-skip-card>button{height:30px;padding:0 10px;border:0;border-radius:9px;background:#2f8f50;color:#fff;font-size:8px;font-weight:900;white-space:nowrap}.basic-skip-card>button b{margin-left:4px}.basic-confirmed-card{flex:0 0 auto;display:grid;grid-template-columns:29px minmax(0,1fr);align-items:center;gap:8px;padding:6px 10px;border-bottom:1px solid #b9dcc3;background:linear-gradient(90deg,#edf9f1,#f8fcf9);color:#276c3e}.basic-confirmed-card>span{display:grid;place-items:center;width:29px;height:29px;border-radius:10px;background:#319151;color:#fff;font-size:13px;font-weight:900}.basic-confirmed-card strong,.basic-confirmed-card small{display:block}.basic-confirmed-card strong{font:700 10px Fredoka}.basic-confirmed-card small{margin-top:1px;color:#5f866c;font-size:7px}.arena-challenge-picker{flex:0 0 auto;display:grid;grid-template-columns:34px minmax(0,1fr) 34px;align-items:center;gap:7px;padding:7px 10px;border-bottom:1px solid var(--line);background:#fff}.arena-challenge-picker>button{width:34px;height:38px;border:1px solid #cdd8d1;border-radius:11px;background:#eff8f1;color:#287a45;font:900 21px/1 Nunito}.arena-challenge-picker>button:disabled{cursor:not-allowed;opacity:.35}.arena-challenge-picker>button:not(:disabled):hover{border-color:#68ae7b;background:#e3f4e8}.arena-challenge-picker label{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px}.arena-challenge-picker label>span{color:#68737b;font-size:8px;font-weight:900;text-transform:uppercase;white-space:nowrap}.arena-challenge-picker select{min-width:0;width:100%;height:38px;padding:0 31px 0 11px;border:1px solid #d4dce1;border-radius:11px;background:#f8faf9;color:#27313a;font:800 10px Nunito;text-overflow:ellipsis}.arena-challenge-picker select:focus-visible{outline:3px solid rgba(48,145,81,.2);border-color:#5baa71}.arena-mission-progress{flex:0 0 auto;display:flex;align-items:center;gap:5px;overflow-x:auto;padding:6px 10px 7px;border-bottom:1px solid var(--line);background:#f8faf9;scrollbar-width:thin}.arena-mission-progress button{flex:1 0 34px;min-width:34px;height:29px;display:flex;align-items:center;justify-content:center;gap:3px;padding:0 5px;border:1px solid #cad6ce;border-radius:9px;background:#fff;color:#53605a;font:800 10px Nunito;white-space:nowrap}.arena-mission-progress button span{font-size:8px}.arena-mission-progress button.is-active{border-color:#309151;background:#e9f7ed;color:#247640;box-shadow:0 0 0 2px #3091511c}.arena-mission-progress button.is-complete{border-color:#8fc59e;background:#f0faf3;color:#287a45}.arena-mission-progress button.is-locked{border-color:#d9dde1;background:#eceff2;color:#7c858e;cursor:not-allowed;opacity:1}.arena-mission-progress button.is-locked span{font-size:9px;filter:grayscale(1)}.obr-scoreboard{min-height:48px;flex:0 0 auto;display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line);background:#27313a;color:#fff}.obr-scoreboard>div{display:flex;align-items:center;justify-content:center;gap:6px;padding:7px;border-right:1px solid rgba(255,255,255,.09)}.obr-scoreboard>div:last-child{border:0}.obr-scoreboard small{color:#aebac3;font-size:8px;font-weight:800}.obr-scoreboard strong{font:700 13px Fredoka}.obr-scoreboard>div:last-child strong{color:#f2b33a}.speed-control{display:flex;align-items:center;gap:3px;padding:3px;border-radius:10px;background:#e9edf1}.speed-control strong{font-size:11px;width:27px;text-align:center}.speed-control button{width:25px;height:25px}.speed-control button:disabled{opacity:.3;cursor:not-allowed}.arena{position:relative;flex:1;min-height:0;overflow:hidden;background:linear-gradient(#ffffff52,#ffffff52),repeating-linear-gradient(0deg,transparent 0 45px,rgba(48,145,81,.08) 46px),repeating-linear-gradient(90deg,transparent 0 45px,rgba(48,145,81,.08) 46px),#dff2e4}.arena:before{content:"";position:absolute;top:24px;right:24px;bottom:24px;left:24px;border:7px solid #f7f0df;border-radius:28px;box-shadow:inset 0 0 0 2px #5a4b2d1f,0 0 0 2px #5a4b2d1a}.arena:after{content:"";position:absolute;left:76px;right:86px;top:50%;height:75px;border-top:18px dashed rgba(255,255,255,.75);transform:translateY(-50%)}.arena:before,.arena:after{display:none}.arena canvas{display:block;width:100%;height:100%;min-height:330px}.preview-route-button{border-color:#a9d4b5;background:#f0faf3;color:#267844}.preview-route-button:disabled,.expand-arena-button:disabled{cursor:not-allowed;opacity:.45}.mission-preview-overlay{position:absolute;z-index:5;left:14px;top:14px;display:flex;flex-direction:column;align-items:flex-start;max-width:min(320px,calc(100% - 28px));padding:10px 12px;border:1px solid rgba(255,255,255,.8);border-radius:14px;background:#1b272de6;color:#fff;box-shadow:0 14px 36px #141e233d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:previewIn .3s ease-out}.mission-preview-overlay>span{color:#c9f0d4;font-size:7px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.mission-preview-overlay>span i{display:inline-block;width:6px;height:6px;margin-right:5px;border-radius:50%;background:#55d879;box-shadow:0 0 0 4px #55d87921;animation:pulse 1s ease-in-out infinite}.mission-preview-overlay strong{margin-top:4px;font:700 14px Fredoka}.mission-preview-overlay small{margin-top:2px;color:#cbd5da;font-size:8px;line-height:1.35}.mission-preview-overlay button{margin-top:7px;padding:5px 8px;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#ffffff17;color:#fff;font-size:7px;font-weight:900}.mission-preview-overlay.phase-returning{animation:previewReturn .85s ease-in-out both}.basic-knowledge-gate{position:absolute;top:0;right:0;bottom:0;left:0;z-index:7;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;background:#182227bd;color:#fff;text-align:center;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);animation:fade .25s ease-out}.basic-knowledge-gate .gate-icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:9px;border-radius:16px;background:linear-gradient(145deg,#f6bc43,#df9220);font-size:22px;box-shadow:0 10px 24px #6f4a0c4d}.basic-knowledge-gate>small:first-of-type{color:#f1cb70;font-size:7px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.basic-knowledge-gate>strong{margin-top:4px;font:700 24px Fredoka}.basic-knowledge-gate>p{max-width:390px;margin:7px 0 13px;color:#e2eaed;font-size:10px;line-height:1.5}.basic-knowledge-gate>button{width:min(310px,100%);min-height:38px;margin:3px 0;border-radius:11px;font-size:9px;font-weight:900}.confirm-basic-button{border:0;background:linear-gradient(135deg,#319151,#48ad67);color:#fff;box-shadow:0 8px 18px #185d2f4d}.beginner-path-button{border:1px solid rgba(255,255,255,.3);background:#ffffff1a;color:#fff}.basic-knowledge-gate>small:last-child{max-width:380px;margin-top:9px;color:#b9c5ca;font-size:7px;line-height:1.4}.arena-legend{flex:0 0 auto;display:grid;grid-template-columns:1.35fr repeat(auto-fit,minmax(78px,1fr));align-items:center;gap:7px;min-height:70px;padding:8px 10px;border-top:1px solid var(--line);background:#fffdf8}.arena-legend header strong,.arena-legend header small,.arena-legend span b,.arena-legend span small{display:block}.arena-legend header strong{color:#34404a;font:800 11px Fredoka}.arena-legend header small{margin-top:2px;color:var(--muted);font-size:8px}.arena-legend>div{display:flex;align-items:center;gap:6px;min-width:0}.arena-legend span b{overflow:hidden;color:#3c4650;font-size:8px;line-height:1.05;text-overflow:ellipsis;white-space:nowrap}.arena-legend span small{margin-top:2px;color:#82909b;font-size:7px;white-space:nowrap}.arena-legend i{position:relative;flex:0 0 22px;width:22px;height:22px;border-radius:5px;background:#f4f2ea;border:1px solid #c8c7c0}.arena-legend .legend-tile{background:#f5f3ec;box-shadow:inset 0 0 0 3px #fff}.arena-legend .legend-white{background:#fff;box-shadow:inset 0 0 0 2px #f1f3ef}.arena-legend .legend-waypoint{border:2px dashed #4a91bd;border-radius:50%;background:#4a91bd1a}.arena-legend .legend-waypoint:after{content:"1";position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#316d93;font-size:10px;font-style:normal;font-weight:900}.arena-legend .legend-goal{border:2px dashed #df9920;border-radius:50%;background:#fff1b561}.arena-legend .legend-goal:after{content:"★";position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#a46c10;font-size:11px;font-style:normal}.arena-legend .legend-curve{border-color:#777;background:radial-gradient(circle at 100% 100%,transparent 0 9px,#181b1e 10px 14px,transparent 15px)}.arena-legend .legend-gap{border-style:dashed;background:linear-gradient(90deg,#171a1d 0,#171a1d 28%,#f5f3ec 28%,#f5f3ec 72%,#171a1d 72%)}.arena-legend .legend-marker{background:#1f9a4a;border-color:#177a3a}.arena-legend .legend-marker:after{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#fff;font-size:12px;font-style:normal;font-weight:900}.arena-legend .legend-green-left:after{content:"←"}.arena-legend .legend-green-right:after{content:"→"}.arena-legend .legend-green-straight:after{content:"↑"}.arena-legend .legend-green-return:after{content:"↩"}.arena-legend .legend-ramp{background:linear-gradient(135deg,#edf0f1,#71818a,#edf0f1)}.arena-legend .legend-bump{background:repeating-linear-gradient(0deg,#f5f3ec 0,#f5f3ec 3px,#aeb6bb 3px,#aeb6bb 6px)}.arena-legend .legend-obstacle{background:#e56d43;border-color:#bf4f2b;box-shadow:3px 3px #5337292e}.arena-legend .legend-passage{border:4px solid #ef8c2e;border-bottom:0;border-radius:7px 7px 2px 2px;background:transparent}.arena-expanded-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:grid;place-items:center;width:100dvw;height:100dvh;padding:0;overflow:hidden;background:#141c21d1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.arena-expanded-dialog{width:100vw;width:100dvw;height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden;border:0;border-radius:0;background:#202a30;box-shadow:0 28px 90px #0000006b}.arena-expanded-dialog>header{min-height:62px;flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 14px 10px 18px;color:#fff;background:#27343b;border-bottom:1px solid rgba(255,255,255,.1)}.arena-expanded-dialog>header>div{display:flex;align-items:center;gap:10px;min-width:0}.arena-expanded-dialog>header span strong,.arena-expanded-dialog>header span small{display:block}.arena-expanded-dialog>header span strong{font:700 16px Fredoka}.arena-expanded-dialog>header span small{overflow:hidden;max-width:65vw;margin-top:2px;color:#aebbc3;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.arena-expanded-dialog>header b{color:#f2b33a;font:700 15px Fredoka;white-space:nowrap}.arena-expanded-dialog>header button{width:35px;height:35px;border:0;border-radius:11px;background:#ffffff1a;color:#fff;font-size:22px}.arena-expanded-dialog>header button:hover{background:#ffffff2e}.arena-expanded-stage{flex:1;min-width:0;min-height:0;display:grid;place-items:center;overflow:hidden;padding:6px;background:#151d21}.arena-expanded-stage canvas{display:block;width:100%;height:100%;min-width:0;min-height:0;border-radius:8px;box-shadow:0 0 0 1px #ffffff1a}.arena-expanded-dialog>footer{flex:0 0 auto;min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:8px 14px;color:#9eabb3;background:#27343b;border-top:1px solid rgba(255,255,255,.08);font-size:9px;text-align:left}.arena-expanded-controls{display:flex;align-items:center;gap:8px}.arena-expanded-controls .reset-button,.arena-expanded-controls .run-button,.arena-expanded-controls .pause-button{height:40px}.hide-expanded-arena-button{height:40px;padding:0 13px;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:#ffffff14;color:#d8e0e5;font-size:10px;font-weight:900}.hide-expanded-arena-button:hover{background:#ffffff24}.legend-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:220;display:grid;place-items:center;padding:18px;background:#1c2328ad;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.legend-dialog{width:min(760px,94vw);max-height:90vh;display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(255,255,255,.8);border-radius:22px;background:#fffdf8;box-shadow:0 26px 80px #141e2359}.legend-dialog>header{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 18px;border-bottom:1px solid #e0e4e7;background:#fff}.legend-dialog>header>div{display:flex;align-items:center;gap:11px;min-width:0}.legend-dialog>header>div>span{display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;border-radius:12px;background:var(--green-soft);color:var(--green);font:900 17px Fredoka}.legend-dialog header strong,.legend-dialog header small{display:block}.legend-dialog header strong{font:700 16px Fredoka}.legend-dialog header small{margin-top:2px;color:var(--muted);font-size:9px}.legend-dialog>header>button{width:34px;height:34px;border:0;border-radius:11px;background:#edf1f3;color:#69747c;font-size:21px}.legend-dialog .arena-legend{overflow:auto;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;min-height:0;padding:18px;border:0;background:#fffdf8}.legend-dialog .arena-legend>div{min-height:54px;padding:9px 11px;border:1px solid #e0e3df;border-radius:13px;background:#fff}.legend-dialog .arena-legend i{flex-basis:32px;width:32px;height:32px;border-radius:8px}.legend-dialog .arena-legend span b{font-size:10px;white-space:normal}.legend-dialog .arena-legend span small{font-size:8px}.legend-dialog .arena-legend .legend-marker:after{font-size:16px}.legend-dialog>footer{flex:0 0 auto;padding:10px 15px;border-top:1px solid #e0e4e7;background:#f4f6f7;color:#7f8a93;font-size:8px;text-align:center}.live-dot.pulsing{animation:pulse 1s ease-in-out infinite}.arena-grid{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 25% 22%,rgba(255,255,255,.8),transparent 3px),radial-gradient(circle at 80% 70%,rgba(223,153,32,.17),transparent 8rem)}.start-label{position:absolute;left:50px;bottom:42px;color:#317a49;font-size:10px;font-weight:900;letter-spacing:.08em}.finish-star{position:absolute;right:48px;top:48px;width:62px;height:62px;display:grid;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(145deg,#f4bb35,#df9020);font-size:34px;box-shadow:0 0 0 10px #df992026,0 12px 22px #7c531133;animation:float 2.2s ease-in-out infinite}.obstacle{position:absolute;font-size:47px;filter:drop-shadow(0 8px 7px rgba(69,59,38,.18))}.obstacle-one{left:46%;top:23%;transform:rotate(8deg)}.obstacle-two{right:25%;bottom:22%;transform:rotate(-10deg)}.robot{position:absolute;left:19%;bottom:22%;width:76px;height:60px;border:6px solid #234c32;border-radius:25px 25px 18px 18px;background:linear-gradient(145deg,#54b76f,#268148);box-shadow:-9px 7px #333b46,9px 7px #333b46,0 12px 19px #19432740;transform:rotate(-8deg)}.robot:before{content:"";position:absolute;left:50%;top:-19px;width:3px;height:17px;background:#234c32}.robot:after{content:"";position:absolute;left:calc(50% - 5px);top:-25px;width:10px;height:10px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px #df992033}.robot b{position:absolute;left:50%;top:30px;transform:translate(-50%,-50%);color:#fff;font:700 15px Fredoka}.robot-eye{position:absolute;left:17px;top:13px;width:10px;height:10px;border:3px solid white;border-radius:50%;background:#243128}.robot-eye.second{left:auto;right:17px}.status-strip{min-height:71px;flex:0 0 auto;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);background:#fafbfc}.status-strip>div{display:grid;grid-template-columns:25px 1fr;align-content:center;padding:11px 12px;border-right:1px solid var(--line)}.status-strip>div:last-child{border:0}.status-strip>div>span{grid-row:1/3;align-self:center;color:var(--green)}.status-strip small,.status-strip strong{font-size:10px}.status-strip small{color:var(--muted)}.status-strip strong{font-size:12px}.status-strip .ready,.status-ready,.status-success,.status-complete{color:var(--green)}.status-running{color:#217ea8}.status-paused{color:#b47913}.status-error{color:#bf4b43}.robot-connections{flex:0 0 auto;padding:9px 12px 11px;border-top:1px solid var(--line);background:#f5f7f9}.robot-connections>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px}.robot-connections>header>div{display:flex;align-items:baseline;gap:7px;min-width:0}.robot-connections>header strong{color:#35404d;font:700 12px Fredoka}.robot-connections>header small{color:var(--muted);font-size:9px}.robot-connections>header button{border:0;padding:4px 7px;border-radius:7px;background:var(--green-soft);color:#287a45;font-size:9px;font-weight:900}.connection-row{display:grid;grid-template-columns:76px repeat(4,minmax(0,1fr));gap:5px;align-items:center}.connection-row+.connection-row{margin-top:5px}.connection-row h3{margin:0;color:#4f5967;font:800 10px Nunito}.connection-row h3 span{display:block;color:#8a93a0;font-size:8px;font-weight:700}.connection-port{--connection-colour:#9da7b3;min-width:0;height:34px;display:flex;align-items:center;gap:5px;padding:4px 5px;border:1px solid color-mix(in srgb,var(--connection-colour) 32%,#dce1e6);border-radius:9px;background:#fff}.connection-port>b{flex:0 0 auto;display:grid;place-items:center;width:23px;height:23px;border-radius:7px;background:var(--connection-colour);color:#fff;font:800 11px Fredoka;box-shadow:0 3px 7px color-mix(in srgb,var(--connection-colour) 22%,transparent)}.connection-port>span{min-width:0;display:block;line-height:1.05}.connection-port small,.connection-port strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.connection-port small{color:#8b94a1;font-size:7px}.connection-port strong{margin-top:2px;color:#3c4652;font-size:8px}.connection-motor-medium{--connection-colour:#dfa020}.connection-motor-large{--connection-colour:#309151}.connection-sensor-touch{--connection-colour:#e9504f}.connection-sensor-gyro{--connection-colour:#f0a72b}.connection-sensor-color{--connection-colour:#31a7d5}.connection-sensor-ultrasonic{--connection-colour:#6b7c91}.connection-motor-empty,.connection-sensor-empty{opacity:.65}.connection-motor-empty>b,.connection-sensor-empty>b{background:#aeb7c3}.success-pop{position:absolute;inset:50% auto auto 50%;z-index:3;width:250px;padding:24px;border:1px solid rgba(223,153,32,.5);border-radius:23px;background:#fffffff0;box-shadow:0 24px 70px #3a41303d;text-align:center;transform:translate(-50%,-50%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:pop .45s cubic-bezier(.2,1.5,.4,1)}.success-pop strong{display:block;color:var(--green-dark);font:700 25px Fredoka}.success-pop p{margin:4px 0 16px;color:var(--muted);font-size:12px}.success-pop button{border:0;border-radius:12px;padding:10px 13px;background:var(--green);color:#fff;font-size:11px;font-weight:900}.success-stars{color:var(--gold);font-size:24px;letter-spacing:7px}.success-stars span{display:inline-block;font-size:37px;animation:float 1.2s ease-in-out infinite}.builder-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200100;isolation:isolate;display:grid;place-items:center;padding:16px;background:#20262d;background:#181e25f0;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);animation:fade .18s ease-out}.builder-modal{position:relative;width:min(1420px,98vw);height:min(840px,96vh);overflow:hidden;border:1px solid rgba(255,255,255,.8);border-radius:26px;background:#f5f7f8;box-shadow:0 34px 110px #0a110f6b}.builder-close-button{position:absolute;z-index:8;right:14px;top:14px;display:grid;place-items:center;width:38px;height:38px;border:1px solid #d9dfe5;border-radius:12px;background:#fffffff0;color:#687080;font-size:24px;box-shadow:0 6px 18px #1e252f1a}.robot-builder{height:100%;display:flex;flex-direction:column;min-height:0}.builder-heading{min-height:104px;flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 72px 18px 26px;border-bottom:1px solid #dce2e7;background:#fff}.builder-kicker{color:var(--green);font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.builder-heading h2{margin:4px 0 2px;font:700 25px/1.1 Fredoka}.builder-heading p{margin:0;color:var(--muted);font-size:11px}.builder-readiness{display:flex;align-items:center;gap:10px;min-width:208px;padding:10px 13px;border:1px solid #e0e4e9;border-radius:15px;background:#f8fafb}.builder-readiness>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#e9edf1;color:#737e8c;font:800 14px Nunito}.builder-readiness strong,.builder-readiness small{display:block}.builder-readiness strong{font-size:12px}.builder-readiness small{margin-top:2px;color:var(--muted);font-size:9px}.builder-readiness.ready{border-color:#a8d7b5;background:#eff9f2}.builder-readiness.ready>span{background:var(--green);color:#fff}.builder-readiness.ready small{color:#3c8051}.builder-layout{flex:1;min-height:0;display:grid;grid-template-columns:230px minmax(550px,1fr) 230px;overflow:hidden}.parts-tray,.assembly-guide{min-height:0;overflow:auto;padding:16px;background:#fff}.parts-tray{border-right:1px solid #dce2e7}.assembly-guide{border-left:1px solid #dce2e7}.parts-tray>header{display:flex;align-items:center;gap:9px;margin-bottom:11px}.parts-tray>header>span{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--green-soft);color:var(--green);font-size:15px}.parts-tray header strong,.parts-tray header small{display:block}.parts-tray header strong{font-size:12px}.parts-tray header small{color:var(--muted);font-size:9px;margin-top:1px}.tray-piece{width:100%;min-height:61px;display:grid;grid-template-columns:48px 1fr 30px;align-items:center;gap:8px;margin:7px 0;padding:7px;border:1px solid #dde2e7;border-radius:14px;background:#f9fafb;text-align:left;transition:.15s ease}.tray-piece:hover,.tray-piece.selected{border-color:#74bf89;background:#eff9f2;transform:translateY(-1px);box-shadow:0 7px 15px #26593414}.tray-piece>span:nth-child(2) strong,.tray-piece>span:nth-child(2) small{display:block}.tray-piece>span:nth-child(2) strong{font-size:10px}.tray-piece>span:nth-child(2) small{margin-top:2px;color:var(--muted);font-size:8px}.tray-piece>b:last-child{display:grid;place-items:center;min-width:27px;height:25px;padding:0 4px;border-radius:8px;background:#e7ebef;color:#6b7480;font-size:9px}.tray-piece>b.installed{background:#daf1e0;color:#287a45}.tray-divider{display:flex;align-items:center;gap:7px;margin:12px 0 4px;color:#89919e;font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.tray-divider:after{content:"";flex:1;height:1px;background:#e2e6ea}.hardware-piece-visual{position:relative;display:block;width:43px;height:43px;flex:0 0 auto}.motor-piece-visual{border:5px solid #35404d;border-radius:10px;background:linear-gradient(145deg,#b8c0c8,#7f8995);box-shadow:inset 0 0 0 3px #dfe3e7,0 4px 7px #242b332e}.motor-medium{width:38px;height:38px;border-radius:15px;background:linear-gradient(145deg,#d5dadd,#919ca5)}.motor-hub{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:24px;height:24px;border:4px solid #202934;border-radius:50%;background:#e8edf0;color:#35404d;font:900 14px/1 Nunito;transform:translate(-50%,-50%)}.motor-cable{position:absolute;right:-10px;top:9px;width:9px;height:22px;border-radius:0 6px 6px 0;background:#232b35}.motor-piece-visual.compact{transform:scale(.88)}.sensor-piece-visual{border:4px solid #33404d;border-radius:11px;background:linear-gradient(145deg,#b8c2ca,#7d8994);box-shadow:inset 0 0 0 2px #dce1e5,0 4px 7px #242b3329}.sensor-piece-visual>i{position:absolute;left:50%;top:48%;display:grid;place-items:center;width:24px;height:24px;border:4px solid #26313c;border-radius:8px;background:var(--piece-colour);color:#fff;font:900 13px/1 Nunito;transform:translate(-50%,-50%)}.sensor-piece-visual>b{position:absolute;left:7px;right:7px;bottom:-7px;height:7px;border-radius:0 0 4px 4px;background:#28323d}.sensor-piece-visual.compact{transform:scale(.88)}.sensor-ultrasonic>i{border-radius:50%;box-shadow:12px 0 0 -5px var(--piece-colour),12px 0 0 -1px #26313c;left:39%}.sensor-touch>i{border-radius:50%}.builder-touch-tip{display:flex;gap:8px;margin-top:12px;padding:10px;border-radius:12px;background:#fff5d8;color:#725919}.builder-touch-tip>span{font-size:17px}.builder-touch-tip p{margin:0;font-size:8px;line-height:1.4}.robot-build-stage{position:relative;min-width:0;min-height:0;display:grid;place-items:start center;overflow:auto;padding:155px 22px 100px;background:#edf2f3}.stage-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle,#c6ced4 1.2px,transparent 1.2px);background-size:22px 22px;opacity:.75}.ev3-chassis{position:relative;z-index:1;width:520px;height:510px;border:7px solid #32414d;border-radius:58px 58px 42px 42px;background:linear-gradient(145deg,#f0f3f5 0,#f0f3f5 52%,#cbd2d7 52%,#cbd2d7);box-shadow:inset 0 0 0 8px #e6eaed,0 24px 50px #28333938}.ev3-chassis:before{content:"SAÍDAS DE MOTOR";position:absolute;z-index:0;left:5px;right:5px;top:-148px;height:142px;display:flex;align-items:flex-start;justify-content:center;padding-top:7px;border:5px solid #35434e;border-bottom-width:8px;border-radius:22px 22px 12px 12px;background:#aeb7be;color:#44515c;font-size:7px;font-weight:900;letter-spacing:.13em;pointer-events:none;box-shadow:0 12px 22px #27303629}.brick-screen{position:absolute;left:50%;top:75px;width:175px;height:111px;border:8px solid #394650;border-radius:16px;background:#bddcb6;box-shadow:inset 0 0 0 4px #a8caa1;transform:translate(-50%)}.brick-screen>span{position:absolute;left:15px;top:12px;color:#36553b;font:800 22px Fredoka}.brick-screen>i{position:absolute;right:15px;top:15px;width:12px;height:12px;border-radius:50%;background:#899a89}.brick-screen>i.on{background:#28ae54;box-shadow:0 0 0 5px #28ae5429}.brick-buttons{position:absolute;left:50%;top:210px;width:120px;height:90px;transform:translate(-50%)}.brick-buttons i{position:absolute;width:31px;height:25px;border:4px solid #45525d;border-radius:9px;background:#d8dde1}.brick-buttons i:nth-child(1){left:45px;top:0}.brick-buttons i:nth-child(2){left:45px;bottom:0}.brick-buttons i:nth-child(3){left:4px;top:31px}.brick-buttons i:nth-child(4){right:4px;top:31px}.brick-buttons b{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:34px;height:34px;border:4px solid #45525d;border-radius:50%;background:#6a747d;color:#3b454e;font-size:12px;transform:translate(-50%,-50%)}.chassis-studs{position:absolute;top:18px;right:18px;bottom:18px;left:18px;display:grid;grid-template-columns:repeat(4,18px);justify-content:space-between;align-content:space-between;pointer-events:none}.chassis-studs i{width:18px;height:18px;border:3px solid #68747e;border-radius:50%;background:#aeb7be;box-shadow:inset 2px 2px #ffffff59}.motor-slot{position:absolute;z-index:2;top:-126px;width:112px;height:113px;display:flex;align-items:center;justify-content:center;border:3px dashed #74808a;border-radius:15px;background:#eef1f3;transition:.18s ease}.motor-slot-a{left:14px}.motor-slot-b{left:143px}.motor-slot-c{left:272px}.motor-slot-d{left:401px}.motor-slot.can-drop{border-color:#35a55b;background:#e9f7ed;box-shadow:0 0 0 7px #35a55b1f}.slot-label{position:absolute;left:50%;top:5px;display:flex;align-items:center;gap:4px;white-space:nowrap;color:#68737e;font-size:6px;font-weight:900;transform:translate(-50%)}.slot-label b{display:grid;place-items:center;width:19px;height:19px;border-radius:7px;background:#394650;color:#fff;font-size:9px}.motor-slot .hardware-piece-visual{width:54px;height:54px;border-width:6px}.motor-slot .motor-medium{width:45px;height:45px;border-radius:16px}.motor-slot .motor-hub{width:29px;height:29px;border-width:5px;font-size:15px}.motor-slot .motor-medium .motor-hub{width:25px;height:25px;border-width:4px;font-size:13px}.motor-slot .motor-cable{right:-12px;top:12px;width:11px;height:27px}.motor-slot .installed-piece{padding-top:15px;gap:3px}.motor-slot .installed-piece>strong{font-size:6px}.motor-slot .installed-piece>button{right:-10px;top:-7px;width:21px;height:21px}.installed-piece{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:grab}.installed-piece>strong{max-width:85px;color:#35404a;font-size:8px;text-align:center}.installed-piece>button{position:absolute;right:-12px;top:-10px;display:grid;place-items:center;width:24px;height:24px;border:0;border-radius:8px;background:#e3514c;color:#fff;font-size:16px;box-shadow:0 4px 8px #8c262340}.empty-slot-mark{display:flex;flex-direction:column;align-items:center;gap:3px;color:#8d97a0}.empty-slot-mark>span{display:grid;place-items:center;width:37px;height:37px;border:2px dashed #9da7b0;border-radius:12px;font-size:21px}.empty-slot-mark small{font-size:8px;font-weight:900}.sensor-rack{position:absolute;left:53px;right:53px;bottom:-67px;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:13px 12px 10px;border:5px solid #35434e;border-radius:20px;background:#aeb7be;box-shadow:0 12px 25px #27303640}.sensor-slot{position:relative;min-height:126px;display:flex;align-items:center;justify-content:center;border:3px dashed #65727d;border-radius:14px;background:#eef1f3;transition:.18s ease}.sensor-slot.can-drop{border-color:#2fa657;background:#e7f7eb;transform:translateY(-3px)}.sensor-slot .hardware-piece-visual{width:56px;height:56px}.sensor-slot .sensor-piece-visual>i{width:31px;height:31px}.sensor-slot .installed-piece>button{right:-13px;top:-8px}.sensor-port-number{position:absolute;left:5px;top:5px;display:grid;place-items:center;width:21px;height:21px;border-radius:7px;background:#35434e;color:#fff;font-size:9px;font-weight:900}.port-note{color:#a06513;font-size:6px;font-weight:900}.robot-front-label{position:absolute;left:50%;bottom:78px;color:#6c7881;font-size:8px;font-weight:900;letter-spacing:.12em;transform:translate(-50%)}.robot-front-label span{color:var(--green);font-size:15px;margin-left:5px}.sensor-slot .installed-piece>button.sensor-position-button{left:-13px;right:auto;background:#2b9dc7;box-shadow:0 4px 8px #1b749740;font-size:14px}.sensor-mount-note{max-width:88px;color:#267b9b;font-size:6px;font-weight:900;text-align:center}.assembly-guide{display:flex;flex-direction:column;gap:11px}.guide-card{padding:13px;border:1px solid #dfe4e8;border-radius:15px;background:#f8fafb}.guide-ready-card{display:grid;grid-template-columns:32px 1fr;gap:8px;background:#eff9f2;border-color:#b7dec2}.guide-ready-card>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--gold);color:#fff;font-size:18px}.guide-card strong{font-size:11px}.guide-card p{margin:3px 0 0;color:#5f6b75;font-size:8px;line-height:1.45}.guide-ready-card button{grid-column:1/-1;margin-top:3px;border:0;border-radius:10px;padding:9px;background:var(--green);color:#fff;font-size:9px;font-weight:900}.guide-card>ul{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:10px 0 0;padding:0;list-style:none}.guide-card li{display:flex;align-items:center;gap:5px;color:#626c76;font-size:8px}.guide-card li b{display:grid;place-items:center;width:20px;height:20px;border-radius:6px;background:#e2e7eb;color:#35404a;font-size:8px}.builder-actions{display:grid;gap:7px;margin-top:auto}.clear-robot-button,.program-robot-button{min-height:42px;border-radius:12px;font-size:9px;font-weight:900}.clear-robot-button{border:1px solid #e0b2ae;background:#fff4f2;color:#a94740}.program-robot-button{display:flex;align-items:center;justify-content:space-between;border:0;padding:0 13px;background:linear-gradient(135deg,var(--green),#49ac65);color:#fff;box-shadow:0 8px 17px #30915138}.sensor-placement-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200300;display:grid;place-items:center;padding:16px;background:#141b21cc;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);animation:fade .18s ease-out}.sensor-placement-dialog{width:min(720px,96vw);max-height:94vh;overflow:auto;border:1px solid rgba(255,255,255,.8);border-radius:24px;background:#f7f9fa;box-shadow:0 30px 90px #080f1366}.sensor-placement-dialog>header{position:relative;display:flex;align-items:center;gap:12px;padding:17px 58px 15px 19px;border-bottom:1px solid #dfe4e8;background:#fff}.sensor-placement-dialog>header>div>span{color:#248149;font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.sensor-placement-dialog>header h3{margin:3px 0 2px;color:#303943;font:700 20px Fredoka}.sensor-placement-dialog>header p{margin:0;color:var(--muted);font-size:9px}.sensor-placement-dialog>header>button{position:absolute;right:15px;top:15px;width:34px;height:34px;border:0;border-radius:10px;background:#edf0f3;color:#69737f;font-size:21px}.motor-placement-dialog{width:min(640px,96vw)}.motor-role-picker{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;padding:18px;background:radial-gradient(circle at center,rgba(48,145,81,.1),transparent 58%)}.motor-role-picker>button{display:grid;grid-template-columns:42px 1fr;grid-template-rows:1fr 1fr;align-items:center;gap:1px 10px;min-height:76px;padding:11px;border:1px solid #dbe1e6;border-radius:14px;background:#fff;color:#4c5662;text-align:left}.motor-role-picker>button>span{grid-row:1/3;display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#e7ecef;color:#53606d;font-size:19px;font-weight:900}.motor-role-picker>button>b{align-self:end;font-size:10px}.motor-role-picker>button>small{align-self:start;color:#818c97;font-size:7px;line-height:1.35}.motor-role-picker>button.active{border-color:#47aa65;background:#eef9f1;box-shadow:0 0 0 3px #3091511f}.motor-role-picker>button.active>span{background:var(--green);color:#fff}.motor-role-note{margin:0}.sensor-position-map{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:15px 18px;background:radial-gradient(circle at center,rgba(48,145,81,.1),transparent 45%)}.sensor-position-map>button{position:relative;z-index:2;min-height:64px;display:grid;grid-template-columns:30px 1fr;grid-template-rows:1fr 1fr;align-items:center;gap:0 7px;padding:8px;border:1px solid #dbe1e6;border-radius:13px;background:#ffffffed;color:#4c5662;text-align:left}.sensor-position-map>button>b{grid-row:1/3;display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#e7ecef;color:#53606d;font:900 13px Nunito}.sensor-position-map>button>span{align-self:end;font-size:9px;font-weight:900}.sensor-position-map>button>small{align-self:start;color:#8a94a0;font-size:7px}.sensor-position-map>button.active{border-color:#47aa65;background:#eef9f1;box-shadow:0 0 0 3px #3091511f}.sensor-position-map>button.active>b{background:var(--green);color:#fff}.sensor-position-map>button:disabled{opacity:.44;cursor:not-allowed}.sensor-map-robot{position:absolute;z-index:1;left:50%;top:50%;width:96px;height:130px;border:5px solid rgba(49,66,75,.14);border-radius:36px 36px 26px 26px;background:#cfd8dc3d;transform:translate(-50%,-50%);pointer-events:none}.sensor-map-robot>span{position:absolute;left:50%;top:-13px;color:#348b50;font-size:7px;font-weight:900;transform:translate(-50%)}.sensor-map-robot>strong{position:absolute;inset:50% auto auto 50%;color:#30404a2e;font:800 25px Fredoka;transform:translate(-50%,-50%)}.sensor-map-robot>i{position:absolute;left:50%;top:-7px;border:5px solid transparent;border-bottom-color:#30915159;transform:translate(-50%)}.sensor-aim-picker{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:13px 18px 16px;border-top:1px solid #e0e5e9;background:#fff}.sensor-aim-picker>div{grid-column:1/-1}.sensor-aim-picker>div strong,.sensor-aim-picker>div small{display:block}.sensor-aim-picker>div strong{font-size:11px}.sensor-aim-picker>div small{margin-top:2px;color:var(--muted);font-size:8px}.sensor-aim-picker>button{display:grid;grid-template-columns:35px 1fr;gap:1px 8px;padding:10px;border:1px solid #dbe1e6;border-radius:12px;background:#f8fafb;text-align:left}.sensor-aim-picker>button>span{grid-row:1/3;display:grid;place-items:center;width:35px;height:35px;border-radius:10px;background:#e4e9ed;color:#52606c;font-size:16px}.sensor-aim-picker>button>b{align-self:end;font-size:9px}.sensor-aim-picker>button>small{align-self:start;color:var(--muted);font-size:7px}.sensor-aim-picker>button.active{border-color:#31a7d5;background:#eff9fc;box-shadow:0 0 0 3px #31a7d51a}.sensor-aim-picker>button.active>span{background:#31a7d5;color:#fff}.sensor-behaviour-note{display:flex;align-items:center;gap:10px;margin:0;padding:13px 18px;border-top:1px solid #e0e5e9;background:#fff8e9;color:#635327}.sensor-behaviour-note>span{display:grid;place-items:center;flex:0 0 auto;width:36px;height:36px;border-radius:11px;background:#f1ad32;color:#fff;font-size:16px}.sensor-behaviour-note p{margin:0;font-size:9px;line-height:1.45}.sensor-placement-dialog>footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid #e0e5e9;background:#f4f6f8}.sensor-placement-dialog>footer button{min-height:39px;padding:0 14px;border:1px solid #d8dde2;border-radius:11px;background:#fff;color:#69737f;font-size:9px;font-weight:900}.sensor-placement-dialog>footer button:last-child{display:flex;align-items:center;gap:12px;border:0;background:var(--green);color:#fff;box-shadow:0 7px 15px #30915133}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:20px;background:#1b1f2694;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fade .18s ease-out}.commands-modal{width:min(720px,100%);max-height:min(760px,92vh);overflow:auto;border:1px solid rgba(255,255,255,.75);border-radius:24px;background:#f8fafb;box-shadow:0 30px 100px #0b14114d}.commands-modal>header{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid var(--line);background:#fff}.commands-modal>header>div{display:flex;align-items:center;gap:11px}.commands-modal>header>div>span{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:var(--green-soft);color:var(--green);font-weight:900}.commands-modal header strong,.commands-modal header small{display:block}.commands-modal header strong{font:700 18px Fredoka}.commands-modal header small{color:var(--muted);font-size:10px;margin-top:2px}.commands-modal>header>button{border:0;background:#eef1f4;color:#707887;width:34px;height:34px;border-radius:11px;font-size:22px}.example-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;padding:18px 20px}.example-grid button{display:grid;grid-template-columns:42px 1fr;gap:2px 10px;padding:13px;border:1px solid var(--line);border-radius:15px;background:#fff;text-align:left;box-shadow:0 5px 14px #28303d0a}.example-grid button:hover{border-color:#91cda2;transform:translateY(-1px)}.example-grid button>span{grid-row:1/3;display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--green-soft);color:var(--green);font-size:21px}.example-grid strong{font-size:12px}.example-grid small{color:var(--muted);font-size:9px}.command-list{display:grid;gap:8px;padding:0 20px 20px}.command-list>div{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px 12px;border:1px solid #e3e7ec;border-radius:11px;background:#f1f4f6}.command-list code{color:#277644;font:600 10px ui-monospace,SFMono-Regular,Consolas,monospace}.command-list span{color:var(--muted);font-size:9px;text-align:right}.commands-modal>footer{display:flex;align-items:center;justify-content:center;gap:7px;padding:13px;border-top:1px solid var(--line);background:#fff;color:var(--muted);font-size:9px}.commands-modal kbd{padding:4px 7px;border:1px solid #ccd2d9;border-bottom-width:2px;border-radius:6px;background:#f5f7f8;color:#424954;font:800 9px Nunito}@keyframes float{50%{transform:translateY(-7px) rotate(6deg)}}@keyframes pulse{50%{opacity:.45;transform:scale(.82)}}@keyframes pop{0%{opacity:0;transform:translate(-50%,-44%) scale(.82)}}@keyframes fade{0%{opacity:0}}@keyframes previewIn{0%{opacity:0;transform:translateY(-6px)}}@keyframes previewReturn{0%,70%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-5px)}}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:1180px){.workspace{grid-template-columns:220px minmax(380px,1fr);height:auto}.arena-column{grid-column:1/-1;width:100%}.arena-column.is-hidden{position:relative;right:auto;top:auto;grid-column:1/-1;width:100%;height:0}.arena-visibility-toggle,.arena-column.is-hidden .arena-visibility-toggle{left:50%;right:auto;top:0;transform:translate(-50%,-50%);width:58px;height:38px}.arena-visibility-toggle:hover,.arena-column.is-hidden .arena-visibility-toggle:hover{transform:translate(-50%,-50%) scale(1.05)}.arena-toggle-icon-desktop{display:none}.arena-toggle-icon-mobile{display:inline}.arena-visibility-toggle:after,.arena-column.is-hidden .arena-visibility-toggle:after{left:50%;right:auto;top:auto;bottom:calc(100% + 8px);transform:translate(-50%)}.arena-panel{min-height:560px}.mission-card,.code-panel{min-height:540px}.builder-layout{grid-template-columns:210px minmax(520px,1fr)}.assembly-guide{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr 220px;border-left:0;border-top:1px solid #dce2e7}.builder-modal{overflow:auto}.robot-builder{height:auto;min-height:900px}.builder-layout,.parts-tray,.assembly-guide{overflow:visible}}@media (min-width:761px) and (max-width:960px){.topbar{height:auto;min-height:82px;padding:12px 20px;flex-wrap:wrap}.brand,.top-actions{min-width:0}.profile-button{display:none}.lesson-progress{order:3;flex-basis:100%}}@media (max-width:760px){.topbar{height:auto;padding:13px 16px;flex-wrap:wrap}.brand,.top-actions{min-width:0}.lesson-progress{order:3;flex-basis:100%}.workspace{display:flex;flex-direction:column;padding:12px}.arena-column{width:100%;flex:none}.arena-column.is-hidden{position:relative;right:auto;top:auto;width:100%;height:0;flex:none}.mission-card{min-height:auto}.lesson-button{margin-top:20px}.code-panel{height:720px;min-height:720px;flex:none}.ev3-editor-shell{height:599px;min-height:599px;flex:none}.ev3-blockly-host{height:560px;min-height:560px;flex:none}.ev3-blockly-host>.injectionDiv,.ev3-blockly-host .blocklySvg{width:100%!important;height:100%!important}.ev3-editor-shell .blocklyToolboxDiv{max-width:112px}.arena-panel{min-height:920px}.obr-scoreboard{grid-template-columns:repeat(4,1fr)}.obr-scoreboard>div{flex-direction:column;gap:1px;padding:5px 2px}.obr-scoreboard small{font-size:7px}.arena-legend{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px 12px}.arena-legend header{grid-column:1/-1}.arena-legend>div{min-height:27px}.arena-legend span b{font-size:9px}.arena-legend span small{font-size:8px}.status-strip{grid-template-columns:1fr 1fr}.status-strip>div:nth-child(2){border-right:0}.status-strip>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.robot-connections>header small{display:none}.connection-row{grid-template-columns:repeat(4,minmax(0,1fr))}.connection-row h3{grid-column:1/-1}.connection-port{height:40px}.connection-port>b{width:25px;height:25px}.top-actions{margin-left:auto}.profile-button{display:none}.back-home-button{padding:0 9px}.back-home-button b{font-size:9px}.assembly-top-button{font-size:0;padding:0 7px}.assembly-top-button span{font-size:13px}.saved-state{display:none}.example-grid{grid-template-columns:1fr}.command-list>div{align-items:flex-start;flex-direction:column}.command-list span{text-align:left}.run-bar{flex-wrap:wrap}.reset-button,.run-button,.pause-button{flex:1}.arena canvas{min-height:390px}.builder-modal-backdrop{padding:0}.builder-modal{width:100vw;height:100vh;max-height:none;border-radius:0;overflow:auto}.builder-heading{align-items:flex-start;flex-direction:column;padding:18px 62px 14px 17px}.builder-readiness{min-width:0;width:100%}.builder-layout{display:flex;flex-direction:column}.parts-tray{order:2;border-right:0;border-top:1px solid #dce2e7}.robot-build-stage{order:1;min-height:700px;overflow:auto;place-items:start center;padding:130px 100px 90px}.ev3-chassis{transform:scale(.78);transform-origin:top center}.assembly-guide{order:3;display:flex}.tray-piece{max-width:420px}.editor-header-actions .assembly-mini-button{width:30px;padding:6px 0;font-size:0}.editor-header-actions .assembly-mini-button:first-letter{font-size:10px}.sensor-placement-backdrop{padding:0}.sensor-placement-dialog{width:100vw;max-height:100vh;border-radius:0}.sensor-placement-dialog>header{padding:13px 52px 12px 13px}.sensor-placement-dialog>header h3{font-size:17px}.sensor-position-map{gap:5px;padding:10px}.sensor-position-map>button{min-height:67px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:5px;text-align:center}.sensor-position-map>button>b{width:27px;height:27px}.sensor-position-map>button>span{font-size:7px}.sensor-position-map>button>small{font-size:6px}.sensor-map-robot{width:72px;height:102px}.sensor-aim-picker{padding:11px}.sensor-aim-picker>button{grid-template-columns:29px 1fr;padding:8px}.sensor-aim-picker>button>span{width:29px;height:29px}.sensor-placement-dialog>footer{position:sticky;bottom:0;z-index:4}.editor-header{height:auto;min-height:92px;flex-wrap:wrap;padding:0 8px 7px}.editor-tabs{width:100%;height:48px;flex:0 0 100%}.editor-tabs button{padding:0 8px}.editor-header-actions{width:100%;height:30px;justify-content:flex-end;gap:5px}.copy-editor-button{width:auto;min-width:78px;padding:0 9px;gap:5px}.copy-editor-button b{position:static;width:auto;height:auto;overflow:visible;clip:auto}.copy-editor-button span{display:grid;background:#dff2e4}.editor-wrap{grid-template-columns:38px minmax(0,1fr);touch-action:pan-x pan-y}.line-numbers{padding:14px 7px 120px;font-size:11px;line-height:25px}.editor-wrap textarea{box-sizing:border-box;min-width:0;padding:14px 12px 120px;font-size:16px;line-height:25px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-x pan-y;scrollbar-gutter:stable}.code-block-sync-error{left:45px}}@media (max-width:560px){.programming-identity-shell{padding:24px 13px}.programming-identity-card{padding:27px 18px;border-radius:22px}.identity-input-row{grid-template-columns:1fr}.identity-input-row button{width:100%}.identity-benefits{gap:4px}.identity-benefits span{font-size:8px}}@media (max-width:760px){.arena-toolbar{padding:0 9px}.arena-toolbar>div:first-child{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.arena-toolbar>div:first-child small{display:none}.expand-arena-button{width:31px;padding:0;font-size:0}.expand-arena-button span{margin:0;font-size:14px}.arena-expanded-backdrop{padding:0}.arena-expanded-dialog{width:100vw;height:100vh;max-height:none;border:0;border-radius:0}.arena-expanded-dialog>header{padding:8px 10px 8px 13px}.arena-expanded-dialog>header span strong{font-size:13px}.arena-expanded-dialog>header span small{max-width:44vw;font-size:7px}.arena-expanded-dialog>header b{font-size:12px}.arena-expanded-dialog>footer{min-height:58px;padding:7px 9px;font-size:8px}.arena-expanded-dialog>footer>span{display:none}.arena-expanded-controls{width:100%;gap:6px}.arena-expanded-controls .reset-button,.arena-expanded-controls .run-button,.arena-expanded-controls .pause-button,.hide-expanded-arena-button{min-width:0;flex:1;height:42px;padding:0 7px;font-size:9px}.arena-level-picker{gap:4px;padding:6px}.arena-level-picker button{display:flex;justify-content:center;gap:5px;min-height:37px;padding:4px}.arena-level-picker button>span{width:25px;height:25px}.arena-level-picker button>b{font-size:8px}.arena-level-picker button>small{display:none}.arena-legend{grid-template-columns:repeat(2,minmax(0,1fr))}.arena-legend header{grid-column:1/-1}.basic-skip-card{grid-template-columns:29px minmax(0,1fr) auto;padding:6px}.basic-skip-card>span{width:29px;height:29px}.basic-skip-card small,.basic-confirmed-card small{white-space:normal}.basic-knowledge-gate{padding:18px}.basic-knowledge-gate>strong{font-size:21px}.mission-preview-overlay{left:9px;top:9px}.preview-route-button{display:inline-grid;place-items:center}.mission-card h1{font-size:27px}.arena-challenge-picker{grid-template-columns:36px minmax(0,1fr) 36px;padding:7px}.arena-challenge-picker label{display:block}.arena-challenge-picker label>span{display:none}.arena-challenge-picker select{font-size:9px}.arena-mission-progress{padding:7px;scroll-snap-type:x proximity}.arena-mission-progress button{flex-basis:40px;min-width:40px;height:36px;scroll-snap-align:start}.lesson-progress strong{max-width:34vw}.legend-modal-backdrop{padding:0}.legend-dialog{width:100vw;max-height:100vh;height:100vh;border:0;border-radius:0}.legend-dialog .arena-legend{grid-template-columns:1fr;padding:12px}.legend-dialog .arena-legend>div{min-height:50px}.legend-dialog>header{padding:13px}.legend-dialog header strong{font-size:14px}.legend-dialog>footer{font-size:7px}.motor-role-picker{grid-template-columns:1fr;padding:11px}.motor-role-picker>button{min-height:65px}}
