@import "https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700;900&display=swap";:root{--bg:#fbfcfe;--surface:#fff;--surface-alt:#e1e1e1;--border:#d0d0d0;--border-strong:#b8b8b8;--border-strong-dark:#94a3b875;--text:#1e293b;--text-muted:#64748b;--primary:#2563eb;--primary-l:#eff6ff;--primary-b:#bfdbfe;--danger:#ef4444;--shadow:0 1px 3px #00000014;--r:6px;color:var(--text);font-family:Noto Sans JP,system-ui,sans-serif;font-size:14px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100%}body{background:var(--bg);-webkit-font-smoothing:antialiased}html.mobile-preview-dark-mode,body.mobile-preview-dark-mode,body.mobile-preview-dark-mode #root,body.mobile-preview-dark-mode #root .app-root{background:#0b1220}input,select,textarea,button{font-family:inherit;font-size:inherit;color:inherit}.mobile-only{display:none!important}.desktop-only{display:block}.mobile-only-inline{display:none!important}.desktop-only-inline{display:inline!important}.app-root{flex-direction:column;height:100vh;display:flex;overflow:hidden}.app-footer{text-align:center;letter-spacing:.02em;flex-shrink:0;padding:8px 12px 10px;font-size:.68rem;font-weight:500;color:#fff!important;background:#000!important}.action-dialog-backdrop{z-index:1400;background:#0f172a6b;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.action-dialog{background:var(--surface);border:1px solid #94a3b833;border-radius:12px;flex-direction:column;gap:12px;width:min(420px,100vw - 32px);padding:16px;display:flex;box-shadow:0 14px 36px #0f172a2e}.action-dialog-title{color:var(--text);font-size:.96rem;font-weight:800}.action-dialog-text{color:var(--text-muted);font-size:.8rem;line-height:1.55}.action-dialog-actions{flex-direction:column;gap:8px;display:flex}.action-dialog-btn{cursor:pointer;border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:10px;padding:10px 12px;font-size:.8rem;font-weight:700}.action-dialog-btn-primary{border-color:var(--primary-b);background:var(--primary-l);color:var(--primary)}.action-dialog-btn-ghost{color:var(--text-muted)}.app-dark-ui{background:#0f172a}.app-dark-ui .app-footer{color:#fff!important;background:#000!important}.app-dark-ui .action-dialog{background:#111827;border-color:#94a3b83d;box-shadow:0 18px 40px #0206177a}.app-dark-ui .action-dialog-title{color:#f8fafc}.app-dark-ui .action-dialog-text{color:#e2e8f0b8}.app-dark-ui .action-dialog-btn{color:#f8fafc;background:#1e293beb;border-color:#94a3b83d}.app-dark-ui .action-dialog-btn-primary{color:#bfdbfe;background:#1e3a8a38;border-color:#60a5fa47}.app-dark-ui .action-dialog-btn-ghost{color:#e2e8f0b8}.editor-header{z-index:1200;flex-shrink:0;padding:12px 18px;position:sticky;top:0;box-shadow:none!important;background:#000!important;border-bottom:none!important}.header-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.brand-group{flex-shrink:0;align-items:center;min-width:0;display:flex}.brand-logo{object-fit:contain;object-position:center;border-radius:9px;flex-shrink:0;width:auto;height:36px}.draft-status-chip{color:#f8fafcd1;white-space:nowrap;margin-left:10px;font-size:.68rem;font-weight:700}.content-top{flex-direction:column;flex-shrink:0;gap:8px;padding:10px 16px;display:flex;box-shadow:none!important;background:#fff!important;border-top:none!important;border-bottom:none!important}.content-top-dark{background:#000!important;border-top:none!important;border-bottom:none!important}.app-dark-ui .editor-header,.app-dark-ui .pane-library,.app-dark-ui .pane-editor,.app-dark-ui .pane-preview{background:#0f172a}.app-dark-ui .editor-header{box-shadow:none!important;background:#000!important;border-bottom:none!important}.app-dark-ui .content-top{box-shadow:none!important;background:#000!important;border-top:none!important;border-bottom:none!important}.app-dark-ui .workspace,.app-dark-ui .preview-only-view,.app-dark-ui .workspace-preview-only{background:#000!important}.app-dark-ui .content-top,.app-dark-ui .pane-library,.app-dark-ui .pane-editor,.app-dark-ui .pane-preview{border-color:var(--border-strong-dark)}.app-dark-ui .pane-library,.app-dark-ui .pane-editor,.app-dark-ui .pane-preview{box-shadow:none}.app-dark-ui .pane-header{border-bottom-color:var(--border-strong-dark)}.app-dark-ui .pane-title,.app-dark-ui .pane-subtitle,.app-dark-ui .preview-color-title,.app-dark-ui .meta-group label,.app-dark-ui .editor-mobile-form-bpm-label{color:#f8fafc}.app-dark-ui .content-top .preview-color-title,.app-dark-ui .content-top .meta-group label{color:#fff!important}.app-dark-ui .content-top .mode-toggle-btn:not(.active),.app-dark-ui .content-top .preview-settings-popover-trigger{color:#f5f5f5!important;background:#2a2a2a!important}.app-dark-ui .mode-select,.app-dark-ui .mode-toggle-btn{color:#f8fafc;background:#2a2a2a}.app-dark-ui .preview-pane{box-shadow:none;border-color:#3a3a3a;border-radius:0;background:#000!important}.app-dark-ui .preview-title{color:#cbd5e1}.app-dark-ui .preview-artist{color:#94a3b8}.app-dark-ui .workspace,.app-dark-ui .pane-body-preview,.app-dark-ui .editor-scroll-region,.app-dark-ui .editor-toolbar{background:0 0}.app-dark-ui .lyrics-editor-wrap,.app-dark-ui .editor-scroll-region,.app-dark-ui .editor-content-surface,.app-dark-ui .tiptap-editor{background:#242424}.app-dark-ui .lyrics-editor-wrap,.app-dark-ui .editor-toolbar{border-color:#3a3a3a}.app-dark-ui .editor-toolbar{border-bottom-color:#0000}.app-dark-ui .title-input,.app-dark-ui .artist-input,.app-dark-ui .bpm-input,.app-dark-ui .editor-mobile-form-bpm-input{color:#fff;background:#242424;border-color:#3a3a3a}.app-dark-ui .title-input::placeholder,.app-dark-ui .artist-input::placeholder,.app-dark-ui .bpm-input::placeholder,.app-dark-ui .editor-mobile-form-bpm-input::placeholder,.app-dark-ui .editor-placeholder{color:#f8fafc70}.app-dark-ui .lyrics-editor-wrap,.app-dark-ui .editor-scroll-region,.app-dark-ui .editor-scroll-region .ProseMirror{color:#fff}.app-dark-ui .library-item{background:#0f172aeb;box-shadow:inset 0 0 0 1px #94a3b824}.app-dark-ui .library-empty{background:#0f172aeb}.app-dark-ui .library-add-title{color:#f8fafc}.app-dark-ui .library-add-help{color:#f8fafcc7}.app-dark-ui .pane-destructive-btn{color:#f87171;background:#1e293beb;border-color:#f8717152}.app-dark-ui .pane-destructive-btn:hover{background:#302028f5;border-color:#f871716b}.content-top-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.content-top-row-controls{align-items:center;gap:20px}.editor-song-meta{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:6px;display:flex}.title-group{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.title-input{background:var(--surface);box-shadow:none;border:none;border-bottom:1px solid #94a3b857;border-radius:0;outline:none;padding:6px 0 7px 14px;font-family:Noto Sans JP,sans-serif;font-size:1.05rem;font-weight:500}.artist-input{background:var(--surface);color:var(--text-muted);box-shadow:none;border:none;border-bottom:1px solid #94a3b857;border-radius:0;outline:none;padding:6px 0 7px 14px;font-family:Noto Sans JP,sans-serif;font-size:1.05rem;font-weight:500}.title-input::placeholder,.artist-input::placeholder{color:#94a3b8}.bpm-group{flex-shrink:0;align-items:center;gap:8px;padding-top:4px;display:flex}.bpm-group label,.meta-group label{color:var(--text-muted);font-size:.72rem;font-weight:700}.bpm-input{border:1px solid var(--border);border-radius:var(--r);text-align:center;width:52px;height:28px;padding:2px 5px;font-size:.82rem;line-height:1.1}.bpm-input::placeholder{color:#94a3b8}.display-mode-group{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.mode-toggle-btn{cursor:pointer;color:#4a4a4a;white-space:nowrap;background:#e5e5e5;border:none;border-radius:999px;padding:4px 10px;font-size:.72rem;font-weight:700}.mode-toggle-btn:hover{background:#d9d9d9}.mode-toggle-btn-guitar.active{color:#fff;background:#3b82f6}.mode-toggle-btn-ukulele.active{color:#fff;background:#22c55e}.mode-toggle-btn-lyrics.active{color:#fff;background:#8b5cf6}.meta-group{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-left:auto;display:flex}.preview-color-group{gap:8px}.preview-color-title{color:var(--text);white-space:nowrap;margin-right:2px;font-size:.72rem;font-weight:800}.content-top-dark .meta-group label,.content-top-dark .preview-color-title{color:#f8fafc}.mode-select{border:1px solid var(--border);border-radius:var(--r);background:var(--surface);padding:3px 6px;font-size:.88rem}.theme-switch{cursor:pointer;color:var(--text);background:0 0;border:none;border-radius:999px;align-items:center;gap:5px;padding:2px 0;font-size:.68rem;font-weight:800;display:inline-flex}.theme-switch-track{background:#d9d9d9;border-radius:999px;width:34px;height:20px;transition:background .16s;position:relative}.theme-switch-thumb{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .16s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0f172a2e}.theme-switch-label{white-space:nowrap;letter-spacing:.02em;font-size:.64rem;line-height:1}.theme-switch.is-on .theme-switch-track{background:#2563eb}.theme-switch.is-on .theme-switch-thumb{transform:translate(14px)}.app-dark-ui .theme-switch{color:#f8fafc}.app-dark-ui .theme-switch-track{background:#cfcfcf}.app-dark-ui .theme-switch.is-on .theme-switch-track{background:#3b82f6}.desktop-preview-actions{align-items:center;gap:10px;margin-left:auto;display:flex;position:relative}.desktop-dark-toggle{align-items:center;gap:8px;display:inline-flex}.preview-settings-popover-trigger{cursor:pointer;color:#4a4a4a;white-space:nowrap;background:#e5e5e5;border:none;border-radius:999px;padding:4px 10px;font-size:.72rem;font-weight:700}.preview-settings-popover-trigger.active{color:#1d4ed8;background:#e5e5e5}.preview-settings-popover{z-index:40;border:1px solid var(--border);background:var(--surface);border-radius:12px;width:280px;padding:12px;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 10px 30px #0f172a29}.preview-settings-popover-dark{background:#0f172a;border-color:#94a3b83d;box-shadow:0 12px 30px #0206176b}.preview-settings-popover-title{color:var(--text);margin-bottom:10px;font-size:.82rem;font-weight:900}.preview-settings-popover-dark .preview-settings-popover-title{color:#f8fafc}.preview-settings-popover-fields{grid-template-columns:minmax(0,1fr);gap:8px;display:grid}.preview-settings-popover-fields label{color:var(--text-muted);font-size:.72rem;font-weight:700}.preview-settings-popover-dark .preview-settings-popover-fields label{color:#f8fafc}.header-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.header-social-links{align-items:center;gap:4px;margin-right:2px;display:inline-flex}.header-social-link{color:#cbd5e1;border-radius:5px;justify-content:center;align-items:center;width:24px;height:24px;line-height:0;text-decoration:none;transition:color .12s,background-color .12s;display:inline-flex}.header-social-link:hover,.header-social-link:focus-visible{color:#fff;background:#333}.header-social-link:focus-visible{outline-offset:2px;outline:2px solid #8ab4ff}.header-social-icon{width:19px;height:19px;display:block}.header-action-btn{cursor:pointer;border-radius:var(--r);color:#f8fafc;white-space:nowrap;background:#3a3a3a;border:none;padding:6px 10px;font-size:.78rem;font-weight:700;text-decoration:none}.header-action-btn:hover{background:#4a4a4a}.dictionary-page{background:var(--surface-alt);flex:1;min-height:0;padding:18px;overflow:hidden}.dictionary-shell{flex-direction:column;gap:14px;max-width:1120px;height:100%;margin:0 auto;display:flex}.dictionary-workspace{flex:1;gap:14px;min-height:0;display:flex}.dictionary-topbar{flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.dictionary-topbar-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.dictionary-eyebrow{letter-spacing:.04em;color:var(--primary);font-size:.72rem;font-weight:800}.dictionary-title{color:var(--text);font-size:1.45rem;line-height:1.2}.dictionary-subtitle{color:var(--text-muted);margin-top:6px;font-size:.82rem}.dictionary-file-status{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;font-size:.76rem;display:flex}.dictionary-dirty-badge{border:1px solid var(--border);background:var(--surface);align-items:center;padding:2px 8px;font-weight:700;display:inline-flex}.dictionary-dirty-badge.is-dirty{color:#b45309;background:#fffbeb;border-color:#fcd34d}.dictionary-dirty-badge.is-saved{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.dictionary-welcome{flex:1;justify-content:center;align-items:center;min-height:0;display:flex}.dictionary-welcome-card{border:1px solid var(--border);background:var(--surface);width:min(560px,100%);box-shadow:var(--shadow);flex-direction:column;gap:10px;padding:22px 24px;display:flex}.dictionary-welcome-title{color:var(--text);font-size:1rem;font-weight:900}.dictionary-welcome-text{color:var(--text-muted);font-size:.82rem;line-height:1.6}.dictionary-welcome-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.dictionary-pane{background:var(--surface);border:1px solid var(--border);min-height:0;box-shadow:var(--shadow);flex-direction:column;flex:1;padding:14px 16px 16px;display:flex}.dictionary-ops-panel{border:1px solid var(--border);background:var(--surface);width:250px;box-shadow:var(--shadow);flex-direction:column;flex-shrink:0;gap:12px;padding:14px;display:flex}.dictionary-ops-title{color:var(--text);font-size:.92rem;font-weight:900}.dictionary-ops-text{color:var(--text-muted);font-size:.76rem;line-height:1.5}.dictionary-ops-group{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding-top:10px;display:flex}.dictionary-ops-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.dictionary-ops-buttons{flex-direction:column;gap:8px;display:flex}.dictionary-ops-url{color:var(--text-muted);word-break:break-all;font-size:.74rem}.dictionary-build-btn{align-self:flex-start}.dictionary-build-meta{color:var(--text);font-size:.73rem;font-weight:700}.dictionary-build-log{border:1px solid var(--border);background:var(--surface-alt);min-height:72px;max-height:124px;color:var(--text-muted);white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;padding:7px 9px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.68rem;line-height:1.45;overflow:auto}.dictionary-toolbar{border-bottom:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:10px;padding-bottom:12px;display:flex}.dictionary-toolbar-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.dictionary-toolbar-row-selects{justify-content:flex-start;align-items:flex-end}.dictionary-field{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.dictionary-label{color:var(--text-muted);font-size:.74rem;font-weight:800}.dictionary-current-code{border:1px solid var(--border);background:var(--surface-alt);min-width:108px;color:var(--text);padding:6px 10px;font-size:1rem;font-weight:900}.dictionary-add-btn{background:var(--primary);color:#fff;cursor:pointer;border:none;padding:7px 12px;font-size:.82rem;font-weight:800}.dictionary-add-btn:hover{background:#1d4ed8}.dictionary-select-field{flex-direction:column;gap:4px;min-width:110px;display:flex}.dictionary-candidates{flex-direction:column;flex:1;min-height:0;padding-top:14px;display:flex}.dictionary-candidates-header{flex-shrink:0;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.dictionary-candidates-title{color:var(--text);font-size:1rem;font-weight:900}.dictionary-candidates-count{color:var(--text-muted);font-size:.8rem}.dictionary-empty-state{text-align:center;min-height:0;color:var(--text-muted);background:var(--surface-alt);border:1px dashed var(--border);flex:1;justify-content:center;align-items:center;padding:20px;font-size:.84rem;display:flex}.dictionary-candidate-list{flex-direction:column;flex:1;gap:10px;min-height:0;padding-right:2px;display:flex;overflow-y:auto}.dictionary-candidate-card{border:1px solid var(--border);background:var(--surface-alt);grid-template-columns:24px 88px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.dictionary-candidate-diagram{justify-content:center;align-items:center;display:flex}.dictionary-candidate-meta{flex-direction:column;gap:4px;min-width:0;display:flex}.dictionary-candidate-label{color:var(--text);font-size:.95rem;font-weight:900}.dictionary-candidate-basefret{color:var(--text-muted);font-size:.76rem}.dictionary-candidate-actions{flex-direction:column;gap:6px;display:flex}@media (width<=980px){.dictionary-workspace{flex-direction:column}.dictionary-ops-panel{width:auto}}.workspace{flex:1;display:flex;overflow:hidden}.workspace-preview-only .pane-library,.workspace-preview-only .pane-editor{display:none}.workspace-preview-only .pane-preview{flex:1;min-width:0;padding:20px 28px}.pane{height:100%;min-height:0;overflow:hidden}.pane-library{border-right:2px solid var(--border-strong);background:#eef3f8;flex-direction:column;flex-shrink:0;order:1;width:220px;padding:10px;display:flex}.pane-editor{background:var(--surface-alt);border-right:2px solid var(--border-strong);flex-direction:column;flex:1;order:2;gap:6px;min-width:280px;padding:10px 14px;display:flex;overflow:hidden}.pane-preview{background:var(--surface-alt);flex-direction:column;flex:1.5;order:3;min-width:320px;padding:16px;display:flex}.pane-preview-dark{background:#0f172a}.desktop-preview-resizer{display:none}.pane-body{flex:1;min-height:0}.pane-body-library,.pane-body-editor{flex-direction:column;display:flex;overflow:hidden}.pane-body-preview{padding:0 4px 2px 5px;overflow:auto}.pane-header{border-bottom:none;flex-direction:column;flex-shrink:0;gap:3px;margin-bottom:6px;padding:2px 0 9px;display:flex}.pane-heading-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.pane-title-group{align-items:center;gap:7px;min-width:0;display:inline-flex}.pane-heading-row-library{min-width:0}.pane-title-nowrap{white-space:nowrap}.pane-info-wrap{flex-shrink:0;align-items:center;display:inline-flex;position:relative}.pane-info-btn{color:#3b82f6;cursor:pointer;background:#fff;border:1px solid #3b82f6;border-radius:999px;justify-content:center;align-items:center;width:12px;height:12px;font-size:.52rem;font-weight:800;line-height:1;display:inline-flex}.pane-info-btn:hover{color:#2563eb;background:#fff;border-color:#2563eb}.pane-info-tooltip{z-index:1600;color:#f8fafc;white-space:nowrap;pointer-events:none;background:#0f172aeb;border-radius:7px;padding:4px 7px;font-size:.66rem;font-weight:700;line-height:1.2;position:fixed}.pane-info-popover{z-index:45;background:#fffffffa;border:1px solid #aab9cbe6;border-radius:12px;width:min(280px,32vw);padding:11px 12px;position:fixed;box-shadow:0 14px 30px #0f172a1f}.pane-info-popover-overlay{z-index:1550}.pane-info-popover-editor{width:min(320px,36vw)}.pane-info-popover-title{color:var(--text);margin-bottom:8px;font-size:.78rem;font-weight:900}.pane-info-popover-list{color:var(--text-muted);flex-direction:column;gap:5px;padding-left:16px;font-size:.72rem;line-height:1.5;display:flex}.pane-info-popover-dark{background:#111b2cfa;border-color:#94a3b847;box-shadow:0 16px 34px #0206176b}.pane-info-popover-dark .pane-info-popover-title{color:#f8fafc}.pane-info-popover-dark .pane-info-popover-list{color:#e2e8f0c7}.pane-header-preview{width:100%;max-width:none;margin:0 0 12px}.pane-preview-header-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.pane-inline-toggle{cursor:pointer;border:1px solid var(--primary-b);background:var(--primary-l);color:var(--primary);white-space:nowrap;border-radius:999px;padding:5px 10px;font-size:.72rem;font-weight:800}.preview-settings-panel{border:1px solid var(--border);background:var(--surface);border-radius:12px;flex-direction:column;gap:10px;margin-top:12px;padding:10px 12px;display:flex}.preview-settings-panel .display-mode-group{justify-content:flex-start}.preview-settings-panel .meta-group{justify-content:flex-start;margin-left:0}.preview-settings-panel-dark{background:#0f172aeb;border-color:#94a3b838}.pane-preview-dark .pane-header-preview{border-bottom-color:#94a3b82e}.pane-preview-dark .pane-title{color:#e2e8f0}.pane-title{color:#334155;letter-spacing:.03em;align-self:flex-start;padding:0;font-size:.82rem;font-weight:800;line-height:1.25;display:inline-block}.pane-subtitle{color:var(--text-muted);font-size:.7rem;line-height:1.4}.pane-destructive-btn{cursor:pointer;color:#dc2626;white-space:nowrap;background:#ffffffe6;border:1px solid #ef444442;border-radius:999px;flex-shrink:0;padding:4px 9px;font-size:.69rem;font-weight:700}.pane-destructive-btn:hover{background:#fef2f2f2;border-color:#dc262661}.chord-library{flex-direction:column;gap:8px;height:100%;display:flex}.library-header{flex-shrink:0}.library-header-main{flex-direction:column;gap:6px;display:flex}.library-scroll-area{flex-direction:column;flex:1;gap:8px;min-height:0;padding-right:2px;display:flex;overflow-y:auto}.library-header-row{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.library-add-block{text-align:center;flex-direction:column;align-items:center;gap:5px;padding:4px 0 2px;display:flex}.library-add-trigger{cursor:pointer;border:1px solid var(--primary-b);background:var(--primary-l);color:var(--primary);border-radius:999px;padding:8px 14px;font-size:.8rem;font-weight:800;display:none}.library-add-content{flex-direction:column;align-items:center;gap:5px;display:flex}.library-add-sheet-backdrop,.library-add-sheet,.library-add-sheet-header,.library-add-sheet-title,.library-add-sheet-close,.library-add-sheet-body{display:none}.add-buttons{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.add-btn{cursor:pointer;border-radius:var(--r);color:#2454c5;background:#e6efff;border:none;padding:3px 9px;font-size:.72rem;font-weight:700}.add-btn:hover{color:#1d4ed8;background:#dce9ff}.add-btn.active{color:#1d4ed8;background:#d4e5ff}.add-panel{border:1px solid var(--primary-b);border-radius:var(--r);background:var(--primary-l);flex-direction:column;flex-shrink:0;gap:7px;padding:9px;display:flex}.add-panel-row{align-items:center;gap:8px;min-width:0;display:flex}.add-panel-row-stack{flex-direction:column;align-items:flex-start;gap:3px}.add-panel-row label,.add-panel-label{color:var(--text-muted);white-space:nowrap;flex-shrink:0;min-width:52px;font-size:.72rem;font-weight:700}.select-sm{border:1px solid var(--border);background:var(--surface);border-radius:4px;flex:1;padding:2px 4px;font-size:.8rem}.input-sm{border:1px solid var(--border);background:var(--surface);border-radius:4px;flex:1;width:100%;min-width:0;padding:6px 8px;font-size:.85rem}.input-sm::placeholder{color:#94a3b8;font-size:.76rem}.add-panel-preview{background:var(--surface);border-radius:4px;align-items:center;gap:6px;padding:4px 6px;display:flex}.add-preview-label{min-width:32px;font-size:1.1rem;font-weight:900}.add-panel-note{color:var(--text-muted);font-size:.72rem}.add-panel-value{width:100%;color:var(--text);background:0 0;border:none;border-radius:0;padding:1px 0 0;font-size:.82rem;font-weight:700}.add-panel-inline-value{min-width:0;color:var(--text);font-size:.82rem;font-weight:700}.btn-add-confirm{cursor:pointer;background:var(--primary);border-radius:var(--r);color:#fff;border:none;align-self:flex-start;padding:4px 12px;font-size:.8rem;font-weight:700}.btn-add-confirm:disabled{opacity:.5;cursor:not-allowed}.btn-add-confirm:hover:not(:disabled){background:#1d4ed8}.preset-candidate-list{flex-direction:column;gap:6px;display:flex}.preset-candidate-item{background:var(--surface);border:1px solid var(--border);border-radius:4px;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:8px;padding:6px 7px;display:grid}.preset-candidate-item-empty{grid-template-columns:minmax(0,1fr) auto}.preset-candidate-empty-copy{min-width:0}.preset-candidate-empty-title{color:var(--text);font-size:.8rem;font-weight:700}.preset-candidate-empty-note{color:var(--text-muted);margin-top:2px;font-size:.71rem;line-height:1.45}.preset-candidate-diagram{justify-content:center;align-items:center;min-width:0;display:flex}.preset-add-btn{white-space:nowrap;place-self:center end;padding:4px 7px;font-size:.74rem}.mode-note{color:var(--text-muted);flex-shrink:0;font-size:.72rem}.library-list{flex-direction:column;flex:none;gap:3px;display:flex}.library-item{border-bottom:none;grid-template-columns:20px minmax(0,1fr) 42px;align-items:center;gap:6px;padding:3px 0;display:grid}.library-item-title{width:100%}.library-item-main{grid-template-columns:minmax(0,1fr) 64px;align-items:center;gap:6px;min-width:0;display:grid}.library-item-primary{grid-template-columns:minmax(0,1fr) 60px;align-items:stretch;gap:6px;width:100%;min-width:0;min-height:48px;padding:4px 4px 4px 8px;display:grid}.chord-insert-btn{cursor:pointer;text-align:left;border:1.5px solid;border-radius:4px;flex-shrink:0;width:100%;min-width:0;padding:1px 7px;font-family:Noto Sans JP,sans-serif;font-size:.84rem;font-weight:900;transition:opacity .12s;overflow:hidden}.chord-insert-btn:hover{opacity:.75}.chord-insert-label{white-space:normal;align-self:start;width:100%;min-width:0;padding-top:1px;display:block}.chord-insert-label-text{text-overflow:ellipsis;white-space:normal;overflow-wrap:anywhere;word-break:break-word;-webkit-line-clamp:3;-webkit-box-orient:vertical;min-width:0;line-height:1.05;display:-webkit-box;overflow:hidden}.chord-insert-ellipsis{opacity:.82;flex-shrink:0;margin-left:2px;font-size:.68em;line-height:1;display:inline-block;transform:translateY(-.02em)}.library-item-diagram{justify-content:flex-end;place-self:stretch end;align-items:flex-end;width:60px;min-width:60px;padding-right:1px;display:flex}.library-item-diagram-empty{color:#94a3b8;font-size:11px}.library-item-actions{flex-direction:column;flex-shrink:0;align-items:stretch;gap:3px;display:flex}.library-move-actions{flex-direction:column;align-items:center;gap:3px;display:flex}.library-action-btn{cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);border-radius:4px;min-width:38px;min-height:26px;padding:5px 3px;font-size:.72rem;font-weight:700;line-height:1.05}.library-action-btn:hover{border-color:var(--primary-b);background:#f8fafc}.library-action-btn:disabled{cursor:default;opacity:.45;background:var(--surface);border-color:var(--border)}.library-action-btn-edit{color:#2563eb}.library-action-btn-delete{color:#dc2626}.library-action-btn-move{color:#475569}.library-action-btn-icon{justify-content:center;align-items:center;width:20px;min-width:0;height:20px;padding:0;font-size:.54rem;display:inline-flex}.remove-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:3px;padding:1px 4px;font-size:.7rem}.remove-btn:hover{color:var(--danger);background:#fef2f2}.library-empty{color:var(--text-muted);text-align:center;padding:12px 0;font-size:.78rem}.lyrics-editor-wrap{border:1.5px solid var(--border);border-radius:var(--r);background:var(--surface);cursor:text;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.editor-toolbar{background:0 0;border-bottom:none;flex-shrink:0;align-items:center;gap:8px;margin-left:auto;padding:8px;display:flex;position:relative}.editor-toolbar-spacer{flex:1}.editor-toolbar-item{position:relative}.editor-toolbar-btn{cursor:pointer;border-radius:4px;padding:4px 8px;font-size:12px;font-weight:700}.editor-toolbar-btn-section{color:#3730a3;background:#e0e7ff;border:1px solid #c7d2fe}.editor-toolbar-btn-capo{color:#fff;background:#475569;border:none}.editor-toolbar-popup{z-index:10;box-sizing:border-box;background:#fff;border:1px solid #cbd5e1;border-radius:6px;max-width:min(260px,100vw - 24px);margin-top:4px;padding:8px;position:absolute;top:100%;box-shadow:0 4px 6px -1px #0000001a}.editor-toolbar-popup-section{width:min(236px,100vw - 24px);left:auto;right:0}.editor-toolbar-popup-capo{width:min(180px,100vw - 24px);right:0}.editor-toolbar-popup-label{color:#64748b;margin-bottom:4px;font-size:11px}.app-dark-ui .editor-toolbar-popup,.app-dark-ui .editor-toolbar-popup-label,.app-dark-ui .editor-toolbar-chip,.app-dark-ui .editor-toolbar-input{color:#111827}.app-dark-ui .editor-toolbar-input::placeholder{color:#64748b}.editor-toolbar-chip-row{flex-wrap:wrap;gap:4px;margin-bottom:8px;display:flex}.editor-toolbar-chip{cursor:pointer;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:4px;padding:2px 6px;font-size:11px}.editor-toolbar-popup-row{grid-template-columns:minmax(0,1fr) auto;gap:4px;min-width:0;display:grid}.editor-toolbar-input{box-sizing:border-box;border:1px solid #cbd5e1;border-radius:4px;width:100%;min-width:0;padding:4px;font-size:12px}.editor-toolbar-submit{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:4px;padding:4px 8px;font-size:11px}.editor-marker-controls{justify-content:flex-end;align-items:stretch;gap:8px;display:flex}.editor-toolbar-row{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.editor-marker-btn-stack{flex-direction:column;gap:6px;display:flex}.editor-marker-btn{color:#334155;background:#f8fafc;border:1px solid #cbd5e1;border-radius:10px;min-width:44px;min-height:36px;font-size:.78rem;font-weight:800;line-height:1}.editor-marker-btn-triangle{font-size:1.02rem}.editor-marker-btn-action{font-size:.92rem}.editor-marker-btn-wide,.editor-marker-btn-horizontal{min-width:52px}.editor-marker-btn-vertical{min-width:66px}.editor-marker-btn:disabled{opacity:.42}.editor-scroll-region{flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.editor-content-surface{flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:visible}.editor-placeholder{color:#94a3b8;pointer-events:none;z-index:1;font-size:1.02rem;position:absolute;top:12px;left:14px}.tiptap-editor{outline:none;flex:1;min-height:100%;padding:12px 14px;font-family:Noto Sans JP,sans-serif;font-size:1.05rem;font-weight:500;line-height:2.2}.tiptap-editor p{min-height:1.8em;margin:0}.chord-token-wrapper{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation;display:inline}.chord-token{vertical-align:middle;cursor:default;white-space:nowrap;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border:1.5px solid;border-radius:4px;margin:0 1px;padding:1px 6px;font-size:.82rem;font-weight:900;line-height:1.6;display:inline-block;position:relative;top:-1px}.chord-token.selected,.mobile-chord-selected .chord-token{outline-offset:1px;outline:2px solid #2563eb}.mobile-insert-marker{vertical-align:middle;pointer-events:none;align-items:center;gap:4px;margin:0 2px;display:inline-flex}.mobile-insert-marker-caret{background:#2563eb;border-radius:999px;width:2px;height:1.35em;display:block;box-shadow:0 0 0 1px #2563eb29}.mobile-insert-marker-plus{color:#1d4ed8;background:#dbeafe;border-radius:999px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 5px;font-size:.62rem;font-weight:900;line-height:1;display:inline-flex}.preview-pane{background:var(--surface);width:100%;min-width:480px;max-width:820px;min-height:100%;box-shadow:var(--shadow);border-radius:var(--r);border:1px solid #cbd5e1a3;height:max-content;margin:0 auto;padding:28px 36px}.preview-top{text-align:center;margin-bottom:20px;padding-bottom:12px}.preview-title{color:#8693a3;font-family:Noto Sans JP,sans-serif;font-size:1.6rem;font-weight:900}.preview-artist{color:#a3afbc;margin-top:2px;font-size:.9rem}.preview-bpm{color:var(--text-muted);margin-top:4px;font-family:monospace;font-size:.8rem}.preview-lyrics{display:block}.preview-line{margin-bottom:18px;display:block}.preview-line:last-child{margin-bottom:0}.preview-chord-only-line{display:block}.preview-chord-block-cell{vertical-align:top;text-align:left;margin-right:var(--pv-col-gap,24px);margin-bottom:6px;display:inline-block}.preview-chord-block-cell:last-child{margin-right:0}.preview-mixed-line{font-family:Noto Sans JP,sans-serif;font-size:1.1rem;font-weight:600;display:block}.preview-chord-lyric-cell{vertical-align:bottom;text-align:left;max-width:100%;min-width:var(--pv-chord-upper-w,60px);padding-right:calc(var(--pv-col-gap,24px) * .5);display:inline-block}.preview-chord-upper{min-height:var(--pv-chord-slot-h,40px);padding-top:18px;display:block}.preview-chord-lower{word-break:normal;overflow-wrap:anywhere;white-space:pre-wrap;display:block}.preview-text-cell{white-space:pre-wrap;vertical-align:bottom;display:inline}.preview-slot-placeholder{width:0;min-height:var(--pv-chord-slot-h,40px);box-sizing:content-box;vertical-align:bottom;padding-top:18px;display:inline-block;overflow:hidden}.preview-lyric-text{white-space:pre-wrap;display:inline}.preview-chord-name-label{white-space:nowrap;color:#1e293b;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1rem;font-weight:900;line-height:1.1;display:block}.preview-empty-line{width:100%;height:1.4em}.preview-fretboard-shift{width:var(--preview-fretboard-usable-width);display:block;overflow:visible}.preview-fretboard-shift>svg{margin-left:calc(var(--preview-fretboard-offset) * -1)}@media (width>=901px){.mobile-insert-marker{display:none!important}.workspace{align-items:stretch;gap:0;padding:12px 10px;background:#fff!important}.pane{border-radius:8px;align-self:stretch;box-shadow:none!important;border:none!important}.pane-library,.pane-editor,.pane-preview{background:#efefef!important}.pane-library{margin-right:12px;background:#efefef!important;border-right:none!important}.pane-editor{flex:var(--desktop-editor-split,43) 1 280px;margin-right:0;background:#efefef!important;border-right:none!important}.pane-preview{order:4;flex:var(--desktop-preview-split,57) 1 320px;background:#efefef!important;border-right:none!important}.desktop-preview-resizer{color:#94a3b8;cursor:col-resize;touch-action:none;background:0 0;border:none;order:3;justify-content:center;align-self:stretch;align-items:center;width:14px;min-width:14px;padding:0;display:flex!important}.workspace-preview-only .desktop-preview-resizer{display:none!important}.desktop-preview-resizer-grip{opacity:.64;background:linear-gradient(#0000 0 6px,currentColor 6px 10px,#0000 10px 16px) 0 0/4px 16px;border-radius:999px;width:4px;height:min(88px,26%);min-height:44px;transition:opacity .12s,background-color .12s,box-shadow .12s}.desktop-preview-resizer:hover .desktop-preview-resizer-grip,.desktop-preview-resizer:focus-visible .desktop-preview-resizer-grip,.is-desktop-preview-resizing .desktop-preview-resizer-grip{opacity:1;background-color:#dbeafe;box-shadow:0 0 0 4px #2563eb1f}.desktop-preview-resizer:focus-visible{outline-offset:2px;outline:2px solid #2563eb}.is-desktop-preview-resizing,.is-desktop-preview-resizing *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}.app-dark-ui .pane{box-shadow:none!important;border:1px solid #3a3a3a!important}.app-dark-ui .pane-library,.app-dark-ui .pane-editor,.app-dark-ui .pane-preview{background:#000!important;border-color:#3a3a3a!important}.preview-only-view{flex:1;min-height:0;padding:20px 24px 12px;overflow:hidden auto;background:#fff!important}.preview-only-view-dark{background:#000!important}.preview-only-view .preview-pane{max-width:820px;margin:0 auto}.pane-editor .lyrics-editor-wrap{box-shadow:none;background:0 0;border:none;border-radius:0}.pane-editor .editor-toolbar{background:0 0;border-bottom:none;padding:0 0 8px}.pane-editor .editor-scroll-region{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r)}.pane-editor .editor-content-surface{background:var(--surface)}.app-dark-ui .pane-editor .editor-scroll-region{box-shadow:none;background:#242424!important;border-color:#3a3a3a!important}.app-dark-ui .pane-preview .preview-pane{background:#000!important;border-color:#3a3a3a!important}.app-dark-ui .pane-editor .editor-content-surface,.app-dark-ui .pane-editor .editor-scroll-region .ProseMirror,.app-dark-ui .pane-editor .tiptap-editor{background:#242424!important}}@media (width<=900px){.mobile-only{display:block!important}.desktop-only{display:none!important}.mobile-only-inline{display:inline!important}.desktop-only-inline{display:none!important}.pane-inline-toggle.mobile-only{display:inline-flex!important}.editor-header{padding:6px 8px}.header-row{flex-direction:row;align-items:center;gap:4px}.brand-logo{height:24px}.draft-status-chip{margin-left:6px;font-size:.58rem}.header-actions{flex-wrap:nowrap;flex:0 auto;justify-content:flex-end;gap:3px;min-width:0;margin-left:auto}.header-social-links{gap:1px;margin-right:0}.header-social-link{border-radius:4px;width:21px;height:21px}.header-social-icon{width:16px;height:16px}.header-action-btn{text-align:center;border-radius:4px;flex:0 auto;justify-content:center;padding:2px 5px;font-size:.62rem}.workspace{flex-direction:column;gap:6px;padding:2px;overflow:hidden}.pane{border:1px solid var(--border);box-shadow:none;background:#efefef;border-radius:0;height:auto;padding:6px 5px}.pane-library,.pane-editor,.pane-preview{align-self:stretch;width:100%;min-width:0;max-width:100%}.pane-preview{flex:0 0 23svh;order:1;min-height:148px;max-height:25svh}.pane-library{flex:none;order:2;min-height:0;max-height:none}.pane-editor{flex:auto;order:3;min-height:0}.workspace-preview-only .pane-preview{flex:auto;min-height:0;max-height:none}.pane-header{border-bottom-color:#d0d0d0;margin-bottom:5px;padding:0 1px 5px}.pane-header-preview{max-width:none;margin-bottom:6px}.pane-body-library{flex:none;overflow:visible}.pane-body-editor{flex:auto;min-height:0}.pane-title{letter-spacing:.08em;color:#1f1f1f;font-size:.74rem;font-weight:900}.preview-settings-panel{gap:8px}.preview-settings-sheet-backdrop,.preview-settings-sheet,.preview-settings-sheet-header,.preview-settings-sheet-title,.preview-settings-sheet-close,.preview-settings-sheet-body{display:none}.preview-settings-panel .meta-group{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:8px 10px;display:grid}.preview-settings-panel .preview-color-title{grid-column:1/-1;margin-right:0}.editor-song-meta{flex-direction:column;gap:6px;margin-bottom:6px}.editor-song-meta-mobile{--mobile-meta-gap:10px;--mobile-bpm-column:88px;background:0 0;border-radius:0;flex-direction:column;gap:0;padding:0 1px 6px;display:flex}.editor-mobile-form{flex-direction:column;gap:6px;width:100%;padding:6px 8px 0 0;display:flex}.editor-mobile-form-row{grid-template-columns:minmax(0, 1fr) var(--mobile-bpm-column);align-items:center;gap:var(--mobile-meta-gap);width:100%;display:grid}.editor-mobile-form-row-secondary{grid-template-columns:minmax(0, calc(100% - var(--mobile-bpm-column) - var(--mobile-meta-gap)))}.editor-mobile-form-main{width:100%;min-width:0}.editor-mobile-form-bpm{justify-content:flex-end;align-items:center;gap:6px;min-width:0;display:flex}.editor-mobile-form-bpm-label{color:var(--text-muted);white-space:nowrap;font-size:.72rem;font-weight:700}.editor-mobile-form-input{width:100%;min-width:0}.editor-mobile-form-bpm-input{width:64px;min-width:0}.title-input,.artist-input{box-shadow:none;background:0 0;border:none;border-bottom:1px solid #94a3b857;border-radius:0;padding:4px 0 5px 10px;font-size:.95rem;font-weight:500}.bpm-input{box-shadow:none;border-color:#94a3b83d}.chord-library{gap:8px;overflow:hidden}.library-header{flex-shrink:0;width:100%}.library-header-main{gap:4px;width:100%}.library-mobile-header{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;margin-bottom:3px;padding:0 0 5px;display:grid}.library-mobile-title{color:#1f1f1f;letter-spacing:.08em;white-space:nowrap;min-width:0;font-size:.74rem;font-weight:900}.library-mobile-header .pane-destructive-btn{justify-self:end}.library-mobile-row{flex:none;grid-template-columns:42px minmax(0,1fr);align-items:stretch;gap:6px;min-height:0;display:grid}.library-mobile-plus-btn{color:#1d4ed8;background:#dbeafed1;border:1px solid #3b82f638;border-radius:12px;justify-content:center;align-self:stretch;align-items:center;width:42px;min-width:42px;min-height:100%;font-size:1.25rem;font-weight:800;line-height:1;display:inline-flex}.library-list-scroller{min-width:0;overflow:hidden visible}.library-add-block{text-align:left;align-items:stretch;width:100%;padding:0}.library-mobile-add-btn{color:#1d4ed8;background:#dbeafed1;border-color:#3b82f638;border-radius:999px;flex-shrink:0;justify-content:center;justify-self:end;align-items:center;padding:4px 9px;font-size:.68rem;font-weight:700;display:inline-flex}.workspace-dark .pane-library,.workspace-dark .pane-editor,.workspace-dark .pane-preview,.workspace-dark .editor-toolbar{background:#000}@media (width<=900px){.library-list{grid-auto-columns:max-content;gap:4px}.library-item-mobile{min-height:68px;position:relative}.library-item-mobile .library-item-primary{background:#fff;border-width:2px;border-radius:6px;width:100%;height:100%;padding:8px}.is-chords-only-mobile .library-list{gap:4px}.is-chords-only-mobile .library-item-mobile{width:61px;min-width:61px;height:45px;min-height:45px}.is-chords-only-mobile .library-item-mobile .library-item-primary{justify-content:center;align-items:center;width:61px;min-width:61px;height:45px;min-height:45px;padding:0 4px}.is-chords-only-mobile .chord-insert-label{white-space:normal;justify-content:flex-start;align-items:center;height:100%;padding:0}.is-chords-only-mobile .chord-insert-label-text{overflow-wrap:anywhere;text-align:left;white-space:normal;word-break:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:100%;display:-webkit-box;overflow:hidden}.chord-insert-label{width:auto;max-width:58px;padding:0 0 1px;overflow:visible}.chord-insert-label-text{max-width:58px;line-height:1.12;overflow:visible}.library-item-diagram{width:auto;min-height:27px;margin-right:-1px}.library-item-diagram svg{display:block}.editor-marker-controls{--marker-mini-h:clamp(18px, 4.8vw, 22px);--marker-mini-gap:2px;--marker-row-h:calc(var(--marker-mini-h) * 2 + var(--marker-mini-gap))}.editor-marker-btn-horizontal{min-width:clamp(44px,12vw,52px);min-height:var(--marker-row-h)}.editor-marker-btn-vertical{min-width:clamp(72px,19vw,84px);min-height:var(--marker-mini-h)}.editor-marker-btn-triangle{font-size:clamp(1.08rem,4.7vw,1.24rem)}.editor-marker-btn-action{font-size:clamp(1rem,4.6vw,1.16rem)}.editor-marker-btn-stack{align-self:center}}.preview-cell-text{display:block}.preview-fretboard-shift>svg{margin-left:calc((var(--preview-fretboard-offset) * -1) - 1px)}.workspace-dark .pane{box-shadow:none;border-color:#3a3a3a}.workspace-dark .pane-header{border-bottom-color:#3a3a3a}.workspace-dark .pane-title,.workspace-dark .pane-subtitle,.workspace-dark .editor-mobile-form-bpm-label,.workspace-dark .library-mobile-title{color:#f8fafc}.workspace-dark .library-mobile-plus-btn,.workspace-dark .library-mobile-add-btn{color:#bfdbfe;background:#1e293beb;border-color:#60a5fa38}.library-add-content{text-align:left;align-items:stretch}.library-scroll-area{padding-right:0;overflow:hidden}.preview-settings-sheet-backdrop{z-index:1200;background:#0f172a6b;justify-content:stretch;align-items:flex-end;display:flex;position:fixed;inset:0}.preview-settings-sheet{background:var(--surface);border-top:1px solid var(--border);flex-direction:column;width:100%;max-height:min(74svh,620px);padding:10px 10px 12px;display:flex}.preview-settings-sheet-dark{background:#0f172a;border-top-color:#94a3b838}.preview-settings-sheet-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding-bottom:8px;display:flex}.preview-settings-sheet-dark .preview-settings-sheet-header{border-bottom-color:#94a3b838}.preview-settings-sheet-title{color:var(--text);font-size:.86rem;font-weight:900;display:block}.preview-settings-sheet-dark .preview-settings-sheet-title{color:#f8fafc}.preview-settings-sheet-close{border:1px solid var(--border);background:var(--surface-alt);justify-content:center;align-items:center;padding:5px 10px;font-size:.72rem;font-weight:800;display:inline-flex}.preview-settings-sheet-dark .preview-settings-sheet-close{color:#f8fafc;background:#1e293beb;border-color:#94a3b83d}.preview-settings-sheet-body{flex-direction:column;flex:1;gap:10px;min-height:0;padding-top:10px;display:flex;overflow-y:auto}.preview-settings-sheet-body .meta-group{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:flex-start;align-items:center;gap:8px 10px;margin-left:0;display:grid}.preview-settings-sheet-body .preview-color-title{grid-column:1/-1;margin-right:0}.preview-settings-sheet-dark .meta-group label,.preview-settings-sheet-dark .preview-color-title{color:#f8fafc}.library-add-help{display:none}.add-buttons{justify-content:flex-start}.add-panel{background:#f2f2f2;border:none;border-radius:12px;max-height:100%;padding:8px;overflow:hidden}.add-panel-row{flex-direction:column;align-items:flex-start;gap:4px}.add-panel-row label,.add-panel-label{min-width:0}.preset-candidate-list{scroll-snap-type:x proximity;flex-direction:row;align-items:stretch;gap:8px;max-height:none;padding:2px 2px 6px 0;overflow:auto hidden}.preset-candidate-item{scroll-snap-align:start;background:#f2f2f2;border:none;border-radius:12px;flex-direction:column;flex:0 0 108px;justify-content:center;align-items:center;gap:8px;min-width:108px;padding:8px 7px;display:flex;box-shadow:inset 0 0 0 1px #d0d0d0}.library-list{scroll-snap-type:x proximity;grid-template-rows:repeat(2,auto);grid-auto-columns:max-content;grid-auto-flow:column;gap:3px;padding:0 0 1px;display:grid;overflow:auto hidden}.library-item{scroll-snap-align:start;background:#efefef;border:none;border-radius:0;flex:0 0 134px;grid-template-columns:minmax(0,1fr) 40px;align-items:stretch;gap:5px;min-width:134px;padding:5px;display:grid;box-shadow:inset 0 0 0 1px #d0d0d0}.library-item-mobile{width:max-content;min-width:0;box-shadow:none;background:0 0;border:none;border-radius:0;flex:none;padding:0;display:block}.library-item-primary{min-width:0;min-height:68px;box-shadow:none;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px 6px;display:flex;border-width:1px!important;border-color:#d0d0d0!important}.library-item-mobile .library-item-primary{justify-content:flex-start;align-items:stretch;gap:0;width:fit-content;min-width:0;min-height:56px;padding:1px 0 0}.chord-insert-btn{text-align:left;padding:2px 5px;font-size:.72rem}.chord-insert-label{white-space:nowrap;text-align:center;justify-content:center;align-self:stretch;width:100%;max-width:100%;padding-bottom:2px;display:flex;overflow:hidden}.chord-insert-label-text{text-overflow:clip;white-space:nowrap;text-align:center;width:auto;min-width:0;line-height:1.18;display:block;overflow:visible}.library-item-diagram{justify-content:flex-start;align-items:center;width:fit-content;min-height:23px}.library-item-actions{flex-direction:column;justify-content:center;align-self:stretch;gap:6px;padding-left:0}.library-action-btn{background:#fff;border-color:#d0d0d0;justify-content:center;align-items:center;width:100%;min-width:0;min-height:24px;padding:3px;font-size:.62rem;line-height:1.1;display:flex}.library-empty{background:#f2f2f2;border:none;border-radius:12px;flex:0 0 134px;justify-content:center;align-items:center;min-width:134px;padding:10px;font-size:.72rem;display:flex}.preset-candidate-diagram{justify-content:center;min-height:44px}.preset-add-btn{border-radius:999px;place-self:stretch;width:100%;padding:5px 6px;font-size:.68rem}.lyrics-editor-wrap{min-height:0;box-shadow:none;background:0 0;border:none;border-radius:0;flex-direction:column;gap:6px;display:flex;overflow:visible}.editor-toolbar{flex:none;justify-content:flex-end;gap:3px;padding:0}.editor-marker-controls{--marker-mini-h:clamp(18px, 4.4vw, 22px);--marker-mini-gap:2px;--marker-row-h:calc(var(--marker-mini-h) * 2 + var(--marker-mini-gap));--marker-side-w:clamp(30px, 7.8vw, 36px);--marker-stack-w:clamp(45px, 11.8vw, 54px);--marker-icon-size:clamp(16px, 4.25vw, 20px);--marker-action-size:clamp(18px, 4.45vw, 22px);flex:none;justify-content:flex-start;align-items:center;gap:clamp(2px,.9vw,4px);padding:0}.editor-toolbar-row{flex-wrap:nowrap;align-items:flex-start;gap:clamp(4px,1vw,6px)}.editor-marker-btn-stack{gap:var(--marker-mini-gap)}.editor-marker-btn{min-width:28px;min-height:var(--marker-mini-h);border-radius:7px;justify-content:center;align-items:center;padding:0 clamp(3px,.9vw,5px);font-size:1rem;line-height:1;display:inline-flex}.editor-marker-btn-triangle{padding-inline:0}.editor-marker-btn-action{padding-inline:clamp(3px,.9vw,5px)}.editor-marker-btn-horizontal{min-width:var(--marker-side-w);min-height:var(--marker-row-h)}.editor-marker-btn-vertical{min-width:var(--marker-stack-w)}.editor-marker-triangle-icon{width:var(--marker-icon-size);height:var(--marker-icon-size);fill:currentColor;flex:none;display:block}.editor-marker-triangle-icon-up{transform:rotate(0)}.editor-marker-triangle-icon-right{transform:rotate(90deg)}.editor-marker-triangle-icon-down{transform:rotate(180deg)}.editor-marker-triangle-icon-left{transform:rotate(-90deg)}.editor-marker-action-glyph{font-size:var(--marker-action-size);line-height:1;display:inline-block}.editor-toolbar{gap:clamp(2px,.6vw,4px)}.editor-toolbar-btn{padding-left:clamp(8px,2.2vw,12px);padding-right:clamp(8px,2.2vw,12px)}.editor-toolbar-spacer{display:none}.editor-toolbar-btn{padding:3px 7px;font-size:11px}.pane-heading-row{gap:8px}.pane-destructive-btn{padding:4px 8px;font-size:.64rem}.action-dialog-backdrop{align-items:flex-end;padding:10px}.action-dialog{border-radius:14px 14px 0 0;width:min(100%,420px);padding:14px 12px 12px}.editor-toolbar-popup{width:min(240px,100vw - 20px);max-width:min(240px,100vw - 20px);margin-top:3px;left:auto;right:0}.library-add-sheet-backdrop{z-index:1200;background:#0f172a6b;justify-content:stretch;align-items:flex-end;display:flex;position:fixed;inset:0}.library-add-sheet{background:var(--surface);border-top:1px solid var(--border);flex-direction:column;width:100%;max-height:min(74svh,600px);padding:10px 10px 12px;display:flex}.library-add-sheet-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding-bottom:8px;display:flex}.library-add-sheet-title{color:var(--text);font-size:.86rem;font-weight:900;display:block}.library-add-sheet-close{border:1px solid var(--border);background:var(--surface-alt);justify-content:center;align-items:center;padding:5px 10px;font-size:.72rem;font-weight:800;display:inline-flex}.library-add-sheet-body{flex-direction:column;flex:1;gap:8px;min-height:0;padding-top:10px;display:flex;overflow-y:auto}.editor-scroll-region{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r);flex:auto;margin-right:0;padding-right:0}.editor-content-surface{flex:auto;min-height:168px}.editor-placeholder{font-size:.92rem;top:10px;left:10px}.tiptap-editor{padding:10px 10px 12px;font-size:.95rem;line-height:2}.preview-pane{min-width:0;max-width:none;box-shadow:none;border-radius:0;padding:8px 14px 10px}.preview-top{margin-bottom:6px;padding-bottom:6px}.preview-title{font-size:1rem}.preview-lyrics{gap:8px;padding-top:5px}.preview-line-body{gap:4px 3px;line-height:1.38}.preview-chord-only-row{column-gap:var(--preview-chord-column-gap,12px);row-gap:var(--preview-chord-row-gap,4px);padding-top:2px;padding-bottom:2px}.preview-chord-only-item{gap:var(--preview-chord-cell-gap,0px)}.preview-chord-block{margin-bottom:0}.preview-chord-name{margin-bottom:0;font-size:.84rem;line-height:1}.preview-cell{gap:var(--preview-chord-cell-gap,0px);font-size:.96rem}.pane-body-preview{margin:0;padding-bottom:4px;padding-left:8px;padding-right:8px;overflow-x:hidden}.workspace-preview-only{padding:0}.workspace.workspace-preview-only>.pane-preview{width:100%;padding:0;overflow:hidden auto;box-shadow:none!important;background:0 0!important;border:none!important;border-radius:0!important}.workspace.workspace-preview-only>.pane-preview>.pane-header-preview{display:none}.workspace.workspace-preview-only>.pane-preview>.pane-body-preview{flex-direction:column;flex:none;margin:0;padding:6px 8px 12px;display:flex;overflow:visible}.workspace-preview-only .pane-inline-toggle{align-self:flex-start}.workspace.workspace-preview-only>.pane-preview>.pane-body-preview .preview-pane{width:100%;max-width:none;padding:10px 12px 12px;box-shadow:none!important;border:none!important;border-radius:0!important}.workspace-preview-only .pane-preview-dark{background:#1c1c1c}.workspace-preview-only .pane-preview-dark .pane-header-preview{background:#1c1c1c;border-bottom-color:#3a3a3a}.workspace-preview-only .pane-preview-dark .preview-pane{background:#000}.workspace-preview-only .pane-preview-dark .pane-inline-toggle{color:#bfdbfe;background:#1e293beb;border-color:#60a5fa47}.workspace-preview-only.workspace-dark,.mobile-preview-dark-shell,.mobile-preview-dark-shell .workspace,.mobile-preview-dark-shell .workspace-preview-only{background:#000}.mobile-preview-dark-shell .workspace-preview-only .pane-preview,.mobile-preview-dark-shell .workspace-preview-only .pane-header-preview,.mobile-preview-dark-shell .workspace-preview-only .pane-body-preview{box-shadow:none;background:#000;border:none;outline:none}.app-footer{padding:7px 10px 9px;font-size:.62rem}.mobile-preview-dark-shell .workspace-preview-only .pane-preview{padding:0}.mobile-preview-dark-shell .workspace-preview-only .pane-header-preview{margin:0;padding:6px 6px 8px}.mobile-preview-dark-shell .workspace-preview-only .preview-pane{box-shadow:none;background:#000;border:none;outline:none}.workspace-dark .title-input,.workspace-dark .artist-input{color:#fff;background:#242424;border-bottom-color:#3a3a3a}.workspace-dark .editor-mobile-form{padding-top:0}.workspace-dark .bpm-input,.workspace-dark .editor-mobile-form-bpm-input{color:#fff;background:#242424;border-color:#3a3a3a}.workspace-dark .lyrics-editor-wrap{background:#000}.workspace-dark .editor-content-surface,.workspace-dark .tiptap-editor,.workspace-dark .editor-scroll-region .ProseMirror{color:#fff;background:#242424;border-color:#3a3a3a}.workspace-dark .editor-scroll-region{background:#000;border:none}.workspace-dark .editor-song-meta-mobile,.workspace-dark .editor-mobile-form{background:#000}.workspace-dark .preview-pane{background:#000;border-color:#3a3a3a}.workspace-dark .library-item{gap:4px;padding:4px}.workspace-dark .library-item-mobile{box-shadow:none;background:0 0;padding:0}.workspace-dark .library-item-primary{gap:1px;min-height:64px;padding:3px 5px}.workspace-dark .library-item-mobile .library-item-primary{width:fit-content;min-width:0;min-height:56px;padding:1px 0 0}.workspace-dark .library-item-diagram{min-height:23px}.workspace-dark .library-item-actions{gap:4px}.workspace-dark .library-action-btn{min-height:22px;padding:2px 3px}.workspace-dark .editor-marker-btn{color:#f8fafc;background:#1f1f1f;border-color:#3a3a3a}.workspace-dark .mobile-insert-marker-caret{background:#60a5fa;box-shadow:0 0 0 1px #60a5fa2e}.workspace-dark .mobile-insert-marker-plus{color:#fff;background:#1d4ed8}.library-mobile-detail-backdrop{z-index:1300;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation;background:#00000075;display:block;position:fixed;inset:0}.library-mobile-detail-sheet{background:var(--surface);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation;border-radius:14px;flex-direction:column;gap:10px;padding:10px 10px 12px;display:flex;position:fixed;box-shadow:0 14px 30px #00000047}.library-mobile-detail-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.library-mobile-detail-title{color:var(--text);font-size:.96rem;font-weight:900}.library-mobile-detail-close{color:#1f1f1f;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#f2f2f2;border:none;border-radius:999px;padding:5px 10px;font-size:.72rem;font-weight:800}.library-mobile-detail-preview{background:#f2f2f2;border-radius:14px;justify-content:center;align-items:center;min-height:92px;display:flex}.library-mobile-detail-actions{gap:8px;display:flex}.library-mobile-detail-actions .library-action-btn{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;flex:1;min-height:34px;font-size:.78rem}.workspace-dark .library-mobile-detail-sheet{background:#1c1c1c}.workspace-dark .library-mobile-detail-title{color:#fff}.workspace-dark .library-mobile-detail-close{color:#fff;background:#242424}.workspace-dark .library-mobile-detail-actions .library-action-btn{background:#242424;border-color:#3a3a3a}.library-item-mobile,.library-item-mobile .library-item-primary,.library-mobile-plus-btn,.chord-token-wrapper,.chord-token,.chord-token-html{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}}.library-list-chords-only .library-item-primary{flex-direction:column;justify-content:center;align-items:stretch;gap:0;width:61px;min-width:61px;max-width:61px;height:45px;min-height:45px;padding:0 4px;display:flex}.library-list-chords-only .chord-insert-label{text-align:left;white-space:normal;justify-content:flex-start;align-self:stretch;align-items:center;width:100%;max-width:100%;height:100%;padding:0;display:flex;overflow:hidden}.library-list-chords-only .chord-insert-label-text{overflow-wrap:anywhere;text-align:left;white-space:normal;word-break:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:100%;display:-webkit-box;overflow:hidden}:root{--preview-a4-width:794px}.preview-only-view,.pane-body-preview,.workspace.workspace-preview-only>.pane-preview,.workspace.workspace-preview-only>.pane-preview>.pane-body-preview{overflow-x:auto}.preview-pane,.preview-only-view .preview-pane,.workspace.workspace-preview-only>.pane-preview>.pane-body-preview .preview-pane{flex:0 0 var(--preview-a4-width);width:var(--preview-a4-width);min-width:var(--preview-a4-width);max-width:var(--preview-a4-width);border-radius:var(--r);margin-left:auto;margin-right:auto;padding:28px 36px}.preview-scale-frame{flex:none;width:100%;min-width:0;overflow:hidden}.preview-scale-content{width:var(--preview-a4-width);transform-origin:0 0}.workspace-mobile.workspace-preview-only>.pane-preview,.workspace-mobile.workspace-preview-only>.pane-preview>.pane-body-preview{overflow-x:hidden}.workspace-mobile.workspace-preview-only,.workspace-mobile.workspace-preview-only>.pane-preview{flex:auto;min-height:0}.workspace-mobile.workspace-preview-only>.pane-preview>.pane-body-preview{flex:auto;min-height:0;overflow-y:auto}.preview-top{margin-bottom:20px;padding-bottom:12px}.preview-title{font-size:1.6rem}.preview-lyrics{padding-top:0;display:block}
