:root{--bg: #141419;--surface: #1a1a20;--panel: #17171c;--score-bg: #101014;--ink: #e8e8ec;--muted: #8b8b96;--faint: #6f6f7a;--line: #26262e;--line-faint: #1e1e24;--ctl-border: #33333c;--ctl-bg: #202027;--ctl-ink: #c9c9d2;--lane: #23232b;--lane-faint: #1d1d24;--accent: #ff6d84;--accent-ink: #17171c;--zone: rgba(240, 180, 60, .07);--pill: #e4e4e0;--pill-text: #17171c;--chip-bg: #202027;--lcd-bg: #0d0d10;--lcd-text: #8fd9a8;--lcd-strong: #d3f2de;--c-do: #f26b6f;--c-re: #f08a45;--c-mi: #eec453;--c-mi-ink: #e9c95a;--c-fa: #57c07d;--c-sol: #5ea3e8;--c-la: #7f8ce0;--c-si: #b07ad9;--c-sharp: #7c7b83;--note-ink: #17171c;--note-ink-mi: #17171c}@media(prefers-color-scheme:light){:root:not([data-theme=dark]){--bg: #f2f1ee;--surface: #fbfaf8;--panel: #f6f5f1;--score-bg: #fdfcfa;--ink: #1b1b1e;--muted: #71706a;--faint: #8f8e88;--line: #dcdad2;--line-faint: #e7e5de;--ctl-border: #d4d2c9;--ctl-bg: #faf9f6;--ctl-ink: #3c3b38;--lane: #e7e5dd;--lane-faint: #efede6;--accent: #d9435f;--accent-ink: #ffffff;--zone: rgba(240, 180, 60, .14);--pill: #23232a;--pill-text: #ffffff;--chip-bg: #f0efeb;--lcd-bg: #23232a;--lcd-text: #8fd9a8;--lcd-strong: #d3f2de;--c-do: #d6444a;--c-re: #df7327;--c-mi: #e2b23a;--c-mi-ink: #96781a;--c-fa: #3f9e63;--c-sol: #3d8bd4;--c-la: #5f6cc9;--c-si: #9a5fc9;--c-sharp: #8a8984;--note-ink: #ffffff;--note-ink-mi: #1b1b1e}}:root[data-theme=light]{--bg: #f2f1ee;--surface: #fbfaf8;--panel: #f6f5f1;--score-bg: #fdfcfa;--ink: #1b1b1e;--muted: #71706a;--faint: #8f8e88;--line: #dcdad2;--line-faint: #e7e5de;--ctl-border: #d4d2c9;--ctl-bg: #faf9f6;--ctl-ink: #3c3b38;--lane: #e7e5dd;--lane-faint: #efede6;--accent: #d9435f;--accent-ink: #ffffff;--zone: rgba(240, 180, 60, .14);--pill: #23232a;--pill-text: #ffffff;--chip-bg: #f0efeb;--lcd-bg: #23232a;--lcd-text: #8fd9a8;--lcd-strong: #d3f2de;--c-do: #d6444a;--c-re: #df7327;--c-mi: #e2b23a;--c-mi-ink: #96781a;--c-fa: #3f9e63;--c-sol: #3d8bd4;--c-la: #5f6cc9;--c-si: #9a5fc9;--c-sharp: #8a8984;--note-ink: #ffffff;--note-ink-mi: #1b1b1e}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Pretendard,Noto Sans KR,Malgun Gothic,sans-serif}button{font-family:inherit;cursor:pointer}button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.app-shell{height:100vh;display:flex;flex-direction:column;overflow:hidden;background:var(--bg)}.workarea{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--surface)}.score-scroll{flex:1;min-height:0;overflow:auto;background:var(--score-bg)}.score-scroll svg{display:block}.appbar{display:flex;align-items:center;height:52px;flex-shrink:0;background:var(--surface);border-bottom:1px solid var(--line);padding:0 14px;gap:14px}.brand{display:inline-flex;align-items:center;gap:6px}.brand-word{font-size:12.5px;font-weight:800;letter-spacing:.12em;color:var(--ink)}.brand-version{font-size:10px;color:var(--faint)}.appbar-center{flex:1;display:flex;align-items:center;justify-content:center;gap:10px}.appbar-actions{display:inline-flex;align-items:center;gap:8px}.save-state{font-size:11px;color:var(--faint);white-space:nowrap}.doc-name{font-size:15px;font-weight:700;color:var(--ink);background:var(--ctl-bg);border:1px solid transparent;border-radius:5px;text-align:center;width:200px;padding:5px 10px}.doc-name:focus{border-color:var(--ctl-border)}.btn2{height:32px;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--ctl-border);border-radius:5px;background:var(--ctl-bg);color:var(--ctl-ink);font-size:13px;font-weight:600;padding:0 12px}.btn2:hover{border-color:var(--faint)}.toolbar{display:flex;align-items:center;gap:14px;height:46px;flex-shrink:0;background:var(--panel);border-bottom:1px solid var(--line);padding:0 14px}.group{display:inline-flex;align-items:center;gap:6px}.group+.group{border-left:1px solid var(--line);padding-left:14px}.glabel{font-size:11.5px;font-weight:700;color:var(--faint)}.seg{display:inline-flex;border:1px solid var(--ctl-border);border-radius:5px;overflow:hidden}.seg button{padding:6px 12px;background:var(--ctl-bg);color:var(--muted);border:0;border-right:1px solid var(--line);font-size:12.5px;font-weight:600}.seg button:last-child{border-right:0}.seg button.on{background:var(--ink);color:var(--bg);font-weight:700}.bpm-label{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}.lcd-input{width:56px;background:var(--lcd-bg);color:var(--lcd-text);border:1px solid #000;border-radius:5px;padding:4px 8px;font-size:14px;height:32px;text-align:right;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums}.spacer{flex:1}.transport{display:flex;align-items:center;gap:14px;height:56px;flex-shrink:0;background:var(--surface);border-top:1px solid var(--line);padding:0 14px}.t-side{flex:1;display:flex;align-items:center;gap:8px}.t-side.right{justify-content:flex-end}.t-center{display:inline-flex;align-items:center;gap:8px}.tbtn{width:36px;height:36px;border-radius:5px;border:1px solid var(--ctl-border);background:var(--ctl-bg);color:var(--ctl-ink);display:inline-flex;align-items:center;justify-content:center;font-size:13px}.tbtn.primary{width:42px;height:42px;border-radius:8px;background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-size:15px}.lcd{display:inline-flex;align-items:center;gap:10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums;background:var(--lcd-bg);color:var(--lcd-text);border:1px solid #000;border-radius:5px;padding:5px 14px;font-size:14px;box-shadow:inset 0 1px 3px #00000080}.lcd b,.lcd strong{color:var(--lcd-strong);font-weight:700}.chip{height:30px;display:inline-flex;align-items:center;border:1px solid var(--ctl-border);border-radius:12px;padding:0 12px;font-size:12px;background:transparent;color:var(--muted)}.chip.on{border-color:var(--accent);color:var(--accent);font-weight:700}.stat{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums;font-size:12px;color:var(--muted)}.statusbar{display:flex;align-items:center;height:30px;flex-shrink:0;gap:16px;background:var(--panel);border-top:1px solid var(--line);padding:0 14px;font-size:12px;color:var(--faint)}.sp{flex:1}.btn{background:transparent;border:1px solid var(--line);border-radius:8px;padding:4px 12px;font-size:12px;color:var(--ink)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:50}.modal{background:var(--surface);border:1px solid var(--line);border-radius:12px;min-width:420px;max-width:90vw;max-height:80vh;overflow-y:auto;padding:14px 16px}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.library-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.library-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--line);border-radius:8px;padding:8px 12px}.library-info{display:flex;flex-direction:column;gap:2px}.library-title{font-weight:700;font-size:13px}.library-note{font-size:11.5px;color:var(--muted);margin:10px 0 0}.shortcut-table{border-collapse:collapse;width:100%;font-size:12.5px}.shortcut-table td{padding:6px 8px;border-bottom:1px solid var(--line-faint)}.shortcut-table kbd{background:var(--chip-bg);border:1px solid var(--line);border-radius:6px;padding:2px 8px;font-family:ui-monospace,Menlo,monospace;font-size:11.5px}.theme-seg{margin-bottom:14px}@media(max-width:900px){.appbar{gap:8px;padding:0 10px}.brand .wordmark,.brand .ver,.btn2 .label{display:none}.doc-name{width:130px}.toolbar{flex-wrap:wrap;height:auto;min-height:46px;padding:6px 10px;row-gap:6px}.transport{flex-wrap:wrap;height:auto;min-height:56px;padding:6px 10px;row-gap:6px}}
