:root{--bg: #16201a;--panel: #1f2d25;--panel2: #27392f;--ink: #e8f0ea;--muted: #9fb6a8;--accent: #5a9c6a;--gold: #e9c46a;--silver: #c0c9cf;--bronze: #c08552;--wall: #14201a;--floor: #3a5246}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-user-select:none;user-select:none}#app{max-width:1000px;margin:0 auto;padding:16px}header h1{margin:0;font-size:22px;letter-spacing:.5px}header p{margin:2px 0 12px;color:var(--muted);font-size:13px}.bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}.seg{display:inline-flex;border:1px solid #38503f;border-radius:8px;overflow:hidden}.seg button{background:var(--panel);color:var(--muted);border:none;padding:6px 12px;font-size:13px;cursor:pointer}.seg button.active{background:var(--accent);color:#0d150f;font-weight:600}.btn{background:var(--accent);color:#0d150f;border:none;border-radius:8px;padding:7px 14px;font-size:13px;font-weight:600;cursor:pointer}.btn.ghost{background:var(--panel);color:var(--ink);border:1px solid #38503f}.btn:disabled{opacity:.5;cursor:default}.layout{display:grid;grid-template-columns:minmax(280px,1fr) minmax(260px,360px);gap:16px;align-items:start}@media(max-width:720px){.layout{grid-template-columns:1fr}}.board-wrap{background:var(--panel);border-radius:12px;padding:12px}#cv{width:100%;height:auto;display:block;background:var(--wall);border-radius:8px;touch-action:none}.prog-panel{background:var(--panel);border-radius:12px;padding:12px}.prog-panel h2{margin:0 0 8px;font-size:14px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}.palette{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.palette .chip{background:var(--panel2);border:1px solid #38503f;color:var(--ink);border-radius:8px;padding:6px 10px;font-size:13px;cursor:pointer}.palette .chip:hover{border-color:var(--accent)}.program{min-height:80px;background:#16231c;border:1px dashed #38503f;border-radius:8px;padding:8px;display:flex;flex-direction:column;gap:6px}.program.empty:before{content:"Tap palette blocks to build a program";color:var(--muted);font-size:12px}.blk{display:flex;align-items:center;gap:8px;background:var(--panel2);border-left:4px solid var(--accent);border-radius:6px;padding:6px 8px;font-size:13px}.blk .lbl{flex:1}.blk.move{border-left-color:#6fb3ff}.blk.left,.blk.right{border-left-color:#f4a261}.blk.repeat{border-left-color:var(--gold);flex-direction:column;align-items:stretch}.blk.ifPath{border-left-color:#b18cf0;flex-direction:column;align-items:stretch}.blk .head{display:flex;align-items:center;gap:6px}.blk .body{margin:6px 0 0 12px;border-left:2px dashed #4a6655;padding-left:8px;display:flex;flex-direction:column;gap:6px;min-height:22px}.blk .body.empty:before{content:"(drop body blocks here)";color:var(--muted);font-size:11px}.blk .body .miniadd{display:flex;gap:4px;flex-wrap:wrap}.blk .body .miniadd button{background:#1c2a22;border:1px solid #38503f;color:var(--muted);border-radius:5px;font-size:11px;padding:2px 6px;cursor:pointer}.blk .x{background:transparent;border:none;color:var(--muted);cursor:pointer;font-size:14px;padding:0 4px}.blk .x:hover{color:#ff8b8b}.blk input[type=number]{width:44px;background:#16231c;border:1px solid #38503f;color:var(--ink);border-radius:4px;padding:2px 4px;font-size:13px}.stats{margin-top:10px;font-size:13px;color:var(--muted);line-height:1.6}.stats b{color:var(--ink)}#status{margin-top:10px;font-size:14px;min-height:20px}.medal-gold{color:var(--gold);font-weight:700}.medal-silver{color:var(--silver);font-weight:700}.medal-bronze{color:var(--bronze);font-weight:700}.medal-none{color:#ff8b8b}.runbar{display:flex;gap:8px;margin-top:10px}
