:root{color:#222;background:#f5f5f5;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}#root{min-height:100vh}.app-shell{display:grid;grid-template-rows:auto 1fr;min-height:100vh}.app-toolbar{align-items:center;background:#fafafa;border-bottom:1px solid #e0e0e0;display:flex;gap:20px;justify-content:space-between;min-height:72px;padding:12px 18px}.brand-mark{align-items:center;display:flex;gap:12px;min-width:220px}.brand-mark>svg{background:#111;border-radius:8px;color:#fff;height:38px;padding:8px;width:38px}.brand-mark h1{font-size:18px;letter-spacing:0;line-height:1.1;margin:0}.brand-mark span{color:#777;display:block;font-size:12px;margin-top:3px}.toolbar-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.segmented-control,.icon-stepper,.check-control{align-items:center;background:#eee;border:1px solid #e0e0e0;border-radius:8px;display:inline-flex;gap:2px;padding:3px}.segmented-control button,.icon-stepper button,.track-actions button{align-items:center;background:transparent;border:0;border-radius:6px;color:#444;display:inline-flex;gap:6px;min-height:32px;padding:0 10px}.segmented-control button.is-active,.icon-stepper button:hover:not(:disabled),.track-actions button:hover{background:#fff;box-shadow:0 1px 2px #0000001a}.icon-stepper span{color:#444;font-size:13px;font-variant-numeric:tabular-nums;min-width:48px;text-align:center}.check-control{gap:10px;min-height:40px;padding:0 10px}.check-control label{align-items:center;color:#444;display:inline-flex;font-size:13px;font-weight:700;gap:6px;white-space:nowrap}.check-control input{accent-color:#333333;height:16px;width:16px}.bars-control{align-items:center;border:1px solid #e0e0e0;border-radius:8px;display:inline-flex;gap:8px;min-height:40px;padding:0 8px 0 12px}.bars-control span{color:#777;font-size:12px;white-space:nowrap}.bars-control input{background:#fff;border:1px solid #e0e0e0;border-radius:6px;color:#222;height:28px;text-align:center;width:54px}.primary-action,.secondary-action,.upload-button{align-items:center;background:#333;border:1px solid #222222;border-radius:8px;color:#fff;display:inline-flex;font-weight:700;gap:8px;min-height:40px;padding:0 14px}.primary-action:hover:not(:disabled),.secondary-action:hover,.upload-button:hover{background:#222}.secondary-action{background:#fff;border-color:#ccc;color:#333}.secondary-action:hover{background:#f0f0f0}.ghost-action,.delete-slot-button{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:8px;color:#444;display:inline-flex;justify-content:center;min-height:40px;min-width:40px;padding:0}.ghost-action:hover,.delete-slot-button:hover{background:#eee}.delete-slot-button{color:#555;min-height:34px;min-width:34px}.workspace{display:grid;grid-template-columns:minmax(280px,340px) 1fr;min-height:0}.is-sidebar-closed .workspace{grid-template-columns:minmax(0,1fr)}.score-sidebar{background:#eee;border-right:1px solid #e0e0e0;display:flex;flex-direction:column;gap:12px;overflow-y:auto;padding:14px}.add-slot-button{align-items:center;background:#fff;border:1px dashed #bbbbbb;border-radius:8px;color:#333;display:inline-flex;font-weight:800;gap:8px;justify-content:center;min-height:42px}.add-slot-button:hover{background:#f0f0f0;border-color:#999}.file-slot{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:12px}.slot-header{align-items:center;display:flex;gap:10px;justify-content:space-between}.slot-buttons{align-items:center;display:flex;flex:0 0 auto;gap:6px}.slot-label{color:#555;display:block;font-size:12px;font-weight:800;margin-bottom:4px}.slot-header h2{color:#333;font-size:15px;line-height:1.25;margin:0;max-width:185px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slot-header input[type=file]{display:none}.upload-button{border-radius:7px;flex:0 0 auto;min-height:34px;padding:0 11px}.file-facts{border-top:1px solid #e6e6e6;color:#777;display:grid;font-size:12px;gap:6px;margin-top:12px;padding-top:10px}.file-facts span:first-child{color:#444;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.track-actions{display:flex;gap:6px;margin-top:12px}.track-actions button{background:#f5f5f5;border:1px solid #e0e0e0;font-size:12px;min-height:30px}.track-list{display:grid;gap:6px;margin-top:10px}.track-row{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:7px;color:#444;display:grid;gap:8px;grid-template-columns:18px minmax(0,1fr) 36px;min-height:36px;padding:0 8px;text-align:left;width:100%}.track-row:hover,.track-row.is-selected{border-color:#999}.track-row.is-selected{background:#f0f0f0}.track-check{align-items:center;border:1px solid #bbbbbb;border-radius:4px;color:#333;display:flex;height:18px;justify-content:center;width:18px}.track-row.is-selected .track-check{background:#333;border-color:#333;color:#fff}.track-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.track-bars{color:#777;font-size:12px;text-align:right}.slot-placeholder{align-items:center;border:1px dashed #cccccc;border-radius:7px;color:#777;display:flex;gap:8px;justify-content:center;margin-top:12px;min-height:72px}.score-stage{display:grid;grid-template-rows:auto auto minmax(0,1fr);min-width:0;overflow:hidden}.stage-status{align-items:center;background:#fff;border-bottom:1px solid #e0e0e0;display:flex;gap:12px;min-height:54px;padding:10px 16px}.status-badge{align-items:center;background:#eee;border:1px solid #e0e0e0;border-radius:999px;color:#777;display:inline-flex;font-size:12px;font-weight:800;gap:6px;min-height:28px;padding:0 10px;white-space:nowrap}.status-badge.is-ready{background:#f0f0f0;border-color:#ccc;color:#555}.status-badge.is-rendering{background:#f5f5f5;border-color:#ddd;color:#666}.status-badge.is-error{background:#eee;border-color:#bbb;color:#444}.score-meta-line{align-items:center;color:#777;display:flex;flex-wrap:wrap;gap:8px;min-width:0}.score-meta-line strong{color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.score-meta-line span{font-size:13px}.notice-stack{background:#fafafa;border-bottom:1px solid #e0e0e0;display:grid;gap:8px;padding:10px 16px}.notice{align-items:center;border-radius:7px;display:flex;gap:8px;min-height:34px;padding:8px 10px}.notice.is-warning{background:#f5f5f5;color:#555}.notice.is-danger{background:#eee;color:#555}.notation-surface{background:#f9f9f9;min-height:0;overflow:auto;position:relative}.alpha-tab-host{min-height:100%;padding:28px 24px 56px}.alpha-tab-host:empty{min-height:0;padding:0}.empty-state{align-items:center;color:#777;display:flex;flex-direction:column;gap:10px;top:0;right:0;bottom:0;left:0;justify-content:center;padding:32px;position:absolute;text-align:center}.empty-state svg{color:#333}.empty-state h2{color:#333;font-size:22px;letter-spacing:0;margin:0}.empty-state p{line-height:1.5;margin:0;max-width:420px}.spin{animation:spin .85s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:960px){.app-toolbar{align-items:flex-start;flex-direction:column}.toolbar-actions{justify-content:flex-start;width:100%}.workspace{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.score-sidebar{border-bottom:1px solid #e0e0e0;border-right:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:42vh}}@media(max-width:680px){.app-toolbar{padding:12px}.toolbar-actions,.segmented-control,.icon-stepper,.check-control,.bars-control,.secondary-action,.primary-action{width:100%}.segmented-control button,.secondary-action,.primary-action{justify-content:center}.ghost-action{width:100%}.icon-stepper{justify-content:space-between}.check-control{justify-content:center}.score-sidebar{grid-template-columns:1fr;max-height:none}.stage-status{align-items:flex-start;flex-direction:column}.alpha-tab-host{padding:18px 12px 40px}}@media print{@page{margin:12mm}body{background:#fff}.app-toolbar,.score-sidebar,.stage-status,.notice-stack,.empty-state{display:none!important}.app-shell,.workspace,.score-stage,.notation-surface{background:#fff!important;display:block!important;height:auto!important;min-height:0!important;overflow:visible!important;padding:0!important;width:auto!important}}
