// _arrange.scss — Arrange page (.ar-* prefix) /* * MuseHub Page-Specific Styles * * Contains CSS that is unique to a single page and not reusable as a component. * Shared/duplicated patterns live in _components.scss and _music.scss. * * Sections (alphabetical by page): * activity, arrange, blame, blob, collaborators_settings, commit, commit_detail, * commits, explore, forks, global_search, groove_check, insights, issue_detail, * issue_list, labels, listen, motifs, * new_repo, piano_roll, proposal_detail, proposal_list, release_detail, releases, * repo_home, score, search, session_detail, sessions, settings, stash, * timeline, tree, trending, user_profile */ /* ========================================================================= Arrange page (.ar-* prefix) ========================================================================= */ /* ── Commit header ─────────────────────────────────────────────────────── */ .ar-commit-header { background: var(--bg-surface); border: 1px solid var(--border-default); border-radius: var(--radius-lg); padding: var(--space-4) var(--space-5); margin-bottom: var(--space-4); display: grid; grid-template-columns: 1fr auto; gap: var(--space-3); align-items: center; @media (max-width: 640px) { grid-template-columns: 1fr; } } .ar-commit-left { min-width: 0; } .ar-commit-message { font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); color: var(--text-primary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; margin-bottom: var(--space-2); } .ar-commit-meta { display: flex; align-items: center; gap: var(--space-3); flex-wrap: wrap; font-size: var(--font-size-xs); color: var(--text-muted); } .ar-branch-pill { display: inline-flex; align-items: center; gap: 4px; padding: 2px 9px; background: rgba(88,166,255,0.12); border: 1px solid rgba(88,166,255,0.3); border-radius: var(--radius-full); font-family: var(--font-mono); font-size: 0.7rem; color: var(--color-accent); } .ar-sha { font-family: var(--font-mono); font-size: 0.7rem; padding: 2px 6px; background: var(--bg-overlay); border-radius: 4px; color: var(--text-muted); } .ar-commit-nav { display: flex; align-items: center; gap: var(--space-2); flex-shrink: 0; } .ar-nav-btn { display: inline-flex; align-items: center; gap: var(--space-1); padding: 4px 10px; background: var(--bg-overlay); border: 1px solid var(--border-default); border-radius: var(--radius-base); font-size: var(--font-size-xs); color: var(--text-secondary); text-decoration: none; transition: border-color 0.12s, color 0.12s; &:hover { border-color: var(--color-accent); color: var(--color-accent); } &.ar-nav-btn--disabled { opacity: 0.4; pointer-events: none; } } /* ── Render status badge ───────────────────────────────────────────────── */ .ar-render-status { display: inline-flex; align-items: center; gap: 4px; font-size: 0.7rem; padding: 2px 8px; border-radius: var(--radius-full); font-weight: 600; &.ar-rs-complete { background: rgba(63,185,80,0.12); color: var(--color-success); border: 1px solid var(--color-success); } &.ar-rs-pending { background: rgba(240,136,62,0.12); color: var(--color-warning); border: 1px solid var(--color-warning); } &.ar-rs-rendering { background: rgba(88,166,255,0.12); color: var(--color-accent); border: 1px solid var(--color-accent); } &.ar-rs-failed { background: rgba(248,81,73,0.12); color: var(--color-danger); border: 1px solid var(--color-danger); } &.ar-rs-none { background: var(--bg-overlay); color: var(--text-muted); border: 1px solid var(--border-default); } } /* ── Stats ribbon ──────────────────────────────────────────────────────── */ .ar-stats-bar { display: flex; gap: var(--space-3); flex-wrap: wrap; margin-bottom: var(--space-4); } .ar-stat-pill { background: var(--bg-surface); border: 1px solid var(--border-default); border-radius: var(--radius-full); padding: var(--space-2) var(--space-4); font-size: var(--font-size-xs); color: var(--text-muted); white-space: nowrap; strong { color: var(--text-primary); font-family: var(--font-mono); } } /* ── Section timeline bar ──────────────────────────────────────────────── */ .ar-timeline { display: flex; height: 40px; border-radius: var(--radius-base); overflow: hidden; border: 1px solid var(--border-default); margin-bottom: var(--space-4); } .ar-timeline-seg { display: flex; flex-direction: column; align-items: center; justify-content: center; border-right: 1px solid var(--border-default); padding: 0 var(--space-2); cursor: default; transition: background 0.12s; overflow: hidden; &:last-child { border-right: none; } &:hover { background: var(--bg-overlay); } &[data-active="high"] { background: rgba(88,166,255,0.15); } &[data-active="medium"] { background: rgba(88,166,255,0.08); } &[data-active="low"] { background: rgba(88,166,255,0.03); } } .ar-timeline-label { font-size: 0.65rem; font-weight: var(--font-weight-semibold); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.04em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; } .ar-timeline-beats { font-size: 0.6rem; color: var(--text-muted); font-family: var(--font-mono); margin-top: 1px; } /* ── Matrix section ────────────────────────────────────────────────────── */ .ar-matrix-wrap { overflow-x: auto; margin-bottom: var(--space-5); } .ar-table { border-collapse: collapse; font-size: 12px; min-width: 100%; table-layout: auto; } .ar-table th { background: var(--bg-overlay); color: var(--text-muted); font-weight: var(--font-weight-semibold); padding: 8px 12px; border: 1px solid var(--border-default); text-align: center; white-space: nowrap; font-size: var(--font-size-xs); } .ar-table th.ar-th-inst { text-align: left; min-width: 120px; } .ar-table td { border: 1px solid var(--border-subtle); padding: 2px; text-align: center; vertical-align: middle; } /* Row highlight on hover (set by JS adding .ar-row-hover to