*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:#f4f4f5;color:#1e1e1e}.loading{padding:2rem;font-size:1.2rem}.grid-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.grid-row-label{width:8rem;flex-shrink:0;font-weight:600;cursor:pointer;position:sticky;left:0;background:#fff;z-index:1}.grid-row-label input{width:100%}.grid-row-cells{display:flex;gap:2px;flex-shrink:0}.step-cell{width:28px;height:28px;flex-shrink:0;border:1px solid #ccc;border-radius:4px;background:#fff;font-size:11px;cursor:pointer}.step-empty{background:#fff}.step-weak{background:#cfe8ff}.step-mid{background:#7fbfff}.step-strong{background:#1971c2;color:#fff}.step-tak{background:#ffd43b}.step-current{outline:2px solid #e03131;outline-offset:-2px}.marker-bar-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem 1rem;background:#fff;border-bottom:1px solid #eee}.marker-bar-current{font-weight:700;color:#e03131}.timeline-scroll{overflow-x:auto;padding:0 1rem;background:#fff;border-bottom:1px solid #ddd}.marker-track{position:relative;height:44px;cursor:pointer;border-bottom:1px dashed #ddd}.marker-playhead{position:absolute;top:0;bottom:0;width:2px;background:#e03131;pointer-events:none}.marker-pin{position:absolute;top:0}.marker-chip{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:#f1f3f5;border-radius:4px;white-space:nowrap}.marker-step{font-size:.7rem;color:#888}.marker-bpm{font-size:.75rem;color:#666}.marker-edit-form{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:#fff;border:1px solid #1971c2;border-radius:4px;white-space:nowrap}.marker-edit-label{width:5rem}.marker-edit-number{width:3.5rem}.marker-edit-actions{display:flex;gap:.25rem}.performer-select{padding:3rem 2rem;text-align:center}.performer-select-list{display:flex;justify-content:center;gap:1rem;margin-top:1.5rem}.performer-select-list button{padding:1rem 1.5rem;font-size:1rem;border-radius:8px;border:1px solid #ccc;background:#fff;cursor:pointer}.app{min-height:100vh}.toolbar{display:flex;align-items:center;gap:1rem;padding:.5rem 1rem;background:#fff;border-bottom:1px solid #ddd}.transport{display:flex;align-items:center;gap:.5rem}.transport-step-input{width:4.5rem}.tracks{padding:.75rem 0}
