.install-button{border:1px solid #bbd2a6;background:#e9f8ca;color:#31562d;border-radius:99px;padding:8px 13px;font:700 8px ui-monospace,monospace;letter-spacing:.1em;cursor:pointer;transition:.2s}.install-button:hover{background:var(--lime);transform:translateY(-1px)}.season-chip.offline{background:#fff0d7;border-color:#ebcea5;color:#875e2e}.season-chip.offline .pulse-dot{background:#ed9c42;box-shadow:0 0 0 4px rgba(237,156,66,.14)}.save-status{margin-left:6px;color:#5e9f4d;opacity:0;transition:opacity .2s;font-size:7px;letter-spacing:.08em}.save-status.saved{opacity:1}.map-legend b{font-weight:500}
:root{--ink:#0c2630;--muted:#698087;--cream:#f3f1e8;--paper:#fbfaf5;--line:#d9ddd3;--teal:#0d6b68;--deep:#082c35;--lime:#b9f34a;--glow:#dbff6c;--orange:#ff9e62;--purple:#7657d7;--shadow:0 18px 48px rgba(10,48,54,.13)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Manrope,system-ui,sans-serif;color:var(--ink)}body{background:linear-gradient(145deg,#e5eadc 0%,#f3f1e8 42%,#e8eee4 100%);overflow-x:hidden}.ambient{position:fixed;border-radius:50%;filter:blur(80px);opacity:.33;pointer-events:none}.ambient-one{width:420px;height:420px;background:#9ee99d;top:-180px;left:-100px}.ambient-two{width:360px;height:360px;background:#e9f98c;right:-100px;bottom:-120px}
.topbar{height:78px;padding:0 clamp(20px,3vw,48px);display:flex;align-items:center;gap:32px;border-bottom:1px solid rgba(16,65,66,.12);background:rgba(247,247,239,.78);backdrop-filter:blur(18px);position:relative;z-index:5}.brand{display:flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none}.brand-mark{width:43px;height:43px;border-radius:13px;background:var(--deep);display:grid;place-items:center;box-shadow:0 8px 20px rgba(8,44,53,.2)}.brand-mark svg{width:31px;fill:var(--lime)}.brand strong{display:block;letter-spacing:.15em;font-size:16px;line-height:1}.brand small{display:block;letter-spacing:.28em;font-weight:700;font-size:8px;color:var(--teal);margin-top:5px}.season-chip{font:500 10px DM Mono,monospace;letter-spacing:.08em;background:#e4ecdf;border:1px solid #cedacb;border-radius:99px;padding:8px 13px;color:#46615e}.pulse-dot{width:7px;height:7px;border-radius:50%;background:#7abf3e;box-shadow:0 0 0 4px rgba(122,191,62,.13);display:inline-block;margin-right:8px}.header-stats{margin-left:auto;display:flex;gap:32px;align-items:center}.header-stats>div{display:flex;flex-direction:column}.header-stats>div>span{font:500 8px DM Mono;letter-spacing:.14em;color:#789096}.header-stats>div>strong{font:700 13px DM Mono;color:var(--deep);margin-top:4px}
.build-chip{display:flex;flex-direction:column;align-items:flex-end;gap:3px;text-decoration:none;color:inherit;border-radius:10px;padding:4px 6px;margin:-4px -6px;transition:background .15s,color .15s}
.build-chip>span:first-child{font:500 8px DM Mono;letter-spacing:.14em;color:#789096}
.build-chip strong{font:600 11px DM Mono,monospace;color:#5a7a76;letter-spacing:.04em;user-select:all;display:inline-flex;align-items:center;gap:7px;margin:0}
.build-chip .github-mark{flex:none;width:15px;height:15px;color:#3d5c58;opacity:.85;transition:opacity .15s,color .15s}
.build-chip:hover{background:rgba(13,107,104,.08)}
.build-chip:hover strong{color:var(--deep)}
.build-chip:hover .github-mark{opacity:1;color:#0d6b68}
.build-chip:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.app-shell{position:relative;z-index:1;padding:22px clamp(16px,2.4vw,38px) 30px;display:grid;grid-template-columns:minmax(220px,270px) minmax(480px,1fr) minmax(370px,445px);gap:16px;min-height:calc(100vh - 78px)}.panel{background:rgba(251,250,245,.93);border:1px solid rgba(31,74,74,.14);border-radius:20px;box-shadow:var(--shadow);overflow:hidden}.mission-panel{padding:25px 22px;display:flex;flex-direction:column}.eyebrow{font:600 9px DM Mono,monospace;letter-spacing:.18em;color:#799090}.mission-panel h1{font-size:27px;letter-spacing:-.04em;line-height:1.05;margin:10px 0 8px}.mission-panel>p{font-size:12px;line-height:1.55;color:#6c7d7d;margin:0 0 18px}.guide-card{display:flex;gap:11px;background:#eaf0e6;border-radius:13px;padding:12px;margin-bottom:16px}.guide-avatar{width:37px;height:37px;border-radius:50%;flex:none;background:linear-gradient(145deg,#1f7568,#0d4b4e);color:white;display:grid;place-items:center;font-weight:800;position:relative}.guide-avatar span{position:absolute;color:var(--lime);font-size:9px;right:-2px;top:0}.guide-card strong{font-size:10px}.guide-card p{font-size:9px;line-height:1.45;color:#647773;margin:3px 0 0}.objective-box{border:1px solid var(--line);border-radius:13px;padding:13px}.objective-head{display:flex;justify-content:space-between;font:600 8px DM Mono;letter-spacing:.12em;color:#728482}.objective-head b{color:var(--teal)}.objective-box ul{list-style:none;margin:11px 0 0;padding:0;display:grid;gap:9px}.objective-box li{display:flex;gap:8px;font-size:10px;line-height:1.3;color:#526b69}.objective-box li:before{content:'';width:14px;height:14px;border:1.5px solid #abc0b6;border-radius:50%;flex:none}.objective-box li.done:before{content:'✓';background:var(--teal);color:white;border-color:var(--teal);font-size:9px;display:grid;place-items:center}.concept-card{display:flex;align-items:center;gap:10px;padding:13px;margin-top:12px;background:#fff8df;border:1px solid #eee4bb;border-radius:13px}.concept-icon{width:31px;height:31px;display:grid;place-items:center;border-radius:9px;background:#ffd877;color:#7d5a0b;font-size:21px}.concept-card small{display:block;font:500 7px DM Mono;letter-spacing:.1em;color:#8d825d}.concept-card strong{font-size:11px}.mission-dots{display:flex;justify-content:center;gap:8px;margin:auto 0 16px}.mission-dot{width:25px;height:5px;border:0;border-radius:10px;background:#d8dfd8;cursor:pointer;padding:0}.mission-dot.active{background:var(--teal);width:38px}.mission-dot.complete{background:#9ccc4c}.secondary-button{border:1px solid #ccd6cf;background:transparent;border-radius:11px;padding:11px;font:600 9px DM Mono;letter-spacing:.08em;color:#57706c;cursor:pointer}.secondary-button:hover{background:#eef2eb}.secondary-button span{font-size:14px;margin-right:6px}
.field-panel{display:flex;flex-direction:column;background:#0a343b;border-color:#174b50;min-width:0}.field-heading{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;color:white}.field-heading .eyebrow{color:#71a5a1}.field-heading h2,.code-heading h2{font-size:15px;margin:5px 0 0;letter-spacing:-.02em}.signal{display:flex;align-items:end;gap:2px}.signal i{width:3px;background:#9ad65a;border-radius:2px}.signal i:nth-child(1){height:5px}.signal i:nth-child(2){height:8px}.signal i:nth-child(3){height:11px}.signal i:nth-child(4){height:14px}.signal span{font:500 7px DM Mono;color:#8db1ae;letter-spacing:.1em;margin:0 0 1px 6px}.map-wrap{margin:0 14px;flex:1;min-height:480px;border-radius:15px;position:relative;overflow:hidden;background:#123f3a;border:1px solid #2a5e55}.game-map{position:absolute;inset:0;display:grid;grid-template-columns:repeat(9,1fr);grid-template-rows:repeat(7,1fr);padding:20px;background:radial-gradient(circle at 60% 30%,rgba(186,244,89,.09),transparent 32%),linear-gradient(145deg,#133f39,#092d32);gap:2px}.tile{position:relative;border-radius:6px;min-width:0;overflow:hidden}.tile.path{background:linear-gradient(145deg,rgba(159,149,98,.28),rgba(89,104,68,.35));box-shadow:inset 0 0 15px rgba(201,213,148,.06)}.tile.forest{background:radial-gradient(circle at 35% 35%,#22634c 0 15%,transparent 16%),radial-gradient(circle at 65% 62%,#174f43 0 18%,transparent 19%),#113c38}.tile.forest:after{content:'◆';position:absolute;color:#2d7653;opacity:.65;left:50%;top:50%;font-size:clamp(13px,1.8vw,25px);transform:translate(-50%,-50%) rotate(20deg)}.tile.water{background:repeating-linear-gradient(165deg,#175767 0 4px,#1a6170 5px 7px);opacity:.82}.tile.goal:before{content:'';position:absolute;width:52%;aspect-ratio:1;left:24%;top:24%;border-radius:50%;background:#dfff65;filter:blur(10px);opacity:.35;animation:glow 1.8s ease-in-out infinite}.tile.goal:after{content:'✿';position:absolute;inset:0;display:grid;place-items:center;color:#dcff73;font-size:clamp(22px,3vw,40px);text-shadow:0 0 16px #dfff56;animation:float 2s ease-in-out infinite}.tile.sample:after{content:'⬡';position:absolute;inset:0;display:grid;place-items:center;color:#ffb65f;font-size:24px;text-shadow:0 0 12px #ff9e62}.tile.beacon:after{content:'ϟ';position:absolute;inset:0;display:grid;place-items:center;color:#ffe76f;font-size:clamp(26px,3vw,43px);font-weight:800;text-shadow:0 0 8px #fff5a5,0 0 20px #ffca45;animation:float 1.2s ease-in-out infinite}.tile.storm{box-shadow:inset 0 0 0 2px rgba(255,210,90,.7),inset 0 0 22px rgba(255,160,40,.28);background:linear-gradient(145deg,rgba(120,90,40,.45),rgba(60,80,50,.4))!important}.tile.storm:before{content:'';position:absolute;left:50%;top:50%;width:42%;height:42%;margin:-21% 0 0 -21%;border-radius:50%;border:2px dashed rgba(255,230,140,.85);box-shadow:0 0 12px rgba(255,200,80,.55);z-index:1;animation:stormSpin 2.4s linear infinite}.tile.storm:after{content:'';position:absolute;left:50%;top:50%;width:18%;height:18%;margin:-9% 0 0 -9%;border-radius:50%;background:rgba(255,220,120,.9);box-shadow:0 0 10px #ffd76a;z-index:2;animation:float 1.1s ease-in-out infinite}.tile.storm.storm-clear{box-shadow:inset 0 0 0 2px rgba(150,220,160,.55);background:linear-gradient(145deg,rgba(70,110,70,.35),rgba(50,80,60,.3))!important}.tile.storm.storm-clear:before{animation:none;border-style:solid;border-color:rgba(185,243,74,.7);box-shadow:none}.tile.storm.storm-clear:after{content:'✓';width:auto;height:auto;margin:0;left:0;top:0;inset:0;display:grid;place-items:center;background:transparent;box-shadow:none;color:#b9f34a;font-size:clamp(14px,2vw,20px);font-weight:800;animation:none}.tile.goal.scanned:after,.tile.beacon.scanned:after{opacity:.45;filter:grayscale(.3)}.tile.sample.collected:after{opacity:.35;content:'✓'}.block-budget strong.over-budget,.block-budget small.over-budget{color:#c45a2d}#batteryFill.low{background:linear-gradient(90deg,#e07a3a,#f0c14a)}
.tile.goal.pulse-on{box-shadow:inset 0 0 0 3px #e8ff6a,0 0 22px rgba(200,255,80,.65),inset 0 0 36px rgba(220,255,100,.55)!important;z-index:1;background:radial-gradient(circle at 50% 45%,rgba(230,255,120,.35),transparent 60%),linear-gradient(145deg,rgba(120,140,60,.45),rgba(60,90,50,.4))!important}.tile.goal.pulse-on:before{opacity:1;animation:glow .55s ease-in-out infinite;background:#f2ff7a;filter:blur(6px);width:70%;left:15%;top:12%}.tile.goal.pulse-on:after{content:'✦';color:#f8ffc0;font-size:clamp(28px,3.4vw,48px);text-shadow:0 0 12px #fff,0 0 28px #dfff56,0 0 40px #b9f34a;animation:float .65s ease-in-out infinite;font-weight:800}
.tile.goal.pulse-off{box-shadow:inset 0 0 0 2px rgba(70,90,80,.5)!important;background:linear-gradient(145deg,rgba(40,55,50,.55),rgba(30,45,42,.5))!important;filter:none}.tile.goal.pulse-off:before{opacity:0;animation:none}.tile.goal.pulse-off:after{content:'✧';color:#6a7d6e;opacity:.4;font-size:clamp(18px,2.4vw,30px);text-shadow:none;animation:none;filter:grayscale(1)}
.tile.goal.pulse-off.scanned:after,.tile.goal.pulse-on.scanned:after{content:'✓';opacity:.9;color:#b9f34a;filter:none;text-shadow:0 0 10px #b9f34a}
.pulse-hud{position:absolute;left:50%;top:10px;transform:translateX(-50%);z-index:6;display:flex;align-items:center;gap:9px;padding:8px 14px;border-radius:999px;font:800 9px DM Mono,monospace;letter-spacing:.06em;pointer-events:none;box-shadow:0 10px 28px rgba(0,0,0,.4)}.pulse-hud.on{background:linear-gradient(135deg,#3d6a28,#2a501c);border:2px solid #d4ff6a;color:#f0ffb0;animation:hudPulse .9s ease-in-out infinite}.pulse-hud.off{background:rgba(12,24,28,.94);border:1px solid #3d5555;color:#8aa0a0}.pulse-hud-tick{background:rgba(0,0,0,.28);padding:2px 7px;border-radius:6px;font-size:8px;letter-spacing:.04em}.pulse-hud.on .pulse-hud-tick{background:rgba(212,255,106,.2);color:#e8ff9a}.pulse-hud-dots{display:flex;gap:5px}.pulse-hud-dots i{width:9px;height:9px;border-radius:50%;background:#2a3e3e;display:block;border:1px solid #456}.pulse-hud-dots i.hot{border-color:rgba(200,255,100,.55)}.pulse-hud-dots i.now{background:#7eb8b0;transform:scale(1.25)}.pulse-hud.on .pulse-hud-dots i.now{background:#e8ff6a;box-shadow:0 0 12px #d4ff6a;border-color:#f5ffb0}.pulse-hud-hint{font-weight:800;letter-spacing:.05em}.pulse-hud.on .pulse-hud-hint{color:#f5ffc8}
@keyframes hudPulse{50%{box-shadow:0 10px 28px rgba(180,255,80,.45),0 0 0 3px rgba(200,255,100,.2)}}
.drone{position:absolute;width:calc((100% - 40px - 16px)/9);height:calc((100% - 40px - 12px)/7);left:calc(20px + var(--x) * ((100% - 40px - 16px)/9 + 2px));top:calc(20px + var(--y) * ((100% - 40px - 12px)/7 + 2px));z-index:4;display:grid;place-items:center;pointer-events:none;transition:left .38s cubic-bezier(.2,.8,.2,1),top .38s cubic-bezier(.2,.8,.2,1),transform .28s cubic-bezier(.2,.8,.2,1)}
.drone .drone-svg{width:88%;height:88%;overflow:visible;filter:drop-shadow(0 2px 3px rgba(0,0,0,.4))}
/* prop rings stay still; soft blur only while flying (no sparkle blades) */
.drone .prop-blur{opacity:0;transition:opacity .15s}
.drone.flying .prop-blur{opacity:.35;animation:propPulse .28s ease-in-out infinite alternate}
.drone.flying .drone-svg{animation:droneBob .32s ease-in-out infinite alternate}
.drone-mini{width:32px;height:32px;border:1px solid #3e6868;background:#16454a;border-radius:9px;display:grid;place-items:center;color:var(--lime);overflow:hidden}
.drone-mini svg{width:22px;height:22px}
.drone-mini .prop-blur{display:none}
.trail{position:absolute;width:7px;height:7px;border-radius:50%;background:#c9f75d;box-shadow:0 0 8px #c9f75d;z-index:2;opacity:.45;transform:translate(-50%,-50%)}.map-badge{position:absolute;background:rgba(6,35,40,.75);color:#b9d3cb;border:1px solid #3d6c64;border-radius:50%;width:28px;height:28px;display:grid;place-items:center;font:600 9px DM Mono}.north{right:14px;top:14px}.map-legend{position:absolute;left:14px;bottom:12px;display:flex;gap:12px;background:rgba(6,35,40,.78);border:1px solid #315e57;border-radius:8px;padding:7px 9px;color:#91afaa;font:500 7px DM Mono}.map-legend i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:4px}.legend-path{background:#737557}.legend-goal{background:#d9fc64;box-shadow:0 0 6px #d9fc64}.toast{position:absolute;left:50%;top:18px;transform:translate(-50%,-15px);opacity:0;background:#f9f7e9;border-radius:9px;padding:9px 14px;font-size:10px;font-weight:700;box-shadow:0 8px 25px rgba(0,0,0,.25);transition:.25s;pointer-events:none;white-space:nowrap}.toast.show{opacity:1;transform:translate(-50%,0)}.toast.error{color:#aa493a}.drone-console{height:70px;display:grid;grid-template-columns:1.3fr 1fr .55fr;align-items:center;padding:0 22px;color:white}.drone-status{display:flex;align-items:center;gap:10px}.drone-console small,.meter>span,.coords span{display:block;font:500 7px DM Mono;color:#709c9b;letter-spacing:.1em}.drone-status strong{font-size:10px}.meter{display:grid;grid-template-columns:1fr auto;column-gap:8px}.meter>div{height:5px;border-radius:6px;background:#1d4b4e;grid-column:1;align-self:center;overflow:hidden}.meter i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#8ad85c,var(--lime));border-radius:5px;transition:width .3s}.meter b{font:600 8px DM Mono;grid-column:2;grid-row:1/3;align-self:end}.coords{text-align:right}.coords b{font:600 12px DM Mono;color:var(--lime)}
.code-panel{display:flex;flex-direction:column;min-width:0}.code-heading{height:76px;padding:0 18px;display:flex;align-items:center;justify-content:space-between}.icon-button{width:28px;height:28px;border-radius:50%;border:1px solid #d4ddd5;background:#f5f5ed;color:#607572;font-weight:700;cursor:pointer}.workspace-tabs{display:flex;padding:0 18px;border-bottom:1px solid #dde1d9}.tab{border:0;background:transparent;padding:10px 12px 9px;font:600 8px DM Mono;letter-spacing:.1em;color:#859490;border-bottom:2px solid transparent;cursor:pointer}.tab.active{color:var(--teal);border-color:var(--teal)}.workspace-stage{position:relative;flex:1;min-height:445px;background:#f1f1e9}.workspace-stage:before{content:'';position:absolute;inset:0;background-image:radial-gradient(#c6cec5 1px,transparent 1px);background-size:18px 18px;opacity:.35}.workspace-stage>div,.workspace-stage>pre{position:absolute;inset:0}.workspace-stage pre{margin:0;padding:23px;color:#d7f8d4;background:#092d35;overflow:auto;font:12px/1.7 DM Mono}.run-row{display:flex;align-items:center;gap:10px;padding:13px 16px;border-top:1px solid #dce1d9}.block-budget{margin-right:auto}.block-budget span{display:block;font:500 7px DM Mono;color:#879591;letter-spacing:.1em}.block-budget strong{font:700 14px DM Mono}.block-budget small{font:500 10px DM Mono;color:#889691}.run-button{border:0;border-radius:12px;background:linear-gradient(135deg,#caf65c,#a5e741);color:#183525;box-shadow:0 8px 18px rgba(113,176,49,.25);min-height:45px;padding:8px 17px;display:flex;align-items:center;justify-content:center;gap:9px;font:800 11px Manrope;letter-spacing:.03em;cursor:pointer;transition:.2s}.run-button:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(113,176,49,.34)}.run-button:disabled{filter:grayscale(.8);opacity:.55;cursor:not-allowed;transform:none}.run-button small{display:block;font:600 6px DM Mono;letter-spacing:.12em}.play{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#173e32;color:var(--lime);font-size:9px}.stop-button{width:38px;height:42px;border:1px solid #d6ddd5;background:#f1f1ea;border-radius:10px;color:#8c9c98;cursor:pointer}.hint-line{display:flex;gap:9px;padding:0 16px 15px;align-items:center}.hint-line p{font-size:9px;color:#71827f;margin:0;line-height:1.4}.hint-line span{font-size:12px}.blocklyToolboxDiv{background:#e8ebe3!important;border-right:1px solid #d2d9d0!important;padding-top:8px}.blocklyTreeRow{height:36px!important;margin:3px 5px!important;border-radius:8px!important}.blocklyTreeLabel{font:600 10px Manrope!important;color:#4f6661!important}.blocklyFlyoutBackground{fill:#f8f8f1!important;fill-opacity:.98!important}.blocklyMainBackground{stroke:none!important;fill:transparent!important}.blocklyScrollbarHandle{fill:#a9b8af!important}.blocklyTrash{opacity:.55}
.modal-backdrop{position:fixed;inset:0;z-index:20;background:rgba(5,28,34,.72);backdrop-filter:blur(7px);display:grid;place-items:center;padding:20px}.modal-backdrop[hidden]{display:none}.success-card,.help-card{width:min(430px,95vw);background:#fbfaf3;border-radius:24px;padding:35px;text-align:center;box-shadow:0 28px 80px rgba(0,0,0,.35);position:relative}.success-orbit{width:76px;height:76px;margin:-72px auto 22px;border-radius:50%;border:1px solid rgba(202,246,92,.6);background:#123c3e;display:grid;place-items:center;box-shadow:0 0 0 10px rgba(202,246,92,.1),0 0 35px rgba(202,246,92,.35)}.success-orbit span{font-size:34px;color:var(--lime)}.success-card h2,.help-card h2{font-size:28px;letter-spacing:-.04em;margin:8px 0}.success-card>p{font-size:12px;color:#6d7f7a}.reward-row{display:grid;grid-template-columns:1fr 1fr;border:1px solid #dce1d5;border-radius:14px;margin:24px 0;overflow:hidden}.reward-row>div{padding:13px}.reward-row>div+div{border-left:1px solid #dce1d5}.reward-row span{display:block;font:800 19px DM Mono;color:var(--teal)}.reward-row small{font:500 7px DM Mono;letter-spacing:.1em;color:#8b9995}.success-card .run-button{width:100%}.modal-close{position:absolute;right:17px;top:13px;border:0;background:none;font-size:24px;color:#82928e;cursor:pointer}.help-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:24px}.help-grid div{background:#edf1e9;border-radius:13px;padding:13px 9px}.help-grid b{display:grid;place-items:center;width:25px;height:25px;margin:auto;border-radius:50%;background:var(--teal);color:white;font-size:11px}.help-grid strong{font-size:10px;display:block;margin:8px 0 4px}.help-grid p{font-size:8px;color:#748580;margin:0;line-height:1.4}
@keyframes glow{50%{opacity:.7;transform:scale(1.25)}}@keyframes float{50%{transform:translateY(-4px) scale(1.05)}}@keyframes droneBob{to{transform:translateY(-2px) scale(1.03)}}@keyframes propPulse{to{opacity:.55}}@keyframes stormSpin{to{transform:rotate(360deg)}}
@media(max-width:1150px){.app-shell{grid-template-columns:220px 1fr 390px}.mission-panel{padding:20px 16px}.guide-card{display:none}.map-wrap{min-height:440px}}
@media(max-width:920px){body{overflow:auto}.topbar{height:66px}.season-chip{display:none}.app-shell{grid-template-columns:1fr 1fr;min-height:auto}.mission-panel{grid-column:1/-1;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:12px;align-items:center}.mission-panel>p{margin:0}.mission-panel .eyebrow,.mission-panel h1{grid-column:1}.objective-box{grid-column:2;grid-row:1/4}.concept-card{grid-column:3;grid-row:1/2;margin:0}.mission-dots{grid-column:3;margin:0}.secondary-button{grid-column:3}.field-panel,.code-panel{min-height:650px}}
@media(max-width:700px){.header-stats div:first-child{display:none}.app-shell{display:flex;flex-direction:column;padding:10px}.mission-panel{display:block}.objective-box,.concept-card{margin-top:10px}.mission-dots{margin:14px}.field-panel{min-height:600px}.code-panel{min-height:650px}.map-wrap{min-height:430px}.drone-console{grid-template-columns:1fr .8fr}.coords{display:none}.help-grid{grid-template-columns:1fr}.header-stats{gap:8px}}

.feedback-card{width:min(470px,95vw);max-height:90vh;overflow:auto;background:#fbfaf3;border-radius:24px;padding:31px 34px 29px;box-shadow:0 28px 80px rgba(0,0,0,.35);position:relative}.feedback-card .eyebrow{text-align:center}.feedback-card h2{text-align:center;font-size:27px;letter-spacing:-.04em;margin:7px 0}.feedback-card>p{text-align:center;font-size:12px;line-height:1.55;color:#617571;margin:0 auto 14px;max-width:370px}.feedback-icon{width:55px;height:55px;display:grid;place-items:center;margin:0 auto 14px;border-radius:50%;background:#e7f8ba;border:4px solid #d5ee9b;font-size:25px;box-shadow:0 7px 22px rgba(77,130,56,.18)}.feedback-summary{text-align:center;background:#edf2e7;border-radius:10px;padding:9px 12px;font-size:10px;font-weight:700;color:#46625b;margin-bottom:12px}.feedback-section{border:1px solid #d9e1d6;border-radius:13px;padding:12px 14px;margin-top:9px}.feedback-section strong{display:flex;align-items:center;gap:7px;font-size:10px}.feedback-section strong span{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:10px}.feedback-section ul{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:6px}.feedback-section li{font-size:11px;line-height:1.4;padding-left:18px;position:relative}.feedback-section li:before{position:absolute;left:2px;top:0}.feedback-section.achieved{background:#eff7e8;border-color:#cde1bd}.feedback-section.achieved strong{color:#3d7438}.feedback-section.achieved strong span{background:#72ad54;color:#fff}.feedback-section.achieved li:before{content:'✓';color:#64a14e;font-weight:800}.feedback-section.todo{background:#fff8df;border-color:#ebdfad}.feedback-section.todo strong{color:#806423}.feedback-section.todo strong span{background:#ffd86f;color:#74570d}.feedback-section.todo li:before{content:'→';color:#b48720;font-weight:800}.feedback-card .run-button{width:100%;margin-top:17px}
