:root {
  --purple: #6754e7;
  --purple-dark: #4634b3;
  --purple-soft: #eeeafd;
  --coral: #ff7869;
  --yellow: #ffc94c;
  --mint: #45c9a5;
  --sky: #59b7f5;
  --ink: #27304f;
  --muted: #737b98;
  --paper: #fffdf8;
  --line: #e9e7f2;
  --shadow: 0 20px 55px rgba(66, 53, 139, .14);
  --char-primary: #6754e7;
  --char-dark: #5140b9;
  --char-accent: #66e6da;
  --char-mouth: #ff8b7d;
  --char-ear: #7160e0;
  --char-body1: #7564e5;
  --char-body2: #5745bf;
  --char-pale: #eeeafd;
  --char-shadow: rgba(103, 84, 231, .25);
}

* { box-sizing: border-box; }
html { min-height: 100%; background: #f8f6ff; }
body { margin: 0; min-height: 100vh; color: var(--ink); font-family: "Alexandria", system-ui, sans-serif; background: radial-gradient(circle at 10% 10%, #fff5cf 0, transparent 25%), radial-gradient(circle at 90% 20%, #e5f7ff 0, transparent 28%), linear-gradient(145deg, #fbfaff, #f5f3ff); overflow-x: hidden; }
button, input { font: inherit; }
button { border: 0; cursor: pointer; }
button:focus-visible, input:focus-visible { outline: 4px solid rgba(89,183,245,.35); outline-offset: 2px; }
.hidden { display: none !important; }
.screen { display: none; min-height: 100vh; position: relative; z-index: 1; }
.screen.active { display: block; }
.sky-decor { position: fixed; inset: 0; pointer-events: none; overflow: hidden; }
.cloud { position: absolute; width: 125px; height: 34px; border-radius: 40px; background: rgba(255,255,255,.7); filter: blur(.2px); }
.cloud::before, .cloud::after { content:""; position:absolute; background:inherit; border-radius:50%; }
.cloud::before { width: 48px; height:48px; right:25px; bottom:0; }.cloud::after { width:62px;height:62px;right:53px;bottom:0; }
.cloud-one { top: 15%; right: 7%; }.cloud-two { bottom: 12%; left: 5%; transform: scale(.75); }
.spark { position:absolute; color:#f3bd3c; font-size:24px; animation: twinkle 2s infinite alternate; }.spark-one{top:12%;left:17%}.spark-two{bottom:22%;right:13%;animation-delay:.8s}
@keyframes twinkle { to { transform: scale(1.45) rotate(25deg); opacity:.4; } }

.welcome-screen { padding: 7vh 6vw 4vh; }
.welcome-card { max-width: 1080px; min-height: 540px; margin:auto; border:1px solid rgba(255,255,255,.8); border-radius: 40px; background: rgba(255,255,255,.77); backdrop-filter: blur(16px); box-shadow: var(--shadow); display:grid; grid-template-columns: .9fr 1.1fr; align-items:center; padding:50px 62px; position:relative; overflow:hidden; }
.welcome-card::after { content:""; position:absolute; width:330px;height:330px;border-radius:50%;background:#eeeafd;right:-110px;top:-150px;z-index:-1; }
.brand-pill { position:absolute; top:28px; right:32px; color:var(--purple); background:var(--purple-soft); padding:9px 16px; border-radius:50px; font-size:12px; font-weight:700; }
.welcome-copy { padding-right: 30px; }
.eyebrow { color:var(--coral)!important; font-weight:800!important; font-size:15px!important; margin-bottom:8px!important; }
.welcome-copy h1 { font-size:clamp(36px, 5vw, 62px); letter-spacing:-2px; line-height:1.22; margin:0 0 18px; }
.welcome-copy h1 span { color:var(--purple); display:block; }
.welcome-copy > p { color:var(--muted); line-height:1.9; margin:0 0 22px; font-size:16px; }
.welcome-copy label { display:block; font-size:13px; font-weight:700; margin-bottom:9px; }
.name-row { display:flex; gap:10px; }
.name-row input { min-width:0; flex:1; padding:15px 17px; border:2px solid var(--line); border-radius:15px; background:white; color:var(--ink); }
.primary-btn { background:linear-gradient(135deg, var(--purple), #846ef1); color:white; border-radius:15px; padding:15px 22px; font-weight:800; box-shadow:0 9px 20px rgba(103,84,231,.25); transition:.2s; }
.primary-btn:hover { transform:translateY(-2px); box-shadow:0 12px 25px rgba(103,84,231,.33); }
.primary-btn span { display:inline-block; margin-right:8px; }
.text-btn { display:block; background:none; color:var(--muted); margin:15px auto 0; font-size:12px; text-decoration:underline; }
.companion-hint { font-size:11px; color:var(--muted); margin-top:16px; }
.hero-robot { width:250px; height:340px; margin:auto; position:relative; filter:drop-shadow(0 25px 22px rgba(68,52,154,.22)); animation: float 3.5s ease-in-out infinite; }
@keyframes float { 50% { transform:translateY(-10px); } }
.robot-head { position:absolute; width:210px;height:155px;top:62px;left:20px;border:10px solid var(--char-dark,#5140b9);border-radius:72px 72px 62px 62px;background:#f8f7ff;z-index:3;transition:border-color .3s; }
.robot-face { position:absolute;inset:25px 30px 28px;background:#302a5c;border-radius:42px;display:flex;justify-content:space-around;align-items:center; }
.robot-face b { width:22px;height:30px;background:var(--char-accent,#66e6da);border-radius:50%;box-shadow:0 0 13px var(--char-accent,#66e6da); }.robot-face em { position:absolute;width:40px;height:12px;border-bottom:5px solid var(--char-mouth,#ff8b7d);border-radius:50%;bottom:20px; }
.robot-ear {position:absolute;width:25px;height:58px;top:40px;background:var(--char-ear,#7160e0);border:7px solid var(--char-dark,#5140b9)}.robot-ear.left{left:-29px;border-radius:14px 4px 4px 14px}.robot-ear.right{right:-29px;border-radius:4px 14px 14px 4px}
.robot-antenna { position:absolute;top:18px;left:119px;width:11px;height:55px;background:var(--char-dark,#5140b9);border-radius:20px; }.robot-antenna i{position:absolute;width:25px;height:25px;border-radius:50%;background:var(--char-mouth,var(--coral));top:-14px;left:-7px;border:6px solid var(--char-dark,#5140b9)}
.robot-body {position:absolute;width:145px;height:115px;top:213px;left:52px;background:linear-gradient(145deg,var(--char-body1,#7564e5),var(--char-body2,#5745bf));border:9px solid var(--char-dark,#5140b9);border-radius:28px 28px 45px 45px;text-align:center;padding-top:28px;color:var(--char-accent,#83f0df);font-weight:800;font-size:28px;transition:background .3s,border-color .3s}.robot-body::before,.robot-body::after{content:"";position:absolute;top:12px;width:40px;height:85px;background:var(--char-ear,#6857d5);border:8px solid var(--char-dark,#5140b9);z-index:-1}.robot-body::before{right:-39px;border-radius:0 25px 35px 0;transform:rotate(-12deg)}.robot-body::after{left:-39px;border-radius:25px 0 0 35px;transform:rotate(12deg)}
.robot-shadow {position:absolute;bottom:-5px;left:42px;width:170px;height:24px;background:rgba(49,38,109,.15);border-radius:50%;filter:blur(8px)}
.features-strip { max-width:650px;margin:24px auto 0;display:flex;justify-content:space-around; }.features-strip div{display:grid;grid-template-columns:40px auto;grid-template-rows:auto auto;column-gap:9px}.features-strip span{grid-row:1/3;width:40px;height:40px;border-radius:13px;background:#fff;display:grid;place-items:center;box-shadow:0 7px 20px rgba(55,43,121,.09)}.features-strip b{font-size:13px}.features-strip small{font-size:10px;color:var(--muted)}

.topbar { height:76px; padding:0 max(4vw, 30px); display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.87);border-bottom:1px solid var(--line);backdrop-filter:blur(14px);position:relative;z-index:3; }
.logo-button {display:flex;align-items:center;gap:8px;background:none;color:var(--ink);font-size:19px}.mini-bot{width:38px;height:38px;display:grid;place-items:center;background:var(--purple);color:white;border-radius:12px;font-size:24px}.player-summary{display:flex;gap:14px;align-items:center;font-size:13px}.total-stars{background:#fff8dd;padding:9px 14px;border-radius:30px}.total-stars i{font-style:normal;color:#f5b91e;font-size:18px}.companion-chip{background:var(--char-pale);color:var(--char-dark);padding:9px 14px;border-radius:30px;display:flex;align-items:center;gap:6px;font-weight:800;transition:.3s}.companion-chip b{font-size:16px}.total-points{background:#eafaf3;padding:9px 14px;border-radius:30px;color:#1f8f68;font-weight:700}.total-points i{font-style:normal}.icon-btn{width:42px;height:42px;border-radius:13px;background:#f2f0fb;color:var(--purple-dark);font-weight:800}.icon-btn.muted{color:#aaa;background:#eee}.map-screen{padding-bottom:50px}.map-heading{text-align:center;padding:46px 20px 28px}.map-heading p{color:var(--coral);font-weight:800;font-size:13px;margin:0 0 8px}.map-heading h2{font-size:32px;margin:0 0 10px}.map-heading span{color:var(--muted);font-size:13px}
.world-map{max-width:1030px;margin:auto;padding:20px;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.level-card{background:rgba(255,255,255,.82);border:2px solid white;border-radius:24px;padding:20px;min-height:210px;box-shadow:0 10px 30px rgba(60,47,128,.08);position:relative;overflow:hidden;text-align:right;transition:.22s}.level-card:not(.locked):hover{transform:translateY(-5px);box-shadow:0 18px 35px rgba(60,47,128,.14);border-color:var(--card-color)}.level-card::after{content:"";position:absolute;width:110px;height:110px;border-radius:50%;background:var(--card-pale);left:-34px;top:-40px}.level-number{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:var(--card-color);color:white;font-weight:800;position:relative;z-index:1}.level-world{display:block;color:var(--card-color);font-size:10px;font-weight:800;margin-top:21px}.level-card h3{margin:6px 0 7px;font-size:16px}.level-card p{font-size:11px;color:var(--muted);line-height:1.7;margin:0}.card-stars{position:absolute;bottom:14px;left:17px;color:#f4b91d;letter-spacing:2px}.level-card.locked{filter:grayscale(.6);opacity:.58;cursor:not-allowed}.lock-icon{position:absolute;left:18px;top:18px;z-index:2}.reset-link{display:block;margin:22px auto;background:none;color:#969ab0;text-decoration:underline;font-size:11px}

.game-screen { background:linear-gradient(145deg,#f9f8ff,#f4f2fd);padding-bottom:30px }.back-btn{background:none;color:var(--purple);font-weight:700}.level-badge{text-align:center}.level-badge small{display:block;color:var(--muted);font-size:9px;margin-bottom:4px}.level-badge b{font-size:14px}.game-actions{display:flex;gap:8px}
.stage-dots{display:flex;justify-content:center;gap:7px;padding:14px 0 0}.stage-dots span{width:9px;height:9px;border-radius:50%;background:#e2ddf5;transition:.2s}.stage-dots span.done{background:var(--mint)}.stage-dots span.current{background:var(--purple);transform:scale(1.4);box-shadow:0 0 0 4px rgba(103,84,231,.18)}
.mission-banner{max-width:1180px;margin:14px auto 16px;padding:18px 24px;background:#fff;border-radius:22px;box-shadow:0 8px 25px rgba(60,47,128,.08);display:grid;grid-template-columns:56px 1fr auto auto;gap:15px;align-items:center}.mission-avatar{width:54px;height:54px;border-radius:17px;background:var(--char-pale,var(--purple-soft));display:grid;place-items:center;color:var(--char-dark,var(--purple));font-size:28px;transition:.3s}.mission-banner small{color:var(--coral);font-size:9px;font-weight:800}.mission-banner h2{font-size:17px;margin:3px 0 5px}.mission-banner p{color:var(--muted);font-size:11px;margin:0}.mission-limit{background:#f7f5ff;border-radius:14px;padding:9px 14px;text-align:center}.mission-limit span{display:block;color:var(--muted);font-size:8px}.mission-limit b{font-size:11px;color:var(--purple)}
.mission-energy{background:#f7f5ff;border-radius:14px;padding:9px 14px;text-align:center}.mission-energy span{display:block;color:var(--muted);font-size:8px;margin-bottom:4px}.energy-indicator{display:flex;gap:2px;justify-content:center;font-size:14px}.energy-indicator span{opacity:.25;filter:grayscale(1)}.energy-indicator span.on{opacity:1;filter:none}
.game-layout{max-width:1180px;margin:auto;display:grid;grid-template-columns:1.15fr .85fr;gap:17px;padding:0 12px}.board-panel,.code-panel{background:#fff;border-radius:25px;padding:20px;box-shadow:0 10px 30px rgba(60,47,128,.08)}.panel-label{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:800;margin-bottom:12px}.panel-label div{color:var(--mint);font-size:10px}.game-board{--cols:5;aspect-ratio:1.28;max-height:530px;display:grid;grid-template-columns:repeat(var(--cols),1fr);gap:5px;background:#dad6ef;border:5px solid #dad6ef;border-radius:20px;overflow:hidden;direction:ltr;position:relative}.board-cell{background:#f7f5ff;position:relative;display:grid;place-items:center;overflow:hidden}.board-cell:nth-child(even){background:#f1effb}.board-cell::after{content:"";width:5px;height:5px;background:#ddd8ef;border-radius:50%;position:absolute}.obstacle{width:76%;height:76%;background:linear-gradient(135deg,#75809f,#4f5876);clip-path:polygon(18% 15%,70% 4%,96% 46%,78% 91%,26% 96%,4% 54%);filter:drop-shadow(0 6px 4px rgba(44,49,72,.2));z-index:1}.tree{width:62%;height:70%;background:linear-gradient(135deg,#58c99c,#2d9b77);clip-path:polygon(50% 0,78% 28%,66% 28%,94% 66%,62% 64%,62% 100%,38% 100%,38% 64%,7% 66%,35% 28%,23% 28%);z-index:1}.goal{width:76%;height:76%;border:6px solid var(--coral);border-radius:50%;box-shadow:inset 0 0 0 5px #ffd4ce,0 0 16px rgba(255,120,105,.3);background:radial-gradient(circle,#fff 20%,#ffe9e6 22%);z-index:1;animation:goalPulse 2s infinite}.goal::after{content:"★";color:var(--coral);font-size:24px}.crystal{width:35%;height:55%;background:linear-gradient(135deg,#a3fff3,#38c9c0 45%,#1d98b2);clip-path:polygon(50% 0,100% 38%,72% 100%,28% 100%,0 38%);z-index:2;filter:drop-shadow(0 0 8px rgba(46,208,198,.65));animation:crystalFloat 1.7s infinite alternate}.crystal.collected{animation:collect .4s forwards}.player{width:61%;height:61%;background:#fff;border:5px solid var(--char-dark,var(--purple-dark));border-radius:43% 43% 48% 48%;z-index:5;position:relative;transition:transform .28s ease,border-color .3s;filter:drop-shadow(0 5px 3px rgba(55,43,121,.22));transform:rotate(var(--rotation,0deg))}.player::before{content:"";position:absolute;inset:22% 14%;background:#302a5c;border-radius:38%;box-shadow:inset 12px 0 #302a5c}.player::after{content:"••";position:absolute;color:var(--char-accent,#68e6d9);font-size:clamp(10px,2vw,20px);letter-spacing:7px;left:50%;top:47%;transform:translate(-50%,-50%)}.player .direction-nose{position:absolute;width:10px;height:9px;background:var(--char-mouth,var(--coral));clip-path:polygon(0 0,100% 50%,0 100%);right:-11px;top:calc(50% - 4px)}
@keyframes goalPulse{50%{transform:scale(.91);box-shadow:inset 0 0 0 5px #ffd4ce,0 0 25px rgba(255,120,105,.45)}}@keyframes crystalFloat{to{transform:translateY(-5px)}}@keyframes collect{to{transform:translateY(-30px) scale(1.6);opacity:0}}
.board-legend{display:flex;justify-content:center;gap:22px;color:var(--muted);font-size:9px;margin-top:12px}.board-legend i{display:inline-block;width:10px;height:10px;margin-left:4px}.legend-crystal{background:var(--mint);clip-path:polygon(50% 0,100% 40%,70% 100%,30% 100%,0 40%)}.legend-goal{border:2px solid var(--coral);border-radius:50%}
.code-panel{display:flex;flex-direction:column}.code-heading{display:flex;justify-content:space-between;align-items:center}.code-heading small{font-size:9px;color:var(--purple);font-weight:800}.code-heading h3{margin:3px 0;font-size:19px}.clear-btn{background:none;color:#e46862;font-size:10px}.code-help{font-size:10px;color:var(--muted);margin:5px 0 13px}.command-palette{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.command-chip{border:2px solid var(--chip-color);background:var(--chip-pale);color:var(--chip-dark);border-radius:13px;padding:10px 8px;font-size:11px;font-weight:700;display:flex;align-items:center;gap:8px;text-align:right;transition:.16s;cursor:grab}.command-chip:hover{transform:translateY(-2px)}.command-chip i{font-style:normal;width:28px;height:28px;border-radius:9px;background:var(--chip-color);color:white;display:grid;place-items:center;font-size:15px}.command-chip.disabled{opacity:.4;cursor:not-allowed;filter:grayscale(1)}
.program-zone{margin-top:13px;min-height:135px;max-height:210px;overflow-y:auto;border:2px dashed #dcd7ef;background:#faf9ff;border-radius:16px;padding:9px;display:flex;flex-direction:column;gap:6px}.program-zone.drag-over{border-color:var(--purple);background:#f4f1ff}.empty-program{text-align:center;color:#a29eb4;margin:auto}.empty-program span{font-size:24px}.empty-program p{font-size:10px;margin:3px}.program-command{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:11px;background:var(--cmd-pale);border-right:4px solid var(--cmd-color);font-size:10px;font-weight:700;cursor:grab;animation:pop .2s}.program-command.executing{box-shadow:0 0 0 3px rgba(103,84,231,.23);transform:translateX(-3px)}.program-command .step-number{width:20px;height:20px;border-radius:7px;background:var(--cmd-color);color:white;display:grid;place-items:center;font-size:9px}.program-command .remove-command{margin-right:auto;background:rgba(255,255,255,.7);color:#d05d59;width:23px;height:23px;border-radius:7px}.program-command .drag-handle{color:#aaa}.program-command.dragging{opacity:.35}@keyframes pop{from{transform:scale(.9);opacity:.2}}
.code-stats{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:9px;padding:9px 2px}.hint-btn{background:#fff6d9;color:#9a7112;border-radius:20px;padding:7px 10px;font-size:9px}.run-btn,.stop-btn{width:100%;border-radius:15px;padding:14px;color:white;font-weight:800}.run-btn{background:linear-gradient(135deg,#40c59c,#32a982);box-shadow:0 8px 18px rgba(50,169,130,.23)}.run-btn:disabled{background:#aeb3c3;box-shadow:none;cursor:not-allowed}.stop-btn{background:#ee6e69}.feedback{min-height:20px;text-align:center;font-size:10px;color:var(--muted);padding-top:8px}.feedback.error{color:#dd625d}.feedback.success{color:#2ba079}.shake{animation:shake .3s}@keyframes shake{25%{transform:translateX(5px)}50%{transform:translateX(-5px)}75%{transform:translateX(3px)}}

.tutorial,.modal{position:fixed;inset:0;z-index:20;background:rgba(34,29,68,.55);backdrop-filter:blur(6px);display:grid;place-items:center;padding:20px}.tutorial-card,.result-card{max-width:430px;width:100%;background:white;border-radius:30px;padding:32px;text-align:center;box-shadow:0 25px 70px rgba(28,22,70,.28);position:relative}.tutorial-close{position:absolute;top:15px;left:17px;background:#f1eff7;color:#676278;width:32px;height:32px;border-radius:50%;font-size:20px}.tutorial-visual{height:120px;display:flex;align-items:center;justify-content:center;gap:15px}.tap-hand{font-size:42px;animation:tap 1s infinite}.demo-command{padding:15px 24px;border:2px solid var(--sky);background:#eaf7ff;color:#297aac;border-radius:16px;font-weight:700}@keyframes tap{50%{transform:translateY(-8px) rotate(-10deg)}}.tutorial-card>p,.result-card>p:first-of-type{color:var(--coral);font-size:11px;font-weight:800}.tutorial-card h2,.result-card h2{font-size:25px;margin:7px 0 12px}.tutorial-card>span{display:block;color:var(--muted);font-size:12px;line-height:1.8;margin-bottom:22px}.tutorial-card .primary-btn{width:100%}
.result-card{overflow:hidden}.result-bot{width:75px;height:75px;border-radius:25px;background:var(--char-primary,var(--purple));color:white;display:grid;place-items:center;margin:-5px auto 15px;font-size:45px;box-shadow:0 10px 20px var(--char-shadow,rgba(103,84,231,.25));transition:.3s}.earned-stars{font-size:46px;color:#e5dfc9;letter-spacing:5px;margin:10px 0}.earned-stars .on{color:#ffc331;display:inline-block;animation:starPop .5s both}@keyframes starPop{from{transform:scale(0) rotate(-50deg)}}.result-points{display:inline-block;background:#eafaf3;color:#1f8f68;font-weight:800;font-size:12px;padding:6px 14px;border-radius:20px;margin-bottom:6px}.result-card>p:not(:first-of-type){font-size:12px;color:var(--muted);line-height:1.8}.result-actions{display:grid;grid-template-columns:1fr 1.3fr;gap:8px;margin-top:22px}.secondary-btn{border:2px solid var(--line);background:white;color:var(--ink);border-radius:15px;font-size:11px;font-weight:700}.confetti i{position:absolute;width:8px;height:14px;top:-20px;animation:fall 1.7s linear infinite;background:var(--c);transform:rotate(var(--r))}@keyframes fall{to{top:110%;transform:rotate(450deg)}}

.final-screen{padding:6vh 6vw;display:flex;align-items:center;justify-content:center;min-height:100vh}
.final-card{max-width:480px;width:100%;background:linear-gradient(160deg,#fff,#f7f4ff);border-radius:32px;padding:44px 34px 36px;text-align:center;box-shadow:0 30px 80px rgba(28,22,70,.25);position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.8)}
.final-trophy{font-size:58px;margin-bottom:4px;animation:float 3s ease-in-out infinite}
.final-card #final-kicker{color:var(--coral);font-size:11px;font-weight:800;margin:0}
.final-card h2{font-size:26px;margin:8px 0 4px}
.final-companion{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--char-pale,var(--purple-soft));color:var(--char-dark,var(--purple));border-radius:20px;padding:8px 16px;margin:14px auto;width:fit-content;font-weight:800;font-size:13px;transition:.3s}
.final-companion span{font-size:18px}
.final-stats{display:flex;gap:14px;justify-content:center;margin:18px 0}
.final-stats div{background:#fff;border:2px solid var(--line);border-radius:18px;padding:14px 22px;min-width:100px}
.final-stats b{display:block;font-size:24px;color:var(--purple-dark)}
.final-stats span{font-size:10px;color:var(--muted)}
#final-message{font-size:13px;color:var(--muted);line-height:1.8;margin:10px 0 4px}
.toast{position:fixed;bottom:-80px;left:50%;transform:translateX(-50%);background:#302a5c;color:white;padding:12px 20px;border-radius:30px;font-size:11px;z-index:40;transition:.3s;box-shadow:0 10px 30px rgba(30,25,65,.25)}.toast.show{bottom:25px}.sound-toggle::after{content:""}

@media (max-width: 820px){
  .welcome-screen{padding:24px 15px}.welcome-card{grid-template-columns:1fr;padding:70px 28px 32px;border-radius:28px}.hero-robot{transform:scale(.7);margin:-40px auto -50px}.hero-robot{animation:none}.welcome-copy{padding:0;text-align:center}.welcome-copy h1{font-size:38px;letter-spacing:-1px}.world-map{grid-template-columns:repeat(2,1fr)}.game-layout{grid-template-columns:1fr}.mission-banner{margin:12px}.game-board{max-height:none}.code-panel{min-height:460px}.player-summary>span:first-child{display:none}.final-card{padding:34px 22px 28px}.final-stats div{min-width:84px;padding:12px 16px}
}
@media (max-width: 520px){
  .name-row{flex-direction:column}.features-strip{gap:6px}.features-strip div{display:flex;flex-direction:column;align-items:center}.features-strip small{display:none}.world-map{grid-template-columns:1fr;padding:14px}.level-card{min-height:175px}.topbar{padding:0 14px}.player-summary{gap:8px}.companion-chip{display:none}.mission-banner{grid-template-columns:45px 1fr auto}.mission-avatar{width:43px;height:43px}.mission-limit{display:none}.mission-energy{padding:9px 10px}.game-layout{padding:0 8px}.board-panel,.code-panel{padding:13px;border-radius:19px}.game-board{gap:3px;border-width:3px}.command-palette{grid-template-columns:1fr 1fr}.command-chip{font-size:9px;padding:7px}.result-actions{grid-template-columns:1fr}.secondary-btn{padding:12px}.welcome-copy>p{font-size:13px}.map-heading{padding-top:30px}.final-stats{flex-direction:column;align-items:center}
}
@media (prefers-reduced-motion: reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}
