*{box-sizing:border-box}body{color:#1e293b;background:#f8fafc;margin:10px;font-family:Arial,sans-serif}#app{width:100%;max-width:none;margin:0;padding:0}h1{margin:0 0 10px;font-size:24px}#mazeCanvas{border:1px solid #94a3b8;width:300px;max-width:100%;height:auto;display:block}.controls{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.controls button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:6px;padding:8px 14px;font-size:14px}.controls button:hover{background:#1d4ed8}#status{font-size:14px}.view-panel{flex-direction:column;gap:8px;display:flex}.view-panel h3{margin:0;font-size:16px}#maze3D canvas{border:1px solid #94a3b8;max-width:100%;height:auto;display:block}.program-panel{background:#e2e8f0;border-radius:8px;max-width:450px;margin-top:20px;padding:16px}.program-panel h3{margin-top:0}#programInput{width:100%;padding:10px;font-family:Consolas,monospace;font-size:15px;line-height:1.5}#programOutput{white-space:pre-wrap;font-size:13px}.robot-workspace{flex-wrap:wrap;align-items:flex-start;gap:24px;margin-top:20px;display:flex}.robot-workspace .program-panel{flex:350px;margin-top:0}.robot-info{flex:300px;max-width:420px}.robot-info img{border-radius:10px;width:100%;height:auto;display:block}.robot-info h3{margin:12px 0 6px}.robot-info p{font-size:14px;line-height:1.5}.game-views{flex-wrap:wrap;align-items:flex-start;gap:20px;display:flex}.results-panel{color:#e2e8f0;background:linear-gradient(145deg,#0f172a,#172c45);border:1px solid #0891b2;border-radius:12px;width:280px;min-height:300px;padding:18px;box-shadow:0 0 18px #06b6d429}.results-heading{color:#67e8f9;letter-spacing:2px;margin-bottom:16px;font-size:16px;font-weight:700}.mission-state{color:#fbbf24;margin-bottom:18px;font-size:12px;font-weight:700}.mission-state.completed{color:#4ade80}.score-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.score-item{background:#1e293b;border:1px solid #334155;border-radius:8px;padding:10px}.score-item span{color:#94a3b8;letter-spacing:1px;margin-bottom:8px;font-size:10px;display:block}.score-item strong{color:#67e8f9;font-family:Consolas,monospace;font-size:23px;display:block}.victory-message{text-align:center;color:#4ade80;background:#22c55e1f;border:1px solid #22c55e;border-radius:8px;margin-top:18px;padding:12px;font-size:13px;font-weight:700;animation:1.5s infinite alternate victoryPulse}.victory-message[hidden]{display:none}@keyframes victoryPulse{0%{box-shadow:0 0 4px #22c55e}to{box-shadow:0 0 18px #22c55e}}#resetGame{color:#fff;background:#dc2626}#resetGame:hover{background:#b91c1c}#resetGame:disabled{opacity:.5;cursor:not-allowed}.ttl-panel{margin:18px 0}.ttl-header{color:#cbd5e1;justify-content:space-between;margin-bottom:8px;font-size:12px;display:flex}.ttl-track{background:#334155;border-radius:8px;height:12px;overflow:hidden}.ttl-bar{background:#22c55e;width:100%;height:100%;transition:width .25s,background .25s}.program-buttons{flex-direction:row;align-items:center;gap:12px;margin-top:15px;display:flex}.program-buttons button{margin:0}
