*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;height:100%;background:#000;color:#fff;font:14px -apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif;overflow:hidden;overscroll-behavior:none}
#c{position:fixed;inset:0;z-index:0}
header{position:fixed;top:0;left:0;right:0;z-index:3;display:flex;gap:6px;align-items:center;padding:calc(env(safe-area-inset-top) + 6px) 8px 6px;background:linear-gradient(#000c,#0000)}
.logo{letter-spacing:.25em;font-weight:800;color:#ffb066;margin-right:auto;font-size:13px}
header select,header input,header button{background:#1a120cdd;color:#fff;border:1px solid #5a3a20;border-radius:10px;height:34px;padding:0 8px;font-size:14px}
header input{width:60px;text-align:center}.bpm{display:flex;align-items:center;gap:3px;font-size:10px;color:#c9a}
header button{min-width:38px;font-weight:700}#play{background:#ff8a2c;color:#000;border:0}#auto.on{background:#ffd84d;color:#000}
#undo:disabled{opacity:.35}
#panel{position:fixed;left:0;right:0;bottom:0;z-index:2;max-height:44vh;overflow-y:auto;padding:6px 10px calc(env(safe-area-inset-bottom) + 10px);background:linear-gradient(#0000,#000d 6%,#000f);transition:transform .25s}
body.folded #panel{transform:translateY(calc(100% - 34px))}
#fold{position:sticky;top:0;display:block;margin:0 auto;background:#0008;border:0;color:#fff;font-size:18px;width:60px;height:24px;border-radius:12px}
body.folded #fold{transform:rotate(180deg)}
.row{display:flex;gap:6px;overflow-x:auto;padding:4px 0;scrollbar-width:none}.row::-webkit-scrollbar{display:none}
h3{margin:8px 0 2px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#ffb066;font-weight:700}
button{font:inherit;cursor:pointer}
.sec{flex:0 0 auto;border:1px solid #444;background:#111c;color:#fff;border-radius:10px;padding:5px 10px;display:flex;flex-direction:column;align-items:center;min-width:64px}
.sec small{font-size:10px;opacity:.6}.sec.sel{border-color:#ffb066;box-shadow:0 0 0 1px #ffb066 inset}.sec.now{background:#ff8a2c55}
.sec.drop{color:#ffd84d}.sec.build{color:#ffb066}.sec.breakdown{color:#9cf}.sec.add{min-width:40px;font-size:18px}
#sections{display:flex;gap:6px}
#energy{width:100%;height:26px;display:block}
.head{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#ccc;gap:6px;flex-wrap:wrap}
.mini{background:#1a120c;border:1px solid #5a3a20;color:#fff;border-radius:8px;padding:4px 8px;font-size:12px;margin-left:4px}
.chip{flex:0 0 auto;background:#fff;color:#000;border:0;border-radius:10px;padding:6px 10px;font-weight:800;font-size:16px;display:flex;flex-direction:column;align-items:center}
.chip small{font-size:10px;font-weight:500;opacity:.6}.hint{align-self:center;font-size:11px;opacity:.5;white-space:nowrap}
#next{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.sug{background:#1d130bdd;border:1px solid #6a4423;color:#fff;border-radius:12px;padding:7px 6px;text-align:left;display:grid;grid-template-columns:auto 1fr auto;gap:0 6px;align-items:baseline;min-height:62px}
.sug b{font-size:20px}.sug i{font-size:11px;opacity:.7;font-style:normal}.sug em{font-style:normal;font-weight:800;color:#ffd84d}
.sug small{grid-column:1/-1;font-size:10px;opacity:.7;line-height:1.25;margin-top:2px}
.sug:active,.chip:active,.prog:active,.layer:active{transform:scale(.96)}
.prog{flex:0 0 auto;max-width:260px;background:#160f0add;border:1px solid #4a3020;color:#fff;border-radius:12px;padding:7px 10px;text-align:left}
.prog b{display:block;font-size:14px;white-space:nowrap}.prog small{font-size:10px;opacity:.65}
.layer{flex:0 0 auto;background:#111;border:1px dashed #555;color:#ddd;border-radius:12px;padding:6px 10px;text-align:left;font-size:12px}
.layer small{display:block;font-size:10px;opacity:.6}.layer.on{border:1px solid #ff8a2c;background:#2a1708;color:#fff}
#sheet{position:fixed;inset:0;z-index:5;background:#000a;display:none;align-items:flex-end}#sheet.on{display:flex}
#sheet .box{width:100%;background:#120c08;border-top:1px solid #5a3a20;border-radius:18px 18px 0 0;padding:14px 14px calc(env(safe-area-inset-bottom) + 18px)}
#sheet .box>button{background:#1d130b;border:1px solid #6a4423;color:#fff;border-radius:10px;padding:10px 12px;margin:3px}
.saverow{display:flex;gap:6px;margin:4px 0}.saverow button{flex:1;background:#1a1a1a;border:1px solid #333;color:#fff;border-radius:8px;padding:8px;text-align:left}.saverow .del{flex:0 0 40px;text-align:center}
.note{font-size:11px;opacity:.6}
#toast{position:fixed;top:calc(env(safe-area-inset-top) + 50px);left:50%;transform:translate(-50%,-20px);background:#ffd84d;color:#000;padding:7px 12px;border-radius:12px;font-size:12px;opacity:0;transition:.25s;z-index:6;max-width:90vw;text-align:center}
#toast.on{opacity:1;transform:translate(-50%,0)}
@media (min-width:900px){#panel{left:auto;width:440px;max-height:none;top:56px;background:#000c;border-left:1px solid #2a1a10}#next{grid-template-columns:repeat(2,1fr)}body.folded #panel{transform:translateX(100%)}}
