:root{--color-primary:#007aff;--color-primary-dark:#0056b3;--color-primary-light:#e3f2fd;--color-accent:#ff9500;--color-accent-light:#fff3e0;--color-success:#28a745;--color-success-light:#e8f5e8;--color-danger:#dc3545;--color-danger-dark:#c82333;--color-danger-light:#ffebee;--color-warning:#ffc107;--color-warning-light:#fff3e0;--color-secondary:#6c757d;--color-secondary-dark:#5a6268;--color-bg-primary:#f5f5f5;--color-bg-secondary:#f0f0f0;--color-bg-card:#fff;--color-bg-hover:#f0f0f0;--color-bg-selected:#e3f2fd;--color-text-primary:#333;--color-text-secondary:#666;--color-text-muted:#999;--color-text-inverse:#fff;--color-border:#e0e0e0;--color-border-light:#ddd;--color-border-focus:#007aff;--shadow-sm:0 1px 2px #0000001a;--shadow-md:0 2px 4px #0000001a;--shadow-lg:0 4px 8px #0000001a;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-full:50%;--font-size-xs:12px;--font-size-sm:14px;--font-size-md:16px;--font-size-lg:18px;--font-size-xl:20px;--font-size-2xl:24px;--font-size-3xl:28px;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.2;--line-height-normal:1.5;--line-height-relaxed:1.75;--transition-fast:0.1s ease;--transition-normal:0.15s ease;--transition-slow:0.3s ease;--z-dropdown:100;--z-sticky:200;--z-modal-backdrop:900;--z-modal:1000;--z-tooltip:1100;--header-height:70px;--header-height-mobile:60px;--sidebar-width:280px;--card-padding:16px;--button-height:40px;--button-height-sm:32px;--input-height:44px;--mobile-small:359px;--mobile-large:767px;--tablet-small:1023px;--tablet-large:1199px;--desktop-small:1439px;--desktop-large:1919px;--desktop-xlarge:1920px;--min-touch-target:44px;--min-touch-target-desktop:32px;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--spacing-3xl:64px;--font-scale-mobile-small:0.9;--font-scale-mobile-large:1.0;--font-scale-tablet-small:1.1;--font-scale-desktop:1.2;--container-padding-mobile:12px;--container-padding-tablet:24px;--container-padding-desktop:32px;--header-height-mobile:120px;--header-height-tablet:80px;--header-height-desktop:72px;--modal-width-mobile:100vw;--modal-height-mobile:100vh;--modal-width-tablet:80vw;--modal-height-tablet:80vh;--modal-width-desktop:60vw;--modal-height-desktop:70vh;--modal-max-width:800px;--transition-fast:0.15s;--transition-normal:0.2s;--transition-slow:0.3s;--z-header:100;--z-sidebar:200;--z-modal-backdrop:1000;--z-modal:1001;--z-tooltip:1002}@media (max-width:359px){:root{--current-font-scale:var(--font-scale-mobile-small);--current-container-padding:var(--container-padding-mobile);--current-header-height:var(--header-height-mobile);--current-min-touch-target:var(--min-touch-target)}.responsive-text{font-size:.9rem;font-size:calc(1rem*var(--font-scale-mobile-small))}.responsive-container{padding:12px;padding:var(--container-padding-mobile)}}@media (max-width:767px){:root{--current-font-scale:var(--font-scale-mobile-large);--current-container-padding:var(--container-padding-mobile);--current-header-height:var(--header-height-mobile);--current-min-touch-target:var(--min-touch-target)}.responsive-grid{grid-template-columns:1fr}.responsive-modal{border-radius:0;height:100vh;height:var(--modal-height-mobile);width:100vw;width:var(--modal-width-mobile)}.responsive-touch-target{min-height:44px;min-height:var(--min-touch-target);min-width:44px;min-width:var(--min-touch-target)}}@media (max-width:1023px){:root{--current-font-scale:var(--font-scale-tablet-small);--current-container-padding:var(--container-padding-tablet);--current-header-height:var(--header-height-tablet);--current-min-touch-target:var(--min-touch-target)}.responsive-grid{grid-template-columns:1fr 2fr}.responsive-modal{border-radius:12px;height:80vh;height:var(--modal-height-tablet);width:80vw;width:var(--modal-width-tablet)}}@media (max-width:1199px){:root{--current-font-scale:var(--font-scale-tablet-small);--current-container-padding:var(--container-padding-tablet);--current-header-height:var(--header-height-tablet);--current-min-touch-target:var(--min-touch-target)}.responsive-grid{grid-template-columns:250px 1fr}}@media (max-width:1439px){:root{--current-font-scale:var(--font-scale-desktop);--current-container-padding:var(--container-padding-desktop);--current-header-height:var(--header-height-desktop);--current-min-touch-target:var(--min-touch-target-desktop)}.responsive-grid{grid-template-columns:250px 1fr 300px}.responsive-modal{border-radius:16px;height:70vh;height:var(--modal-height-desktop);max-width:800px;max-width:var(--modal-max-width);width:60vw;width:var(--modal-width-desktop)}}@media (max-width:1919px){:root{--current-font-scale:var(--font-scale-desktop);--current-container-padding:var(--container-padding-desktop);--current-header-height:var(--header-height-desktop);--current-min-touch-target:var(--min-touch-target-desktop)}.responsive-grid{grid-template-columns:280px 1fr 320px}}@media (min-width:1920px){:root{--current-font-scale:var(--font-scale-desktop);--current-container-padding:var(--container-padding-desktop);--current-header-height:var(--header-height-desktop);--current-min-touch-target:var(--min-touch-target-desktop)}.responsive-grid{grid-template-columns:320px 1fr 360px}}.responsive-hide-desktop,.responsive-hide-mobile,.responsive-hide-tablet{@media (min-width:1200px){display:none!important}}.responsive-show-desktop,.responsive-show-mobile,.responsive-show-tablet{display:none;@media (min-width:1200px){display:block!important}}.responsive-container{margin:0 auto;max-width:100%;padding:var(--current-container-padding)}.responsive-grid{grid-gap:24px;grid-gap:var(--spacing-lg);display:grid;gap:24px;gap:var(--spacing-lg);height:100vh}.responsive-flex-stack{display:flex;flex-direction:column;gap:16px;gap:var(--spacing-md);@media (min-width:768px){align-items:center;flex-direction:row}}.responsive-touch-target{-webkit-tap-highlight-color:transparent;align-items:center;cursor:pointer;display:flex;justify-content:center;min-height:var(--current-min-touch-target);min-width:var(--current-min-touch-target);-webkit-user-select:none;user-select:none}.responsive-modal-backdrop{background:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1000;z-index:var(--z-modal-backdrop);@media (max-width:767px){background:#0000}}.responsive-modal{background:#fff;box-shadow:0 20px 40px #00000026;left:50%;max-height:90vh;overflow:auto;position:fixed;top:50%;transform:translate(-50%,-50%);z-index:1001;z-index:var(--z-modal);@media (max-width:767px){border-radius:0!important;height:100vh!important;left:0;max-height:none;top:0;transform:none;width:100vw!important}}.responsive-header{background:#fff;border-bottom:1px solid #e0e0e0;height:var(--current-header-height);padding:var(--current-container-padding);z-index:100;z-index:var(--z-header);@media (min-width:1200px){grid-gap:24px;grid-gap:var(--spacing-lg);align-items:center;display:grid;gap:24px;gap:var(--spacing-lg);grid-template-columns:1fr 2fr 1fr}@media (min-width:768px) and (max-width:1199px){align-items:center;display:flex;flex-wrap:wrap;gap:16px;gap:var(--spacing-md)}@media (max-width:767px){display:flex;flex-direction:column;gap:8px;gap:var(--spacing-sm);padding-bottom:8px;padding-left:16px;padding-right:16px;padding-top:8px;padding:var(--spacing-sm) var(--spacing-md)}}.responsive-slide-in{animation:slideIn .2s ease-out;animation:slideIn var(--transition-normal) ease-out}.responsive-fade-in{animation:fadeIn .2s ease-out;animation:fadeIn var(--transition-normal) ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.responsive-text{font-size:calc(1rem*var(--current-font-scale));line-height:1.5}.responsive-heading-1{font-size:calc(2rem*var(--current-font-scale));font-weight:700;line-height:1.2}.responsive-heading-2{font-size:calc(1.5rem*var(--current-font-scale));font-weight:600;line-height:1.3}.responsive-heading-3{font-size:calc(1.25rem*var(--current-font-scale));font-weight:600;line-height:1.4}.responsive-focus-visible{outline:2px solid #007aff;outline-offset:2px}@media (max-width:767px){.responsive-focus-visible{outline-width:3px}}@media print{.responsive-hide-print{display:none!important}.responsive-modal{border:1px solid #000!important;box-shadow:none!important;position:static!important;transform:none!important}}body{background-color:var(--color-bg-primary);color:var(--color-text-primary);font-size:var(--font-size-md);line-height:var(--line-height-normal)}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}button{border:none;font-family:inherit;transition:var(--transition-normal)}.btn-primary{background-color:var(--color-primary);border-radius:var(--radius-sm);color:var(--color-text-inverse);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);padding:var(--spacing-sm) var(--spacing-md)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-dark)}.btn-secondary{background-color:var(--color-bg-secondary);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);padding:var(--spacing-sm) var(--spacing-md)}.btn-secondary:hover:not(:disabled){background-color:var(--color-bg-hover)}.btn-danger{background-color:var(--color-danger);border-radius:var(--radius-sm);color:var(--color-text-inverse);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);padding:var(--spacing-sm) var(--spacing-md)}.btn-danger:hover:not(:disabled){background-color:#b91c1c}input,select,textarea{background-color:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);color:var(--color-text-primary);font-family:inherit;font-size:var(--font-size-md);padding:var(--spacing-sm) var(--spacing-md);transition:var(--transition-normal)}input:focus,select:focus,textarea:focus{border-color:var(--color-border-focus);outline:none}.card{background-color:var(--color-bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--card-padding)}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.text-danger{color:var(--color-danger)}h1,h2,h3,h4,h5,h6{color:var(--color-text-primary);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);margin:0}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-xl)}h3{font-size:var(--font-size-lg)}h4{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold)}@media (prefers-contrast:high){.App,.high-contrast-mode{background:#fff!important;border-color:#000!important;color:#000!important}.high-contrast-mode .chord-container,.high-contrast-mode .lyrics-row-touchable,.high-contrast-mode button,.high-contrast-mode input,.high-contrast-mode select,.high-contrast-mode textarea{background:#fff!important;border:3px solid #000!important;color:#000!important;font-weight:700!important}.high-contrast-mode button:hover,.high-contrast-mode input:hover,.high-contrast-mode select:hover,.high-contrast-mode textarea:hover{background:#000!important;border-color:#fff!important;color:#fff!important}.high-contrast-mode .chord-container:focus,.high-contrast-mode .lyrics-row-touchable:focus,.high-contrast-mode button:focus,.high-contrast-mode input:focus,.high-contrast-mode select:focus,.high-contrast-mode textarea:focus{box-shadow:0 0 0 2px #000,0 0 0 6px #ff0!important;outline:4px solid #ff0!important;outline-offset:3px!important}.high-contrast-mode .chord-text{color:#000!important;font-weight:700!important}.high-contrast-mode .spinner{border-color:#fff #000 #000!important}.high-contrast-mode .recording-indicator .pulse-dot{background:#000!important}}.high-contrast-mode{filter:contrast(200%) brightness(1.2)}.high-contrast-mode canvas,.high-contrast-mode img,.high-contrast-mode video{filter:contrast(150%) brightness(1.1)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.spinner{border:4px solid #ccc;border-top-color:#007aff}.pulse-dot,.spinner{animation:none!important}.pulse-dot{opacity:1!important}.recording-indicator .pulse-dot{background:#f44}.skip-links__link:active{transform:none!important}}.reduced-motion *,.reduced-motion :after,.reduced-motion :before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reduced-motion .spinner{animation:none!important;border-top-color:#007aff!important}.reduced-motion .pulse-dot{animation:none!important;background:#f44!important;opacity:1!important}.keyboard-navigation :focus{box-shadow:0 0 0 1px #fff,0 0 0 4px #005fcc!important;outline:3px solid #005fcc!important;outline-offset:3px!important;position:relative;z-index:10}.keyboard-navigation .skip-links__link:focus{box-shadow:0 0 0 1px #000,0 0 0 4px #005fcc!important;outline:3px solid #005fcc!important;outline-offset:3px!important}.focus-trap-active{position:relative}.focus-trap-active:before{border:2px dashed #005fcc;bottom:-2px;content:"";left:-2px;pointer-events:none;position:absolute;right:-2px;top:-2px;z-index:1}.keyboard-navigation [tabindex]:focus,.keyboard-navigation a:focus,.keyboard-navigation button:focus,.keyboard-navigation input:focus,.keyboard-navigation select:focus,.keyboard-navigation textarea:focus{background-color:#005fcc1a!important;outline:3px solid #005fcc!important;outline-offset:2px!important}.keyboard-navigation .chord-container:focus{background:#005fcc33!important;transform:scale(1.05);z-index:10}.keyboard-navigation .lyrics-row-touchable:focus{background:#005fcc1a!important;outline:3px solid #005fcc!important;outline-offset:2px!important}.sr-only{clip:rect(0,0,0,0)!important;border:0!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}.sr-only:focus{clip:auto!important;background:#000!important;color:#fff!important;font-size:1rem!important;height:auto!important;margin:0!important;overflow:visible!important;padding:.5rem!important;position:static!important;white-space:normal!important;width:auto!important;z-index:9999!important}[aria-live]{height:1px;left:-10000px;overflow:hidden;position:absolute;width:1px}button{align-items:center;border-radius:4px;cursor:pointer;display:inline-flex;font-size:1rem;gap:.5rem;justify-content:center;line-height:1.5;min-height:44px;min-width:44px;padding:.5rem 1rem;text-align:center;text-decoration:none;transition:all .2s ease}button:disabled{cursor:not-allowed;opacity:.6}button:disabled:focus{outline:2px solid #ccc!important}input,select,textarea{border:2px solid #ccc;border-radius:4px;font-size:1rem;line-height:1.5;min-height:44px;padding:.75rem;transition:border-color .2s ease}input:focus,select:focus,textarea:focus{border-color:#005fcc;outline:3px solid #005fcc;outline-offset:2px}input:invalid,select:invalid,textarea:invalid{border-color:#d32f2f}input:invalid:focus,select:invalid:focus,textarea:invalid:focus{outline-color:#d32f2f}.required:after,[aria-required=true]:after{color:#d32f2f;content:" *";font-weight:700}[aria-invalid=true]{border-color:#d32f2f!important}.error-message{align-items:flex-start;color:#d32f2f;display:flex;font-size:.875rem;gap:.5rem;margin-top:.25rem}.error-message:before{content:"⚠️";flex-shrink:0}.success-message{align-items:flex-start;color:#388e3c;display:flex;font-size:.875rem;gap:.5rem;margin-top:.25rem}.success-message:before{content:"✓";flex-shrink:0}.modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#000000b3}.modal-content{background:#fff;border-radius:8px;box-shadow:0 10px 25px #0000004d;max-height:90vh;max-width:90vw;overflow-y:auto;padding:1.5rem;position:relative}.modal-content:focus{outline:3px solid #005fcc;outline-offset:-3px}.modal-close{align-items:center;background:#0000;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:1.5rem;justify-content:center;min-height:44px;min-width:44px;padding:.5rem;position:absolute;right:1rem;top:1rem}.modal-close:hover{background:#0000001a}.modal-close:focus{background:#005fcc1a;outline:3px solid #005fcc;outline-offset:2px}@media (max-width:768px){.chord-container,.lyrics-row-touchable,button,input,select,textarea{min-height:48px;min-width:48px}.skip-links__link{font-size:16px;padding:12px 16px}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){body,button,input,select,textarea{font-size:18px}}@media (max-width:1920px){.App{max-width:100vw;overflow-x:hidden}.editor-container{padding:.5rem}.chord-sections-container,.lyrics-row-touchable{word-wrap:break-word;overflow-wrap:break-word}.lyrics-row-touchable{white-space:pre-wrap}}@supports (font-size:1.25rem){.large-text{font-size:1.25rem;line-height:1.6}.large-text button,.large-text input,.large-text select,.large-text textarea{font-size:1.25rem;padding:1rem 1.25rem}}@media print{.modal-overlay,.skip-links,.sr-only,[aria-live]{display:none!important}.focus-trap-active:before{display:none}button{background:#0000;border:1px solid #000;color:#000}}:root{--color-text-primary:#000;--color-text-secondary:#333;--color-background-primary:#fff;--color-background-secondary:#f5f5f5;--color-accent:#005fcc;--color-error:#d32f2f;--color-success:#388e3c;--color-warning:#f57c00;--color-contrast-high:#000;--color-contrast-medium:#333;--color-contrast-low:#666}.error-indicator:before{content:"❌ "}.success-indicator:before{content:"✅ "}.warning-indicator:before{content:"⚠️ "}.info-indicator:before{content:"ℹ️ "}.keyboard-navigation :focus:after{border:3px dotted #005fcc;bottom:-3px;content:"";left:-3px;pointer-events:none;position:absolute;right:-3px;top:-3px}@keyframes safe-fade-in{0%{opacity:0}to{opacity:1}}@keyframes safe-slide-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.safe-animation{animation:safe-fade-in .3s ease}@media (prefers-reduced-motion:reduce){.safe-animation{animation:none}}.focus-fallback:focus{background:#005fcc1a!important;outline:3px solid #005fcc!important;outline-offset:2px!important}.App{background-color:#f5f5f5;min-height:100vh}.app-loading{align-items:center;background-color:#fff;display:flex;flex-direction:column;justify-content:center;min-height:100vh}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#007aff;height:40px;margin-bottom:16px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.app-loading p{color:#666;font-size:16px;margin:0}@media (max-width:768px){.App{padding:0}}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}.keyboard-navigation :focus{outline:2px solid #005fcc;outline-offset:2px}.high-contrast-mode{filter:contrast(150%)}.high-contrast-mode button,.high-contrast-mode input,.high-contrast-mode select,.high-contrast-mode textarea{background:#fff;border:2px solid #000;color:#000}.high-contrast-mode button:focus,.high-contrast-mode input:focus,.high-contrast-mode select:focus,.high-contrast-mode textarea:focus{outline:3px solid #ff0;outline-offset:2px}.reduced-motion *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reduced-motion .spinner{animation:none;border-top-color:#007aff}.skip-to-content{background:#000;border-radius:4px;color:#fff;left:-9999px;padding:8px 16px;position:absolute;text-decoration:none;z-index:999}.skip-to-content:focus{left:6px;top:6px}.skip-links{background:#0000;left:0;position:absolute;top:0;width:100%;z-index:9999}.skip-links__list{align-items:flex-start;display:flex;flex-direction:column;list-style:none}.skip-links__item,.skip-links__list{margin:0;padding:0}.skip-links__link{clip:auto;background:#000;border:2px solid #0000;border-radius:4px;color:#fff;font-size:14px;font-weight:600;height:auto;left:8px;overflow:visible;padding:8px 16px;position:absolute;text-decoration:none;top:-100px;transition:all .2s ease;white-space:nowrap;width:auto;z-index:10000}.skip-links__link:focus{outline:2px solid #005fcc;outline-offset:2px;top:8px}.skip-links__link:hover{background:#333;border-color:#005fcc}.skip-links__link:active{background:#005fcc;transform:translateY(1px)}.high-contrast-mode .skip-links__link{background:#fff;border:2px solid #000;color:#000;font-weight:700}.high-contrast-mode .skip-links__link:focus{background:#000;color:#fff;outline:3px solid #ff0;outline-offset:2px}.high-contrast-mode .skip-links__link:hover{background:#333;border-color:#ff0;color:#fff}.reduced-motion .skip-links__link{transition:none}.reduced-motion .skip-links__link:active{transform:none}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.keyboard-navigation .skip-links__link{box-shadow:0 4px 8px #0003}.keyboard-navigation .skip-links__link:focus{box-shadow:0 0 0 1px #fff,0 0 0 4px #005fcc;outline:3px solid #005fcc;outline-offset:3px}@media (max-width:768px){.skip-links__link{font-size:13px;left:4px;padding:6px 12px}.skip-links__link:focus{top:4px}}@media print{.skip-links{display:none}}
/*# sourceMappingURL=main.86d5749c.css.map*/