.analysis-filter-container{margin-top:1rem;margin-bottom:1rem;padding:1rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-panel);display:flex;flex-direction:column;gap:.75rem}.analysis-filter-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.analysis-filter-title{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.analysis-filter-active-count{font-size:.875rem;color:var(--text-secondary);font-weight:500}.analysis-filter-hint{margin:0;font-size:.875rem;color:var(--text-secondary)}.analysis-filter-nav{display:flex;flex-wrap:wrap;gap:.5rem}.analysis-filter-btn{padding:.5rem 1rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:all .2s}.analysis-filter-btn:hover{background:var(--bg-hover);border-color:var(--accent-primary)}.analysis-filter-btn.active{background:var(--accent-primary);color:var(--text-on-accent);border-color:var(--accent-primary)}.analysis-feedback{margin-top:1rem;padding:1rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-panel)}.analysis-status{font-weight:600;margin-bottom:.5rem;color:var(--text-primary)}.analysis-results{display:flex;flex-direction:column;gap:.5rem}.analysis-result-line{padding:.5rem;border-radius:4px;font-family:monospace;font-size:.9rem}.analysis-result-line.fit{background:#36b37e1a;color:var(--success)}.analysis-result-line.overflow{background:#ff5c5c1a;color:var(--error)}.analysis-result-line.underflow{background:#ffab001a;color:var(--warning)}.analysis-result-line.warning{background:color-mix(in srgb,var(--warning) 18%,transparent);color:var(--warning)}.analysis-result-line.success{background:color-mix(in srgb,var(--success) 18%,transparent);color:var(--success)}.analysis-result-line.info{background:color-mix(in srgb,var(--accent-primary) 12%,transparent);color:var(--accent-primary)}.analysis-status.running{color:var(--accent-primary)}.analysis-status.ready{color:var(--success)}.analysis-status.error{color:var(--error)}.stressed-syllable .note-rect{stroke:var(--accent-primary);stroke-width:2.5;fill:rgba(var(--accent-rgb),.2);filter:drop-shadow(0 2px 4px rgba(var(--accent-rgb),.3))}.unstressed-syllable .note-rect{stroke:var(--text-secondary);stroke-width:1.5;fill:rgba(var(--text-secondary),.15);filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.good-prosody .note-rect{border:3px solid var(--success);box-shadow:0 0 8px rgba(var(--success-rgb),.4)}.bad-prosody .note-rect{border:3px solid var(--error);box-shadow:0 0 12px rgba(var(--error-rgb),.6)}.prosody-neutral .note-rect{stroke:color-mix(in srgb,var(--accent-primary) 65%,transparent);stroke-width:2px;fill:color-mix(in srgb,var(--accent-primary) 18%,transparent);box-shadow:0 0 8px color-mix(in srgb,var(--accent-primary) 25%,transparent)}body[data-prosody-visibility=off] .lyrics-word.good-prosody,body[data-prosody-visibility=off] .lyrics-word.bad-prosody,body[data-prosody-visibility=off] .lyrics-word.prosody-neutral{background:transparent;outline:none;color:inherit}body[data-prosody-visibility=off] .lyrics-word.stressed-syllable,body[data-prosody-visibility=off] .lyrics-word.unstressed-syllable{border-bottom-color:transparent;font-weight:inherit}body[data-prosody-visibility=off] .note-group.good-prosody .note-rect,body[data-prosody-visibility=off] .note-group.bad-prosody .note-rect,body[data-prosody-visibility=off] .note-group.prosody-neutral .note-rect{stroke-width:0;stroke:none;box-shadow:none;filter:none}.good-prosody .note-rect:hover{box-shadow:0 0 16px rgba(var(--success-rgb),.6);transition:box-shadow .2s ease}.bad-prosody .note-rect:hover{box-shadow:0 0 20px rgba(var(--error-rgb),.8);transition:box-shadow .2s ease}.note-group[data-tooltip]{position:relative;cursor:help}.note-group[data-tooltip]:hover:before{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background-color:var(--bg-inverse);color:var(--text-inverse);padding:8px 12px;border-radius:6px;font-size:.85rem;white-space:nowrap;z-index:1000;pointer-events:none;box-shadow:0 4px 12px #0000004d;max-width:300px;white-space:normal;text-align:center;line-height:1.3}.note-group[data-tooltip]:hover:after{content:"";position:absolute;bottom:calc(100% + 2px);left:50%;transform:translate(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid var(--bg-inverse);z-index:1000;pointer-events:none}.note-group.bad-prosody[data-tooltip]:hover:before{background-color:var(--error);color:#fff;border:2px solid var(--error-light)}.note-group.bad-prosody[data-tooltip]:hover:after{border-top-color:var(--error)}.note-group.good-prosody[data-tooltip]:hover:before{background-color:var(--success);color:#fff;border:2px solid var(--success-light)}.note-group.good-prosody[data-tooltip]:hover:after{border-top-color:var(--success)}@keyframes prosody-pulse{0%,to{opacity:1}50%{opacity:.7}}.prosody-analysis-card{margin-top:1.5rem;padding:1.25rem;border:1px solid var(--border-color);border-radius:10px;background:var(--bg-panel);display:flex;flex-direction:column;gap:1rem}.prosody-analysis-section{margin-top:0;padding-top:0;border-top:none}.prosody-analysis-section .h5-in-tab{margin:0 0 .5rem;font-size:.9rem;font-weight:600;color:var(--text-primary)}.prosody-description{margin:0;font-size:.8rem;color:var(--text-secondary);line-height:1.4}.prosody-action-row{display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap}#analyze-prosody-btn{flex:1;min-width:220px;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));color:#fff;border:none;border-radius:6px;font-weight:500;transition:all .2s ease;cursor:pointer}#analyze-prosody-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--accent-rgb),.3)}#analyze-prosody-btn:active{transform:translateY(0)}#analyze-prosody-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none;transform:none;box-shadow:none}#analyze-prosody-btn:disabled:hover{opacity:.5;transform:none}.prosody-mode-hint{flex:1;min-width:200px;font-size:.75rem;color:var(--text-secondary)}.prosody-visibility-toggle{margin-top:.5rem;display:inline-flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--text-secondary)}.switch-compact{width:32px;height:18px}.switch-compact .slider:before{height:12px;width:12px;left:3px;bottom:3px}.switch-compact input:checked+.slider:before{transform:translate(14px)}.prosody-visibility-label{font-weight:500}.btn-icon{font-size:1rem}.prosody-legend{margin-top:.5rem;padding:.75rem;background:var(--bg);border:1px solid var(--border-color);border-radius:6px}.legend-title{margin:0 0 .5rem;font-size:.8rem;font-weight:600;color:var(--text-primary)}.legend-items{display:flex;flex-direction:column;gap:.25rem}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--text-secondary)}.legend-color{width:12px;height:12px;border-radius:2px;border:1px solid var(--border-color);flex-shrink:0}.prosody-green-dark-preview{background:color-mix(in srgb,var(--success) 40%,transparent);border:2px solid var(--success);box-shadow:0 0 4px rgba(var(--success-rgb),.4);position:relative}.prosody-green-dark-preview:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--success)}.prosody-green-light-preview{background:color-mix(in srgb,var(--success) 20%,transparent);border:1px solid color-mix(in srgb,var(--success) 60%,transparent);box-shadow:0 0 4px rgba(var(--success-rgb),.2);position:relative}.prosody-green-light-preview:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--success);opacity:.6;border-top:1px dotted var(--success)}.prosody-orange-preview{background:color-mix(in srgb,#ff9800 45%,transparent);border:2px solid #ff9800;box-shadow:0 0 4px color-mix(in srgb,#ff9800 40%,transparent);position:relative}.prosody-orange-preview:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:#ff9800}.prosody-red-preview{background:color-mix(in srgb,var(--error) 45%,transparent);border:2px solid var(--error);box-shadow:0 0 4px color-mix(in srgb,var(--error) 40%,transparent);position:relative}.prosody-red-preview:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--error);opacity:.8;border-top:1px dotted var(--error)}.lyrics-word{display:inline;padding:.1rem 0;border-radius:4px;transition:background .2s ease,color .2s ease,border-color .2s ease,outline .2s ease}.lyrics-word.good-prosody.stressed-syllable{background-color:color-mix(in srgb,var(--success) 40%,transparent);outline:2px solid var(--success);outline-offset:-1px;border-bottom:3px solid var(--success);font-weight:600;color:var(--text-primary)}.lyrics-word.good-prosody.unstressed-syllable{background-color:color-mix(in srgb,var(--success) 20%,transparent);outline:1px solid color-mix(in srgb,var(--success) 60%,transparent);outline-offset:-1px;border-bottom:2px dotted var(--success);font-weight:400;color:var(--text-primary)}.lyrics-word.bad-prosody.stressed-syllable{background-color:color-mix(in srgb,#ff9800 45%,transparent);outline:2px solid #ff9800;outline-offset:-1px;border-bottom:3px solid #ff9800;font-weight:600;color:var(--text-primary)}.lyrics-word.bad-prosody.unstressed-syllable{background-color:color-mix(in srgb,var(--error) 45%,transparent);outline:2px solid var(--error);outline-offset:-1px;border-bottom:2px dotted var(--error);font-weight:400;color:var(--text-primary)}.lyrics-word.good-prosody:not(.stressed-syllable):not(.unstressed-syllable){background-color:color-mix(in srgb,var(--success) 25%,transparent);color:var(--text-primary)}.lyrics-word.bad-prosody:not(.stressed-syllable):not(.unstressed-syllable){background-color:color-mix(in srgb,var(--error) 25%,transparent);color:var(--text-primary)}.lyrics-word.prosody-neutral{background-color:color-mix(in srgb,var(--accent-primary) 15%,transparent);color:var(--text-primary)}.lyrics-word.stressed-syllable:not(.good-prosody):not(.bad-prosody){border-bottom:2px solid var(--accent-primary);font-weight:600}.lyrics-word.unstressed-syllable:not(.good-prosody):not(.bad-prosody){border-bottom:2px dotted color-mix(in srgb,var(--text-secondary) 60%,transparent);font-weight:400}.lyrics-word[data-tooltip]{position:relative}.lyrics-word[data-tooltip]:hover:before{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%);background:var(--bg-panel);color:var(--text-primary);border:1px solid var(--border-color);border-radius:6px;padding:.35rem .65rem;font-size:.7rem;white-space:nowrap;box-shadow:0 6px 16px #0000002e;z-index:20}.lyrics-word[data-tooltip]:hover:after{content:"";position:absolute;left:50%;bottom:calc(100% + 3px);transform:translate(-50%);border:6px solid transparent;border-top-color:var(--border-color)}.rhyme-validation-progress-container{margin-top:1rem;padding:.75rem;background:var(--bg-panel);border:1px solid var(--border-color);border-radius:6px;animation:slideDown .3s ease-out}.rhyme-validation-progress-container.hidden{display:none}.progress-bar-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.85rem;color:var(--text-secondary)}#rhyme-validation-counter{font-weight:600;color:var(--accent-primary)}.progress-bar-track{width:100%;height:8px;background:var(--bg);border-radius:4px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent-primary),var(--accent-secondary));border-radius:4px;transition:width .3s ease-out;width:0%}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.stress-marker{font-size:12px;font-weight:700;fill:var(--accent-primary);text-anchor:middle}.primary-btn{background:var(--accent-primary);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s ease}.primary-btn:hover{background:var(--accent-hover);transform:translateY(-1px)}.primary-btn:active{background:var(--accent-active);transform:translateY(0)}.primary-btn:disabled{background:var(--text-secondary);cursor:not-allowed;transform:none}:root{--z-base: 0;--z-float: 1000;--z-popover: 2000;--z-modal: 3000;--z-system-overlay: 8000;--z-adv-tooltips: 10000;--z-native-tooltips: 20000;--lyrics-row-height: 2rem;--lyrics-preview-row-padding-x: .5rem;--lyrics-subheader-padding-y: .75rem;--lyrics-subheader-padding-x: 1rem;--lyrics-sidebar-inline-padding: .9rem;--lyrics-sidebar-header-padding-x: calc( var(--lyrics-subheader-padding-x) + var(--lyrics-sidebar-inline-padding) );--lyrics-panel-body-padding: 1rem;--lyrics-comparison-width: clamp(260px, 30vw, 360px);--lyrics-comparison-handle-width: 10px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--bg-light: #edf1f5;--bg-panel-light: #ffffff;--text-primary-light: #172b4d;--text-secondary-light: #55637c;--border-light: #c2ccd9;--accent-primary-light: #0052cc;--accent-rgb-light: 0, 82, 204;--accent-hover-light: #0065ff;--accent-active-light: #0747a6;--btn-secondary-bg-light: #e8edf4;--btn-secondary-hover-light: #dde5f0;--error-light: #de350b;--error-bg-light: #ffebe6;--success-light: #00875a;--warning-light: #ffab00;--line-bg-even-light: rgba(66, 82, 110, .04);--line-bg-odd-light: transparent;--selection-highlight-light: rgba(0, 82, 204, .1);--playing-highlight-light: rgba(0, 135, 90, .15);--bg-dark: #1e2025;--bg-panel-dark: #282a30;--text-primary-dark: #e0e2e8;--text-secondary-dark: #a0a6b1;--border-dark: #444857;--accent-primary-dark: #4791ff;--accent-rgb-dark: 71, 145, 255;--accent-hover-dark: #63a4ff;--accent-active-dark: #2c7ef2;--btn-secondary-bg-dark: #3a3d46;--btn-secondary-hover-dark: #494d5a;--error-dark: #ff5c5c;--error-bg-dark: #5e2f2f;--success-dark: #36b37e;--warning-dark: #ffab00;--line-bg-even-dark: rgba(255, 255, 255, .03);--line-bg-odd-dark: transparent;--selection-highlight-dark: rgba(71, 145, 255, .15);--playing-highlight-dark: rgba(54, 179, 126, .2);--key-white-bg: #fff;--key-black-bg: #333;--key-white-text: #333;--key-black-text: #fff;--pitch-bg-white: #f7f7f7;--pitch-bg-black: #eee;--measure-line: #ccc;--beat-line: #e8e8e8;--quantize-line: #f0f0f0;--note-unassigned: #b3bac5;--note-missing-syllable: #ff8b00;--note-bad-prosody-color: #ffab00;--note-highlight: #ffdd57;--note-selection-stroke: #0052cc;--selection-rect-fill: rgba(71, 145, 255, .3);--selection-rect-stroke: #4791ff;--legato-color: #5e8cff;--legato-fill: rgba(94, 140, 255, .18);--legato-color-dark: #89a8ff;--legato-fill-dark: rgba(137, 168, 255, .25);--key-white-bg-dark: #4E515A;--key-black-bg-dark: #1e2025;--key-white-text-color: var(--key-white-text-dark);--key-black-text-color: var(--key-black-text-dark);--pitch-bg-white-dark: #2c2e34;--pitch-bg-black-dark: #26282d;--measure-line-dark: #555;--beat-line-dark: #444;--quantize-line-dark: #383a40;--note-unassigned-dark: #5a606d;--note-missing-syllable-dark: #ffab00;--note-bad-prosody-color-dark: #e89f0a;--note-highlight-dark: #f0c419;--note-selection-stroke-dark: #4791ff;--c-intro: #6c757d;--c-pre-chorus: #A36200;--c-bridge: #006F2C;--c-solo: #6f42c1;--c-outro: #6c757d;--c-default: #495057;--c-verse-1: #3080ff;--c-verse-2: #296de8;--c-verse-3: #225bc0;--c-chorus-1: #ff2f2f;--c-chorus-2: #e82a2a;--c-chorus-3: #c02323;--c-bg-intro: rgba(108, 117, 125, .38);--c-bg-pre-chorus: rgba(163, 98, 0, .38);--c-bg-bridge: rgba(0, 111, 44, .38);--c-bg-solo: rgba(111, 66, 193, .38);--c-bg-outro: rgba(108, 117, 125, .38);--c-bg-default: rgba(73, 80, 87, .38);--c-bg-verse-1: rgba(48, 128, 255, .38);--c-bg-verse-2: rgba(41, 109, 232, .38);--c-bg-verse-3: rgba(34, 91, 192, .38);--c-bg-chorus-1: rgba(255, 47, 47, .38);--c-bg-chorus-2: rgba(232, 42, 42, .38);--c-bg-chorus-3: rgba(192, 35, 35, .38)}body[data-theme=light]{--bg: var(--bg-light);--bg-panel: var(--bg-panel-light);--text-primary: var(--text-primary-light);--text-secondary: var(--text-secondary-light);--border-color: var(--border-light);--accent-primary: var(--accent-primary-light);--accent-rgb: var(--accent-rgb-light);--accent-hover: var(--accent-hover-light);--accent-active: var(--accent-active-light);--btn-secondary-bg: var(--btn-secondary-bg-light);--btn-secondary-hover: var(--btn-secondary-hover-light);--error: var(--error-light);--error-bg: var(--error-bg-light);--success: var(--success-light);--warning: var(--warning-light);--key-white: var(--key-white-bg);--key-black: var(--key-black-bg);--key-white-text-color: var(--key-white-text);--key-black-text-color: var(--key-black-text);--pitch-bg-w: var(--pitch-bg-white);--pitch-bg-b: var(--pitch-bg-black);--measure-l: var(--measure-line);--beat-l: var(--beat-line);--quantize-l: var(--quantize-line);--note-unassigned-color: var(--note-unassigned);--note-missing-color: var(--note-missing-syllable);--note-bad-prosody: var(--note-bad-prosody-color);--note-highlight-color: var(--note-highlight);--note-selection-color: var(--note-selection-stroke);--playhead-color: var(--error-light);--line-bg-even: var(--line-bg-even-light);--line-bg-odd: var(--line-bg-odd-light);--selection-highlight: var(--selection-highlight-light);--playing-highlight: var(--playing-highlight-light);--lyrics-multi-section-tint: 5%;--lyrics-multi-nav-active-section-mix: 14%;--key-separator-color: #ccc;--locator-range-fill: rgba(0, 0, 0, .16)}body[data-theme=dark]{--bg: var(--bg-dark);--bg-panel: var(--bg-panel-dark);--text-primary: var(--text-primary-dark);--text-secondary: var(--text-secondary-dark);--border-color: var(--border-dark);--accent-primary: var(--accent-primary-dark);--accent-rgb: var(--accent-rgb-dark);--accent-hover: var(--accent-hover-dark);--accent-active: var(--accent-active-dark);--btn-secondary-bg: var(--btn-secondary-bg-dark);--btn-secondary-hover: var(--btn-secondary-hover-dark);--error: var(--error-dark);--error-bg: var(--error-bg-dark);--success: var(--success-dark);--warning: var(--warning-dark);--key-white: var(--key-white-bg-dark);--key-black: var(--key-black-bg-dark);--key-white-text-color: var(--key-white-text-dark);--key-black-text-color: var(--key-black-text-dark);--pitch-bg-w: var(--pitch-bg-white-dark);--pitch-bg-b: var(--pitch-bg-black-dark);--measure-l: var(--measure-line-dark);--beat-l: var(--beat-line-dark);--quantize-l: var(--quantize-line-dark);--note-unassigned-color: var(--note-unassigned-dark);--note-missing-color: var(--note-missing-syllable-dark);--note-bad-prosody: var(--note-bad-prosody-color-dark);--note-highlight-color: var(--note-highlight-dark);--note-selection-color: var(--note-selection-stroke-dark);--playhead-color: var(--error-dark);--line-bg-even: var(--line-bg-even-dark);--line-bg-odd: var(--line-bg-odd-light);--selection-highlight: var(--selection-highlight-dark);--playing-highlight: var(--playing-highlight-dark);--key-separator-color: #2c2e34;--locator-range-fill: rgba(255, 255, 255, .12)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg);color:var(--text-primary);transition:background-color .2s ease,color .2s ease;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body.modal-open{overflow:hidden}h1,h2,h3,h4{font-weight:600}h3{font-size:.95rem}h4{font-size:.9rem;font-weight:600;margin:0;color:var(--text-secondary)}.app-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1.5rem;background-color:var(--bg-panel);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:100}body[data-theme=light] .app-header{background-color:color-mix(in srgb,var(--bg-panel) 86%,var(--bg) 14%);border-bottom-color:color-mix(in srgb,var(--border-color) 88%,transparent)}.logo{display:flex;align-items:center;gap:.75rem}.logo svg{flex-shrink:0;width:24px;height:24px;color:var(--accent-primary);stroke:currentColor;opacity:1;visibility:visible}.header-controls{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.project-controls{display:flex;gap:.5rem;border-right:1px solid var(--border-color);padding-right:.75rem}.transport-controls{display:flex;align-items:center;gap:.5rem;padding-right:.75rem;border-right:1px solid var(--border-color)}.transport-controls .icon-btn{width:32px;height:32px}.transport-controls #play-stop-btn,.transport-controls #cycle-btn{background-color:var(--btn-secondary-bg)}.transport-controls #play-stop-btn.playing,.transport-controls #cycle-btn.active{background-color:var(--accent-primary);color:#fff}body[data-theme=dark] .transport-controls #cycle-btn.active{background-color:var(--accent-active-dark)}.project-controls #undo-btn,.project-controls #redo-btn{padding:0;width:32px;height:32px}.project-controls button:disabled{color:var(--text-secondary);background-color:transparent;opacity:.5;cursor:not-allowed}.global-generate-btn{display:flex;align-items:center;gap:.5rem}.global-generate-btn .badge{background-color:var(--accent-primary);color:#fff;font-size:.7rem;font-weight:600;border-radius:50%;width:18px;height:18px;display:grid;place-content:center;transition:transform .2s ease}.global-generate-btn:hover .badge{transform:scale(1.1)}.global-generate-btn:disabled .badge{background-color:var(--text-secondary);opacity:.7}#ai-activity-indicator svg{transition:color .3s ease-in-out,transform .3s ease-in-out}#ai-activity-indicator[data-state=inactive] svg{color:var(--text-secondary)}#ai-activity-indicator[data-state=active] svg{color:var(--accent-primary);animation:pulse-ai 1.5s infinite cubic-bezier(.4,0,.6,1)}#ai-activity-indicator[data-state=error] svg{color:var(--error);animation:flash-ai .6s 2 ease-in-out}#ai-activity-indicator[data-state=warning] svg{color:var(--warning);animation:flash-ai 1.2s 1 ease-in-out}@keyframes pulse-ai{0%,to{transform:scale(1);filter:brightness(100%)}50%{transform:scale(1.15);filter:brightness(120%)}}@keyframes flash-ai{0%,to{transform:scale(1)}50%{transform:scale(1.25)}}.app-main{padding:1rem;display:flex;flex-direction:column;gap:1rem}.main-layout{--left-column-width: 380px;display:grid;grid-template-columns:minmax(260px,var(--left-column-width)) 10px minmax(0,1fr);gap:1rem;align-items:stretch}.left-column,.right-column{display:flex;flex-direction:column;min-width:0;min-height:0;gap:1rem}.right-column{--piano-roll-panel-size: 40vh;gap:1.1rem}.workspace-content{--analysis-sidebar-width: 420px;display:flex;align-items:stretch;gap:1.1rem;flex:1 1 auto;min-width:0;min-height:0}.workspace-main-stack{display:flex;flex:1 1 auto;flex-direction:column;gap:1.1rem;min-width:0;min-height:0}#resize-handle{cursor:col-resize;touch-action:none;position:relative;background-color:var(--bg);align-self:stretch}#resize-handle:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;background-color:var(--border-color);border-radius:2px;transition:background-color .2s ease}#resize-handle:hover:before{background-color:var(--accent-primary)}body.main-layout-column-resizing{cursor:col-resize;user-select:none}#structure-panel.panel{overflow-x:auto;overflow-y:visible}#structure-panel .panel-content{min-width:0}.app-footer{text-align:center;padding:1rem;font-size:.875rem;color:var(--text-secondary);border-top:1px solid var(--border-color)}.panel{background-color:var(--bg-panel);border-radius:12px;border:1px solid var(--border-color);overflow:hidden;box-shadow:0 1px 3px #0000000d,0 2px 8px #0000000d}body[data-theme=light] .panel{box-shadow:0 1px 2px #172b4d0d,0 4px 12px #172b4d12}.panel-header{padding:1rem 1.5rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;background:linear-gradient(135deg,rgba(var(--accent-rgb),.05) 0%,transparent 100%)}body[data-theme=light] .panel-header{background:linear-gradient(135deg,color-mix(in srgb,var(--accent-primary) 3%,transparent) 0%,transparent 100%)}.panel-header[draggable=true]{cursor:grab}.panel.is-dragging{opacity:.6;border:2px dashed var(--accent-primary)}.drag-over-placeholder{height:10px;background:color-mix(in srgb,var(--accent-primary) 50%,transparent);border-radius:5px;margin:-1px 0;transition:all .1s ease-out}.panel-content{padding:1rem}body[data-theme=light] .panel-content{background-color:color-mix(in srgb,var(--bg-panel) 96%,var(--bg) 4%)}.hidden,#ui-inspector-toggle,#ui-inspector-badge,#ui-inspector-last{display:none!important}.custom-scrollbar::-webkit-scrollbar{width:8px;height:8px}.custom-scrollbar::-webkit-scrollbar-track{background:transparent}.custom-scrollbar::-webkit-scrollbar-thumb{background-color:var(--border-color);border-radius:10px;border:2px solid var(--bg-panel)}button,select,input,textarea{font-family:inherit;font-size:.85rem;border-radius:6px;border:1px solid var(--border-color);background-color:var(--bg);color:var(--text-primary);padding:.45rem .7rem;transition:all .2s cubic-bezier(.4,0,.2,1)}button{background-color:var(--accent-primary);color:#fff;border-color:var(--accent-primary);cursor:pointer;font-weight:500;position:relative;overflow:hidden;-webkit-tap-highlight-color:transparent}button:after{content:"";position:absolute;inset:0;background:radial-gradient(circle,rgba(255,255,255,.4) 1%,transparent 80%);transform:scale(0);transition:transform .6s cubic-bezier(.25,.8,.25,1),opacity .8s;pointer-events:none;opacity:0}body[data-theme=light] button.secondary-btn:after,body[data-theme=light] button.icon-btn:after,body[data-theme=light] .language-switcher button:after{background:radial-gradient(circle,rgba(0,0,0,.1) 1%,transparent 80%)}button:hover:not(:disabled){background-color:var(--accent-hover);border-color:var(--accent-hover);transform:translateY(-1px);box-shadow:0 2px 8px rgba(var(--accent-rgb),.15)}button:active:not(:disabled){transform:translateY(0);background-color:var(--accent-active);border-color:var(--accent-active);box-shadow:inset 0 1px 2px #0000001a}button:active:after{transform:scale(3.5);opacity:1;transition:0s}button:disabled{opacity:.58;cursor:not-allowed;box-shadow:none;transform:none;background-color:var(--bg-panel)!important;color:var(--text-secondary)!important;border-color:var(--border-color)!important;position:relative}button.secondary-btn,.language-switcher button{background-color:var(--btn-secondary-bg);color:var(--text-primary);border:1px solid var(--border-color)}body[data-theme=light] button.secondary-btn,body[data-theme=light] .language-switcher button{border-color:color-mix(in srgb,var(--border-color) 62%,var(--accent-primary) 38%);box-shadow:inset 0 1px #ffffff73}button.secondary-btn:hover:not(:disabled),.language-switcher button:hover:not(:disabled){background-color:var(--btn-secondary-hover)}body[data-theme=light] button.secondary-btn:hover:not(:disabled),body[data-theme=light] .language-switcher button:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent-primary) 55%,var(--border-color));box-shadow:inset 0 1px #ffffff73,0 1px 3px rgba(var(--accent-rgb),.18);color:color-mix(in srgb,var(--text-primary) 78%,var(--accent-primary))}button.icon-btn{background:transparent;border:none;padding:.25rem;color:var(--text-secondary);width:32px;height:32px;display:grid;place-items:center;border-radius:50%}button.icon-btn:hover:not(:disabled){color:var(--text-primary);background-color:var(--btn-secondary-hover)}button[data-loading=true]{cursor:wait;pointer-events:none;color:transparent!important}button[data-loading=true]>*{opacity:0}button[data-loading=true]:after{content:"";position:absolute;top:50%;left:50%;width:16px;height:16px;margin-top:-8px;margin-left:-8px;border-radius:50%;border:2px solid rgba(255,255,255,.5);border-top-color:#fff;animation:spin 1s linear infinite;background:none;transform:none;transition:none;opacity:1;pointer-events:none}button.secondary-btn[data-loading=true]:after,button.icon-btn[data-loading=true]:after,.language-switcher button[data-loading=true]:after{border-color:rgba(var(--accent-rgb),.3);border-top-color:var(--accent-primary)}body[data-theme=light] button.secondary-btn[data-loading=true]:after,body[data-theme=light] button.icon-btn[data-loading=true]:after{border-color:#0003;border-top-color:var(--text-secondary-light)}.generate-action-btn-inline[data-loading=true]:after,.chord-analysis-btn-inline[data-loading=true]:after{border-color:#ffffff80;border-top-color:#fff}input:disabled,select:disabled,textarea:disabled{background-color:var(--btn-secondary-bg);cursor:not-allowed}button[title]{position:relative}button:disabled[title]{cursor:help!important}button:disabled[title]:hover:before{content:attr(title);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background-color:var(--bg-inverse);color:var(--text-inverse);padding:6px 12px;border-radius:4px;font-size:.8rem;white-space:nowrap;z-index:1000;pointer-events:none;box-shadow:0 2px 8px #0003}button:disabled[title]:hover:after{content:"";position:absolute;bottom:calc(100% + 2px);left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid var(--bg-inverse);z-index:1000;pointer-events:none}.analysis-input-group{display:flex;flex-direction:column;gap:.75rem}.analysis-buttons{display:flex;gap:.5rem;justify-content:flex-end}.analysis-buttons button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.9rem}.analysis-buttons button svg{width:16px;height:16px}.analysis-block{display:flex;flex-direction:column;gap:.9rem;padding:1rem;border:1px solid color-mix(in srgb,var(--border-color) 82%,transparent);border-radius:14px;background:linear-gradient(180deg,color-mix(in srgb,var(--bg-panel) 96%,transparent),color-mix(in srgb,var(--bg) 92%,var(--bg-panel) 8%));box-shadow:0 14px 32px #0000001f;min-width:0}.analysis-block.analysis-block-linebreak{opacity:.92}.analysis-block .h5-in-tab{margin:0}.analysis-buttons{flex-wrap:wrap;justify-content:flex-start}.analysis-buttons button{flex:1 1 150px;justify-content:center;min-width:0}.analysis-chip{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.3rem .65rem;font-size:.76rem;font-weight:700;letter-spacing:.02em;white-space:nowrap}.analysis-chip-ai{color:color-mix(in srgb,var(--accent-primary) 72%,white);background:color-mix(in srgb,var(--accent-primary) 16%,transparent);border:1px solid color-mix(in srgb,var(--accent-primary) 36%,transparent)}.stress-analysis-card{display:flex;flex-direction:column;gap:1rem;min-width:0}.stress-analysis-header{display:flex;flex-direction:column;gap:.75rem;min-width:0}.stress-analysis-title-group{display:flex;flex-direction:column;gap:.5rem;min-width:0}.stress-analysis-title-line{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.stress-analysis-title{margin:0}.stress-analysis-header-meta{display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap}.stress-analysis-help-anchor{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;min-height:1.5rem}.stress-analysis-help-anchor .help-badge{position:static;transform:none}.stress-analysis-description,.stress-analysis-details-description,.prosody-legend-hint{margin:0;color:var(--text-secondary);font-size:.88rem;line-height:1.5}.stress-analysis-mode-block,.stress-analysis-legend{display:flex;flex-direction:column;gap:.75rem;min-width:0}.stress-analysis-mode-label,.stress-analysis-legend-title{margin:0;font-size:.82rem;font-weight:700;letter-spacing:.02em;color:var(--text-secondary);text-transform:uppercase}.stress-mode-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;min-width:0}.stress-mode-btn{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;width:100%;min-width:0;padding:.85rem .95rem;border-radius:12px;border:1px solid color-mix(in srgb,var(--border-color) 82%,transparent);background:color-mix(in srgb,var(--bg) 85%,var(--bg-panel) 15%);color:var(--text-primary);text-align:left}.stress-mode-btn.active{border-color:color-mix(in srgb,var(--accent-primary) 55%,transparent);background:color-mix(in srgb,var(--accent-primary) 16%,var(--bg-panel));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent-primary) 26%,transparent)}.stress-mode-btn-title,.stress-summary-value{font-weight:700;color:var(--text-primary)}.stress-mode-btn-hint{color:var(--text-secondary);font-size:.86rem;line-height:1.4;white-space:normal}.stress-analysis-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;min-width:0}.stress-summary-item{display:flex;flex-direction:column;gap:.35rem;min-width:0;padding:.75rem .85rem;border-radius:12px;background:color-mix(in srgb,var(--bg) 88%,var(--bg-panel) 12%);border:1px solid color-mix(in srgb,var(--border-color) 78%,transparent)}.stress-summary-label{font-size:.78rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.02em}.stress-summary-value{line-height:1.4;word-break:break-word}.stress-analysis-actions{display:flex;flex-direction:column;gap:.75rem;min-width:0}.stress-analysis-primary-action,.stress-analysis-details-toggle{width:100%;justify-content:center;text-align:center;white-space:normal}.stress-analysis-details{display:flex;flex-direction:column;gap:1rem;min-width:0;padding-top:1rem;border-top:1px solid color-mix(in srgb,var(--border-color) 74%,transparent)}.stress-analysis-details .analysis-feedback,.stress-analysis-details .analysis-filter-container,.stress-analysis-legend .prosody-legend{margin-top:0;background:color-mix(in srgb,var(--bg) 88%,var(--bg-panel) 12%)}.analysis-feedback,.analysis-filter-container,.analysis-results,.analysis-results-list{min-width:0}.analysis-result-line{display:flex;flex-wrap:wrap;gap:.35rem .5rem;align-items:baseline;word-break:break-word}.analysis-results-header h4,.analysis-section-header{margin:0 0 .5rem}.legend-items{gap:.45rem}.legend-item{align-items:flex-start}.legend-item span{flex:1 1 auto;min-width:0;line-height:1.4}@media(max-width:1500px){.analysis-buttons button{flex-basis:100%}}@keyframes button-pulse{0%{box-shadow:0 0 rgba(var(--accent-rgb),.7)}70%{box-shadow:0 0 0 10px rgba(var(--accent-rgb),0)}to{box-shadow:0 0 rgba(var(--accent-rgb),0)}}button.pulse-on-enable:not(:disabled){animation:button-pulse 1.5s ease-out}button:disabled{position:relative}button:disabled:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent,transparent 8px,rgba(0,0,0,.06) 8px,rgba(0,0,0,.06) 16px);pointer-events:none;z-index:1}button:not(:disabled):hover{transform:translateY(-1px);transition:all .2s ease}button:not(:disabled):active{transform:translateY(0);transition:all .1s ease}.error-message{background-color:var(--error-bg);color:var(--error);padding:1rem;border-radius:5px;border:1px solid var(--error);text-align:center}.instruction-text{font-size:.8rem;color:var(--text-secondary);margin:.5rem 0 0;text-align:center}button:focus,.btn:focus,.tab-button:focus,a:focus,.panel-header:focus,input:focus,select:focus,textarea:focus,#drop-zone:focus,.section-block:focus,.lyric-snippet:focus,.section-label:focus,.language-switcher button:focus{outline:2px solid var(--accent-primary);outline-offset:2px;box-shadow:0 0 4px var(--accent-primary)}button:focus-visible,.focus-mode-btn:focus-visible,.panel-toggle-btn:focus-visible,.lyrics-nav-btn:focus-visible,.switch input:focus-visible+.slider{outline:2px solid var(--accent-primary);outline-offset:2px}#file-loader-area{margin-bottom:.5rem}#drop-zone-wrapper{width:100%}#drop-zone{border:2px dashed var(--border-color);border-radius:8px;padding:.75rem 1rem;text-align:center;cursor:pointer;transition:border-color .2s ease,background-color .2s ease;color:var(--text-secondary);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;min-height:80px}#drop-zone.hover,#drop-zone:hover,#drop-zone:focus{border-color:var(--accent-primary);background-color:color-mix(in srgb,var(--accent-primary) 5%,transparent)}#drop-zone p{font-size:.95rem;margin:0;color:var(--text-primary);font-weight:500}.drop-zone-text-wrapper{text-align:center}.drop-zone-subtext{font-size:.8rem;color:var(--text-secondary);margin-top:.25rem;font-weight:400}#drop-zone svg{width:32px;height:32px;color:var(--text-secondary);transition:color .2s ease}#drop-zone.hover svg,#drop-zone:focus svg{color:var(--accent-primary)}#file-info{margin-top:.5rem;display:block;font-size:.85rem}#file-context-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.5rem 1.5rem;background-color:var(--bg-panel);border-bottom:1px solid var(--border-color)}.file-context-info,.file-context-meta{display:flex;align-items:center;gap:.75rem}.file-context-info{color:var(--text-secondary);font-weight:500;font-size:.9rem;min-width:0}.file-context-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}#loaded-file-name{color:var(--text-primary);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-context-meta{margin-left:auto}.file-context-meta #bpm-input{background-color:var(--bg)}.file-context-info span{color:var(--text-primary)}.language-switcher{display:inline-flex;background-color:var(--bg);border-radius:6px;padding:3px;border:1px solid var(--border-color)}.language-switcher button{border:none;padding:.3rem .8rem;background-color:transparent;border-radius:4px}.language-switcher button.active{background-color:var(--bg-panel);box-shadow:0 1px 3px #0000001a}body[data-theme=dark] .language-switcher button.active{background-color:var(--btn-secondary-bg)}.snippet-input-group{display:flex;gap:.5rem;flex-grow:1}.snippet-input-group #snippet-input{flex-grow:1;min-width:0}.snippet-input-group #add-snippet-btn{flex-shrink:0;width:36px;height:36px;padding:0;background-color:var(--btn-secondary-bg)}#structure-creator{display:flex;flex-direction:column;gap:.25rem}.structure-tools-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.section-definition-group{display:flex;align-items:center;gap:.75rem;flex-grow:1;min-width:0}.locator-row{display:flex;align-items:center;gap:.75rem;margin-top:.5rem}.locator-row-label{font-size:.85rem;color:var(--text-secondary)}.measure-selection{display:flex;align-items:center;gap:.5rem}.measure-selection label{font-size:.85rem;color:var(--text-secondary)}.measure-inputs{display:flex;align-items:center;gap:.25rem}.measure-inputs input{width:55px}.locator-selection{display:flex;align-items:center;gap:.25rem}.locator-selection label{font-size:.85rem;min-width:1ch}.locator-selection input{width:42px}.quantize-control{display:flex;align-items:center;gap:.5rem}.quantize-control label{font-size:.85rem;color:var(--text-secondary)}#quantize-select{width:90px}#add-section-btn{flex-shrink:0;padding-left:1.2rem;padding-right:1.2rem}#structure-controls-wrapper{margin-top:.75rem;flex:1;display:flex;flex-direction:column;min-height:0}#active-section-hint{font-size:.85rem;color:var(--text-secondary);margin-bottom:.5rem;display:block}#structure-controls{display:flex;flex-direction:column;gap:4px;overflow-y:auto;padding-right:5px;flex:1;min-height:0}.section-block{padding:6px 10px;margin:4px 0;display:flex;align-items:center;gap:.75rem;justify-content:flex-start;border-radius:6px;cursor:grab;border:1px solid transparent;transition:all .2s ease}.section-block.is-dragging{opacity:.5;background-color:var(--accent-active);cursor:grabbing}.section-block.drag-over{border-top:2px solid var(--accent-primary);transform:translateY(-2px)}.section-block.is-active{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.4);box-shadow:0 0 10px #0003;border-color:#ffffff4d}.section-block.is-inactive{color:var(--text-primary);border-color:var(--border-color)}.section-block.is-inactive:hover{border-color:var(--accent-primary)}.active-indicator{width:9px;height:9px;border-radius:50%;background-color:var(--success-dark);flex-shrink:0;box-shadow:0 0 5px var(--success-dark)}.repetition-indicator{color:var(--text-secondary);font-size:1rem;line-height:1;flex-shrink:0;opacity:.8;cursor:help;transition:color .2s ease,transform .2s ease}.repetition-indicator.ghost-indicator{font-size:1.1rem}.section-block:hover .repetition-indicator{color:var(--text-primary);transform:scale(1.1)}.section-block.is-active .repetition-indicator{color:#fff}.section-block.is-ghost-section{opacity:.5;border-style:dashed;border-width:1px}.section-block.is-ghost-section.is-active{opacity:.7}.repetition-select-checkbox{width:18px;height:18px;cursor:pointer;flex-shrink:0;margin-right:.25rem;accent-color:var(--accent-primary)}.section-block.is-selected-for-repetition{border-color:var(--accent-primary);border-width:2px;box-shadow:0 0 0 2px rgba(var(--accent-primary-rgb, 0, 123, 255),.2)}.select-all-repetitions-btn{margin-top:.75rem;padding:.75rem 1rem;background-color:var(--btn-secondary-bg, var(--bg-secondary));color:var(--text-primary);border:1px solid var(--border);border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s ease;width:100%}.select-all-repetitions-btn:hover{background-color:var(--bg-hover);border-color:var(--accent-primary);transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.select-all-repetitions-btn:active{transform:translateY(0)}.link-repetitions-btn{margin-top:.75rem;padding:.75rem 1rem;background-color:var(--accent-primary);color:#fff;border:none;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s ease;width:100%}.link-repetitions-btn:hover{background-color:var(--accent-active);transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.link-repetitions-btn:active{transform:translateY(0)}.select-specific-repetitions-btn{margin-top:.5rem;padding:.5rem 1rem;border:1px solid var(--border);border-radius:6px;background-color:var(--bg-secondary);color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:all .15s ease;width:100%;text-align:center}.select-specific-repetitions-btn:hover{background-color:var(--bg-tertiary);border-color:var(--accent-primary)}#repetition-selection-list{max-height:400px;overflow-y:auto;margin-top:.75rem;display:flex;flex-direction:column;gap:.25rem}.repetition-selection-option{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;border-radius:6px;cursor:pointer;transition:background-color .15s ease;user-select:none}.repetition-selection-option:hover{background-color:var(--bg-secondary)}.repetition-selection-option input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--accent-primary);flex-shrink:0}.repetition-selection-option span{font-size:.9375rem;color:var(--text-primary)}.repetition-source-badge{font-size:.75rem;color:var(--text-secondary);margin-left:auto;font-style:italic}.repetition-potential-selectable{border:1.5px dashed var(--border-color);background:var(--bg-secondary)}.repetition-potential-selectable:hover{border-color:var(--accent-primary);opacity:1}.repetition-potential-badge{font-size:.6875rem;font-weight:600;color:#fff;background:var(--accent-secondary, #8b5cf6);padding:.0625rem .4rem;border-radius:999px;margin-left:auto;text-transform:uppercase;letter-spacing:.03em}.repetition-potential-label{font-size:.875rem;color:var(--text-secondary);font-style:italic}.repetition-ghost-hint{font-size:.8125rem;color:var(--text-secondary);margin-top:.75rem;padding:.5rem .625rem;background:var(--bg-secondary);border-radius:6px;line-height:1.4}#repetition-selection-potential-list{display:flex;flex-direction:column;gap:.25rem;margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border-color)}#repetition-selection-define-all-btn{background:var(--accent-secondary, #8b5cf6);color:#fff;border:none}#repetition-selection-define-all-btn:hover{filter:brightness(1.1)}#repetition-selection-copy-btn{border-color:var(--accent-primary);color:var(--accent-primary)}.repetition-search-banner{background:linear-gradient(135deg,#3b82f61f,#8b5cf614);border:1px solid rgba(59,130,246,.3);border-radius:8px;padding:.75rem 1rem;margin-bottom:.75rem;order:-1}.repetition-search-info{font-size:.875rem;color:var(--text-primary);line-height:1.5;display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.repetition-selection-count{display:inline-block;background:var(--accent-primary);color:#fff;font-size:.75rem;padding:.125rem .5rem;border-radius:999px;font-weight:600}.repetition-search-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}.repetition-action-btn{padding:.375rem .75rem;border-radius:6px;font-size:.8125rem;font-weight:500;cursor:pointer;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);transition:all .15s ease}.repetition-action-btn:hover{background:var(--bg-hover);border-color:var(--accent-primary)}.repetition-action-btn:disabled{opacity:.5;cursor:not-allowed}.repetition-action-btn.primary-btn{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.repetition-action-btn.primary-btn:hover{background:var(--accent-active)}.repetition-action-btn.accent-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border-color:transparent}.repetition-action-btn.accent-btn:hover{background:linear-gradient(135deg,#4f46e5,#7c3aed);box-shadow:0 2px 8px #6366f14d}.repetition-action-btn.close-btn{background:transparent;border-color:var(--border);color:var(--text-secondary)}.repetition-action-btn.close-btn:hover{background:#ef44441a;border-color:#ef44444d;color:#ef4444}.section-name{font-weight:600;flex-shrink:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.section-block-controls{display:flex;align-items:center;gap:.25rem;margin-left:auto}.section-block-controls button{background:transparent;border:none;opacity:.8;width:28px;height:28px;padding:0;display:grid;place-items:center;cursor:pointer}.section-block.is-active .section-block-controls button{color:#fff}.section-block.is-inactive .section-block-controls button{color:var(--text-secondary)}.section-block-controls button svg{width:18px;height:18px}.section-block-controls button:hover:not(:disabled){opacity:1}.section-block.is-active .section-block-controls button:hover:not(:disabled){background-color:#0003}.section-block.is-inactive .section-block-controls button:hover:not(:disabled){color:var(--text-primary)}.section-block-controls .delete-btn:hover:not(:disabled){color:var(--error-dark)!important}.generate-action-btn-inline,.chord-analysis-btn-inline{background-color:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.5);font-size:.8rem;padding:.25rem .6rem;display:flex;align-items:center;gap:.4rem;flex-shrink:0;margin-left:.25rem}.generate-action-btn-inline .icon{font-size:.6rem}.generate-action-btn-inline:hover,.chord-analysis-btn-inline:hover{background-color:#ffffff4d;color:#fff}.generate-action-btn-inline.is-cancelling{background-color:var(--error-bg-dark);border-color:var(--error-dark)}.generate-action-btn-inline.is-cancelling:hover{filter:brightness(1.2)}.section-actions{display:flex;align-items:center;gap:.5rem;margin-left:.75rem}.stage-for-generation-checkbox{-webkit-appearance:none;appearance:none;background-color:transparent;margin:0;font:inherit;color:var(--text-secondary);width:1.15em;height:1.15em;border:.15em solid currentColor;border-radius:.25em;transform:translateY(-.075em);display:grid;place-content:center;cursor:pointer;flex-shrink:0}.stage-for-generation-checkbox:before{content:"";width:.65em;height:.65em;transform:scale(0);transition:.12s transform ease-in-out;box-shadow:inset 1em 1em var(--accent-primary);transform-origin:bottom left;clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0%,43% 62%)}.stage-for-generation-checkbox:checked:before{transform:scale(1)}.stage-for-generation-checkbox:checked{border-color:var(--accent-primary)}.section-block.is-staged{box-shadow:0 0 8px color-mix(in srgb,var(--accent-primary) 40%,transparent)}@keyframes pulse-glow{0%,to{box-shadow:0 0 2px 1px var(--glow-color-transparent);border-color:var(--glow-color)}50%{box-shadow:0 0 8px 3px var(--glow-color-transparent);border-color:color-mix(in srgb,var(--glow-color) 80%,white)}}.repetition-source,.repetition-match{animation-name:pulse-glow;animation-duration:2s;animation-iteration-count:infinite;animation-timing-function:ease-in-out;border-width:1px;border-style:solid}.repetition-source{--glow-color: #ffc107;--glow-color-transparent: rgba(255, 193, 7, .5)}.repetition-match{--glow-color: var(--accent-primary);--glow-color-transparent: rgba(var(--accent-rgb), .5)}body.drag-active .section-block.repetition-source,body.drag-active .section-block.repetition-match,body.drag-active .section-block.is-active.repetition-source,body.drag-active .section-block.is-active.repetition-match,body.drag-active .section-block.is-inactive.repetition-source,body.drag-active .section-block.is-inactive.repetition-match{animation:none!important;border-color:var(--border-color)!important;box-shadow:none!important}@keyframes pulse-glow-svg{0%,to{stroke:var(--glow-color);stroke-width:2px;stroke-opacity:1}50%{stroke:color-mix(in srgb,var(--glow-color) 80%,white);stroke-width:3.5px;stroke-opacity:1}}.note-group.repetition-source .note-rect,.note-group.repetition-match .note-rect{animation-name:pulse-glow-svg;animation-duration:2s;animation-iteration-count:infinite;animation-timing-function:ease-in-out}body.drag-active .note-group.repetition-source .note-rect,body.drag-active .note-group.repetition-match .note-rect{animation:none!important}.section-suggestion{position:absolute;top:2px;font-size:.75rem;font-weight:600;color:var(--text-primary);background-color:color-mix(in srgb,var(--accent-primary) 5%,transparent);padding:2px 10px;border-radius:5px;pointer-events:all;cursor:pointer;transition:all .2s ease;border:1.5px dashed var(--accent-primary);z-index:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;opacity:.75;animation-name:pulse-glow;animation-duration:2.2s;animation-iteration-count:infinite;animation-timing-function:ease-in-out;--glow-color: var(--accent-primary);--glow-color-transparent: rgba(var(--accent-rgb), .5)}.section-suggestion:hover{opacity:1;border-style:solid;background-color:color-mix(in srgb,var(--accent-primary) 15%,transparent)}.structure-panel{display:flex;flex-direction:column}.structure-panel .panel-content{flex:1;display:flex;flex-direction:column;min-height:0}.panel.collapsed .panel-content,.panel.collapsed .lyrics-content-grid,#generation-controls-panel.collapsed .panel-content,#project-presets-panel.collapsed .panel-content,#kreativ-pult-panel.collapsed .panel-content{display:none}.panel.collapsed .panel-header{border-bottom-color:transparent}.panel .chevron-down{transition:transform .2s ease-in-out}.panel.collapsed .chevron-down{transform:rotate(-90deg)}#project-presets-panel .panel-content{display:flex;flex-direction:column;gap:1rem}#kreativ-pult-panel .panel-content{display:flex;flex-direction:column;padding:0;max-height:50vh}.kreativ-pult-actions{margin-left:auto;display:flex;align-items:center;gap:.5rem}.kreativ-pult-toolbar{padding:.75rem;border-bottom:1px solid var(--border-color);flex-shrink:0;display:flex;flex-direction:column;gap:.75rem}.kreativ-pult-toolbar-row{display:flex;align-items:center;gap:.75rem}.kreativ-pult-filters-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.classification-controls{display:flex;align-items:center;gap:.5rem;margin-left:auto}.classification-controls button{display:flex;align-items:center;gap:.4rem;font-size:.85rem;padding:.5rem .75rem}.sort-controls{display:flex;align-items:center;gap:.5rem}.sort-label{font-size:.85rem;color:var(--text-secondary);white-space:nowrap}.sort-select{padding:.4rem .6rem;font-size:.85rem;border-radius:4px;border:1px solid var(--border-color);background-color:var(--bg);color:var(--text-primary);cursor:pointer}.sort-select:hover{border-color:var(--accent-primary)}.filter-buttons{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.filter-btn{display:flex;align-items:center;gap:.4rem;padding:.4rem .6rem;font-size:.8rem;border-radius:4px;border:1px solid var(--border-color);background-color:var(--bg);color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.filter-btn:hover{border-color:var(--accent-primary);background-color:var(--btn-secondary-hover);color:var(--text-primary)}.filter-btn.active{background-color:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.filter-btn.active:hover{background-color:var(--accent-hover)}.search-input-group{flex-grow:1;display:flex;gap:.5rem;align-items:center}#snippet-search-input{flex-grow:1;min-width:0}.search-mode-toggle{display:flex;align-items:center;flex-shrink:0;background-color:var(--bg);border-radius:6px;padding:2px;border:1px solid var(--border-color)}.search-mode-toggle .icon-btn{width:32px;height:32px;border-radius:4px}.search-mode-toggle .icon-btn.active{background-color:var(--bg-panel);color:var(--accent-primary);box-shadow:0 1px 3px #0000001a}body[data-theme=light] .search-mode-toggle .icon-btn.active{background-color:color-mix(in srgb,var(--accent-primary) 12%,var(--bg-panel));border:1px solid color-mix(in srgb,var(--accent-primary) 45%,var(--border-color));box-shadow:inset 0 1px #ffffffb8,0 1px 3px #172b4d1f}body[data-theme=dark] .search-mode-toggle .icon-btn.active{background-color:var(--btn-secondary-hover)}.icon-btn[data-loading=true]{pointer-events:none;opacity:.6;position:relative}.icon-btn[data-loading=true]:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:14px;height:14px;border:2px solid var(--accent-primary);border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite;z-index:1}@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}.inspiration-toggle{display:flex;align-items:center;gap:.75rem}.inspiration-toggle label[for=global-inspiration-translate-toggle]{font-size:.85rem;color:var(--text-secondary);cursor:pointer;user-select:none}#kreativ-pult-content .lyric-palette-ai-snippets{display:contents}.lyric-palette-snippets{flex-grow:1;overflow-y:auto;padding:.75rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.5rem;align-content:start}.lyric-snippet{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:6px;background-color:var(--btn-secondary-bg);border:1px solid var(--border-color);cursor:grab;transition:all .3s ease-out;overflow:hidden;min-height:40px;height:auto}.lyric-snippet:hover{border-color:var(--accent-primary);background-color:var(--btn-secondary-hover)}.lyric-snippet.removing{opacity:0;transform:translate(1rem);max-height:0;padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;border-width:0}.snippet-source-icon{margin-right:.25rem;opacity:.8}.lyric-snippet:hover .snippet-source-icon{opacity:1}.drag-handle{color:var(--text-secondary);flex-shrink:0;cursor:grab;opacity:.5;transition:opacity .2s ease;display:grid;place-items:center}.drag-handle svg{width:14px;height:14px}.lyric-snippet:hover .drag-handle{opacity:1}.lyric-snippet.is-dragging{opacity:.4;cursor:grabbing}.delete-snippet-btn{width:24px;height:24px;padding:0;background:transparent;color:var(--text-secondary);flex-shrink:0}.delete-snippet-btn:hover{color:var(--error);background-color:transparent!important;box-shadow:none}.delete-snippet-btn:hover:not(:disabled){transform:translateY(-1px)}.lyric-snippet-text{font-size:.85rem;color:var(--text-primary);flex-grow:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lyric-snippet-syllables{font-size:.75rem;color:var(--text-secondary);background-color:var(--bg);padding:2px 6px;border-radius:4px;white-space:nowrap;flex-shrink:0;margin-left:auto}#lyric-palette-placeholder{padding:1rem;text-align:center;flex-grow:1;display:grid;place-content:center}.lyric-snippet.ai-suggestion{border-style:dashed;background-color:color-mix(in srgb,var(--accent-primary) 8%,transparent)}.lyric-snippet.ai-suggestion:hover{border-color:var(--accent-hover);background-color:color-mix(in srgb,var(--accent-primary) 15%,transparent)}.lyric-snippet.is-drag-preview{position:absolute;top:-9999px;left:-9999px;pointer-events:none;box-shadow:0 4px 12px #00000026;transform:scale(1.05);background-color:color-mix(in srgb,var(--bg-panel) 70%,transparent);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}#editor-toolbar{--panel-toggle-btn-width: 16.75rem;--panel-toggle-state-width: 8.5rem;--focus-mode-btn-width: 8.25rem;--center-right-gap: .5rem;padding:.5rem .75rem;display:grid;grid-template-columns:max-content minmax(0,1fr) max-content var(--center-right-gap) max-content;grid-template-areas:"left spacer-left-center center spacer-center-right right";align-items:center;flex-wrap:nowrap;gap:.5rem;min-height:3.5rem;overflow-x:auto;overflow-y:hidden}.toolbar-zone{display:flex;align-items:center;gap:.5rem}.toolbar-zone--left{grid-area:left;justify-self:start;flex:0 0 auto;min-width:max-content;overflow:visible}.toolbar-zone--center{grid-area:center;display:flex;align-items:center;min-width:0;justify-self:center;flex:0 0 auto}.toolbar-zone--right{grid-area:right;display:flex;align-items:center;justify-self:end;flex-shrink:0;min-width:0}.toolbar-spacer{min-width:0;width:100%;height:1px}.toolbar-spacer--left-center{grid-area:spacer-left-center}.toolbar-spacer--center-right{grid-area:spacer-center-right;width:var(--center-right-gap);min-width:var(--center-right-gap)}.toolbar-group{display:flex;align-items:center;gap:.5rem;padding:0 .75rem;border-right:1px solid var(--border-color)}.toolbar-zone--left .toolbar-group,.toolbar-zone--left .quantize-control{min-width:0}.toolbar-zone--left #quantize-select{width:clamp(4.75rem,12vw,7rem);min-width:4.75rem}#editor-toolbar>.toolbar-group:last-of-type,#editor-toolbar>button:last-of-type{border-right:none}.panel-toggle-group{display:grid;grid-template-columns:repeat(2,var(--panel-toggle-btn-width));gap:.5rem;flex:0 0 auto;min-width:0}.panel-toggle-btn{white-space:nowrap;display:inline-flex;align-items:center;justify-content:space-between;gap:.65rem;min-height:2.5rem;min-width:11.5rem;max-width:18rem;padding-inline:.9rem;border-width:1.5px;transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}#toggle-synth-panel-btn,#toggle-analysis-panel-btn{inline-size:var(--panel-toggle-btn-width);min-inline-size:var(--panel-toggle-btn-width);max-inline-size:var(--panel-toggle-btn-width)}.panel-toggle-btn:before{content:"";width:.6rem;height:.6rem;border-radius:999px;background-color:var(--text-secondary);box-shadow:0 0 0 .2rem #7f7f7f1f;flex:0 0 auto}.panel-toggle-label{font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel-toggle-state{font-size:.74rem;letter-spacing:.02em;text-transform:uppercase;color:inherit;opacity:.82;display:inline-block;min-width:0;inline-size:var(--panel-toggle-state-width);max-width:var(--panel-toggle-state-width);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel-toggle-btn[aria-pressed=true]{background-color:var(--accent-primary);border-color:var(--accent-primary);color:#fff;box-shadow:0 0 0 .2rem rgba(var(--accent-rgb),.16)}.panel-toggle-btn[aria-pressed=true]:before{background-color:#fff;box-shadow:0 0 0 .26rem #ffffff38}.panel-toggle-btn[data-suppressed=true]{background-color:color-mix(in srgb,var(--warning, #b57900) 12%,var(--bg-panel));border-color:color-mix(in srgb,var(--warning, #b57900) 42%,var(--border-color));color:var(--text-primary);box-shadow:none}.panel-toggle-btn[data-suppressed=true]:before{background-color:color-mix(in srgb,var(--warning, #b57900) 78%,white);box-shadow:0 0 0 .24rem #b5790024}.panel-toggle-btn[data-suppressed=true] .panel-toggle-state{color:color-mix(in srgb,var(--warning, #b57900) 78%,var(--text-primary))}.panel-toggle-btn[data-visible=false]:not([data-suppressed=true]){background-color:color-mix(in srgb,var(--bg-panel) 80%,var(--bg));border-style:dashed}.panel-toggle-btn[data-visible=false]:not([data-suppressed=true]):before{background-color:transparent;border:2px solid currentColor;box-shadow:none}.focus-mode-group{border-right:none;padding-right:0;gap:.4rem;display:grid;grid-template-columns:max-content repeat(3,var(--focus-mode-btn-width));align-items:center}.toolbar-group-label{font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary)}.focus-mode-btn{white-space:nowrap;border-width:1.5px;inline-size:var(--focus-mode-btn-width);min-inline-size:var(--focus-mode-btn-width);max-inline-size:var(--focus-mode-btn-width);overflow:hidden;text-overflow:ellipsis}.focus-mode-btn.active{background-color:color-mix(in srgb,var(--accent-primary) 24%,var(--bg-panel));border-color:var(--accent-primary);color:var(--text-primary);box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb),.28),0 0 0 2px rgba(var(--accent-rgb),.12)}#editor-toolbar .icon-btn{width:36px;height:36px}.bpm-control{display:flex;align-items:center;gap:.5rem}.bpm-control label{font-size:.8rem;color:var(--text-secondary);font-weight:500}#bpm-input{width:60px;text-align:center}.loop-mode-toggle{display:flex;background-color:var(--bg);border-radius:6px;padding:3px;border:1px solid var(--border-color)}.loop-mode-toggle button{border:none;padding:.3rem .8rem;background-color:transparent;border-radius:4px;font-size:.8rem;font-weight:500}.loop-mode-toggle button.active{background-color:var(--bg-panel);box-shadow:0 1px 3px #0000000d}body[data-theme=light] .loop-mode-toggle{background-color:color-mix(in srgb,var(--bg-panel) 52%,var(--bg));border-color:color-mix(in srgb,var(--border-color) 86%,var(--accent-primary))}body[data-theme=light] .loop-mode-toggle button{color:var(--text-primary);border:1px solid transparent;background-color:color-mix(in srgb,var(--bg-panel) 65%,transparent)}body[data-theme=light] .loop-mode-toggle button:hover:not(.active){background-color:color-mix(in srgb,var(--accent-primary) 8%,var(--bg-panel));border-color:color-mix(in srgb,var(--accent-primary) 28%,var(--border-color));color:color-mix(in srgb,var(--text-primary) 82%,var(--accent-primary))}body[data-theme=light] .loop-mode-toggle button.active{background-color:color-mix(in srgb,var(--accent-primary) 18%,var(--bg-panel));border-color:color-mix(in srgb,var(--accent-primary) 48%,var(--border-color));color:color-mix(in srgb,var(--text-primary) 82%,var(--accent-primary));box-shadow:inset 0 1px #ffffffbf,0 1px 2px #172b4d1f}body[data-theme=dark] .loop-mode-toggle button.active{background-color:var(--btn-secondary-hover)}.synth-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem .85rem;flex:1 1 auto;min-width:0}.synth-panel{flex:0 0 auto}.synth-panel-content{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:.6rem .85rem}.synth-delay-cluster{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}.synth-panel-content .synth-reset-btn{margin-left:auto;flex-shrink:0;align-self:center}.octave-control,.filter-control,.delay-controls{display:flex;align-items:center;gap:.4rem}.octave-control label,.filter-control label,.delay-controls>label{font-size:.85rem;color:var(--text-secondary);font-weight:500}#octave-display{font-weight:600;min-width:20px;text-align:center;font-size:.9rem}.octave-control button.icon-btn{width:24px;height:24px;font-size:1.1rem;line-height:1;font-weight:700;color:var(--text-primary);background-color:var(--btn-secondary-bg);border:1px solid var(--border-color)}.octave-control button.icon-btn:hover:not(:disabled){background-color:var(--btn-secondary-hover);border-color:var(--accent-primary)}#filter-cutoff-input{width:100px;padding:0;margin:0;height:20px}#reset-synth-btn{padding:.3rem .6rem;font-size:.8rem}.delay-params-group{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;padding:0 0 0 .75rem;border-left:1px solid var(--border-color)}.synth-delay-cluster .delay-params-group{margin:0}.delay-params-group .control-group{display:flex;align-items:center;gap:.4rem}.delay-params-group .control-group label{font-size:.85rem;color:var(--text-secondary)}#delay-time-select{font-size:.8rem;padding:.3rem}.piano-roll-panel{display:flex;flex-direction:column;flex:0 0 var(--piano-roll-panel-size, 40vh);height:auto;min-height:200px;position:relative}#grid-wrapper{--piano-roll-scrollbar-thickness: 8px;--piano-roll-resize-grip-height: 8px;position:relative;border-top:1px solid var(--border-color);flex:1;min-height:0;display:flex;flex-direction:column;align-items:stretch}#grid-scroll-container{position:relative;display:flex;overflow:auto;flex:1;min-height:0;width:100%}#piano-roll-resize-grip{flex:0 0 var(--piano-roll-resize-grip-height, 8px);width:100%;min-height:var(--piano-roll-resize-grip-height, 8px);overflow:hidden;cursor:ns-resize;flex-shrink:0;background:transparent;border-top:1px solid var(--border-color);box-sizing:border-box}#piano-roll-resize-grip:hover{background:color-mix(in srgb,var(--accent-primary) 12%,transparent)}#grid-scroll-container:after{content:"";display:block;flex:0 0 12px;pointer-events:none}.grid-main{position:relative;min-width:100%}#piano-roll-sidebar{display:flex;flex-shrink:0;position:sticky;left:0;z-index:12;background-color:var(--bg);padding-top:48px}#zoom-controls-corner{position:absolute;right:calc(8px + var(--piano-roll-scrollbar-thickness, 8px));bottom:calc(8px + var(--piano-roll-scrollbar-thickness, 8px) + var(--piano-roll-resize-grip-height, 8px));z-index:20;display:flex;align-items:flex-end}#v-zoom-slider,#h-zoom-slider{-webkit-appearance:none;appearance:none;background:transparent;cursor:pointer}#v-zoom-slider{writing-mode:vertical-lr;direction:ltr;width:18px;height:120px}#h-zoom-slider{width:120px;height:18px}#v-zoom-slider::-webkit-slider-runnable-track,#h-zoom-slider::-webkit-slider-runnable-track{background:var(--border-color);border-radius:2px}#v-zoom-slider::-moz-range-track,#h-zoom-slider::-moz-range-track{background:var(--border-color);border-radius:2px}#h-zoom-slider::-webkit-slider-runnable-track{height:4px}#h-zoom-slider::-moz-range-track{height:4px}#v-zoom-slider::-webkit-slider-runnable-track{width:4px}#v-zoom-slider::-moz-range-track{width:4px}#v-zoom-slider::-webkit-slider-thumb,#h-zoom-slider::-webkit-slider-thumb,#v-zoom-slider::-moz-range-thumb,#h-zoom-slider::-moz-range-thumb{-webkit-appearance:none;appearance:none;background-color:var(--accent-primary);border-radius:2px;border:none;transition:background-color .15s ease}#v-zoom-slider::-webkit-slider-thumb,#v-zoom-slider::-moz-range-thumb{height:16px;width:8px}#h-zoom-slider::-webkit-slider-thumb,#h-zoom-slider::-moz-range-thumb{height:8px;width:16px}#h-zoom-slider::-webkit-slider-thumb{margin-top:-2px}#v-zoom-slider::-webkit-slider-thumb{margin-left:-2px}#v-zoom-slider:hover::-webkit-slider-thumb,#h-zoom-slider:hover::-webkit-slider-thumb,#v-zoom-slider:hover::-moz-range-thumb,#h-zoom-slider:hover::-moz-range-thumb{background-color:var(--accent-hover)}#piano-keys{flex-shrink:0;background-color:var(--bg);border-right:1px solid var(--border-color)}.key{position:relative;display:flex;align-items:center;justify-content:flex-end;padding-right:5px;font-size:.6rem;width:50px}.key span{pointer-events:none}.key-white{background-color:var(--key-white);color:var(--key-white-text-color);border-bottom:1px solid var(--key-separator-color)}.key-black{background-color:var(--key-black);color:var(--key-black-text-color)}#measure-header-container{position:sticky;top:0;z-index:10;display:flex;flex-direction:column;background-color:var(--bg);border-bottom:1px solid var(--border-color)}#zoom-ruler{height:22px;cursor:ns-resize;border-bottom:1px solid color-mix(in srgb,var(--border-color) 70%,transparent);white-space:nowrap;position:relative;box-sizing:border-box}.locator-range-band{position:absolute;top:0;left:0;height:100%;background-color:var(--locator-range-fill, rgba(0, 0, 0, .08));pointer-events:none;z-index:0}#zoom-ruler .measure-label{position:absolute;z-index:1}.locator-handles-layer{position:absolute;inset:0;pointer-events:none;z-index:5}.locator-handles-layer .locator-handle{pointer-events:auto;cursor:ew-resize;position:absolute;top:0;width:10px;height:14px;z-index:1;display:flex;align-items:center;justify-content:center}.locator-handles-layer .locator-handle svg{display:block}.locator-arrow-svg.locator-left polygon{fill:var(--locator-left-color, #22c55e)}.locator-arrow-svg.locator-right polygon{fill:var(--locator-right-color, #f97316)}#zoom-ruler.zooming{cursor:ns-resize}#section-ruler{position:relative;min-height:26px;white-space:nowrap;width:100%}.measure-label{position:absolute;top:0;height:100%;padding:4px 8px;font-size:.8rem;font-weight:600;color:var(--text-secondary);border-right:1px solid var(--border-color);text-align:left;box-sizing:border-box}.measure-label-major{color:var(--text-primary);font-weight:700}.measure-label-minor{color:color-mix(in srgb,var(--text-secondary) 70%,transparent)}.section-label{position:absolute;top:2px;font-size:.75rem;font-weight:600;color:var(--text-secondary);background:var(--btn-secondary-bg);padding:2px 10px;border-radius:5px;pointer-events:all;cursor:grab;transition:all .2s ease;border:1px solid var(--border-color);box-shadow:0 1px 2px #0000000d;z-index:1;display:flex;align-items:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.section-label:hover{transform:translateY(-1px);box-shadow:0 2px 6px #0000001a;border-color:var(--accent-primary);color:var(--text-primary)}.section-label.is-dragging{cursor:grabbing;opacity:.75;z-index:20;box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.section-label.is-active{border-width:1.5px;box-shadow:0 0 8px color-mix(in srgb,currentColor 30%,transparent);font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.4)}.section-label.is-ghost-section{opacity:.75;border:2px dashed var(--border-color);background:color-mix(in srgb,var(--btn-secondary-bg) 85%,var(--text-secondary))}.section-label.is-ghost-section .section-label-ghost-icon{font-size:.9em;margin-right:2px;flex-shrink:0}.section-label.is-ghost-section.is-active{opacity:.9;border-color:currentColor}body[data-theme=dark] .section-label{box-shadow:0 1px 2px #00000026}body[data-theme=dark] .section-label:hover{box-shadow:0 2px 6px #0000004d}.section-resize-handle{position:absolute;top:0;bottom:0;width:8px;cursor:ew-resize;z-index:2;opacity:0;transition:opacity .2s ease}.section-label:hover .section-resize-handle{opacity:1}.section-resize-handle:after{content:"";position:absolute;top:20%;bottom:20%;width:3px;background-color:var(--accent-hover);border-radius:2px;box-shadow:0 0 5px #00000080}.section-label.is-active .section-resize-handle:after{background-color:#fffc}.section-resize-handle.left{left:0}.section-resize-handle.left:after{left:1px}.section-resize-handle.right{right:0}.section-resize-handle.right:after{right:1px}.chord-label{position:absolute;bottom:2px;left:4px;font-size:.7rem;font-weight:600;color:var(--accent-primary);pointer-events:none}#piano-roll-grid{display:block}.pitch-bg-white{fill:var(--pitch-bg-w)}.pitch-bg-black{fill:var(--pitch-bg-b)}.measure-line{stroke:var(--measure-l);stroke-width:1}.beat-line{stroke:var(--beat-l);stroke-width:.5}.quantize-line{stroke:var(--quantize-l);stroke-width:.5}.lyrics-line-bg{pointer-events:none}.lyrics-line-bg.even{fill:var(--line-bg-even)}.lyrics-line-bg.odd{fill:var(--line-bg-odd)}.section-bg{opacity:.7;fill:var(--c-bg-default);pointer-events:none}.section-bg[data-type=Intro]{fill:var(--c-bg-intro)}.section-bg[data-type=Pre-Chorus]{fill:var(--c-bg-pre-chorus)}.section-bg[data-type=Bridge]{fill:var(--c-bg-bridge)}.section-bg[data-type=Solo]{fill:var(--c-bg-solo)}.section-bg[data-type=Outro]{fill:var(--c-bg-outro)}.section-bg[data-type=Verse]{fill:var(--c-bg-verse-1)}.section-bg[data-type=Chorus]{fill:var(--c-bg-chorus-1)}.section-bg.section-bg-ghost,.section-bg[data-ghost=true]{opacity:.45;stroke:var(--text-secondary);stroke-width:2px;stroke-dasharray:6 4}#selection-rect{fill:var(--selection-rect-fill);stroke:var(--selection-rect-stroke);stroke-width:1px;stroke-dasharray:4 2}#locator-range-rect,.locator-range-rect{pointer-events:none}.locator-line{stroke-width:2px;pointer-events:none}.locator-left{stroke:var(--locator-left-color, #22c55e)}.locator-right{stroke:var(--locator-right-color, #f97316)}#loop-range-rect{fill:none;stroke:var(--accent-primary);stroke-width:2.5px;pointer-events:none;opacity:.75}.note-group.unassigned .note-rect{fill:var(--note-unassigned-color)}.note-group.missing-syllable .note-rect{fill:var(--note-missing-color)}.note-group.repetition-ghost .note-rect{opacity:.78;stroke:color-mix(in srgb,currentColor 60%,transparent);stroke-width:1.5px;stroke-dasharray:3 3}.note-group.bad-prosody .note-rect{stroke:var(--note-bad-prosody);stroke-width:1.5px;stroke-dasharray:3 2}.note-rect{fill:var(--c-default);transition:fill .1s ease-out,stroke .1s ease-out}.note-group.Intro .note-rect,.note-group.Outro .note-rect{fill:var(--c-intro)}.note-group.Pre-Chorus .note-rect{fill:var(--c-pre-chorus)}.note-group.Bridge .note-rect{fill:var(--c-bridge)}.note-group.Solo .note-rect{fill:var(--c-solo)}.note-group.Verse .note-rect{fill:var(--c-verse-1)}.note-group.Chorus .note-rect{fill:var(--c-chorus-1)}.note-group{transition:all .15s cubic-bezier(.4,0,.2,1)}.note-group:hover{transform:translateY(-2px)}.note-group:hover .note-rect{stroke:var(--note-highlight-color);stroke-width:2px}.note-group.is-selected .note-rect{stroke:var(--note-selection-color);stroke-width:2px}.note-group.legato-note .note-rect{stroke:var(--legato-color);stroke-width:1.6px;fill:var(--legato-fill)}.note-group.legato-note.legato-single .note-rect{stroke-dasharray:4 2}.note-group.legato-note .note-text{font-weight:600}body[data-theme=dark] .note-group.legato-note .note-rect{stroke:var(--legato-color-dark);fill:var(--legato-fill-dark)}.legato-underline{fill:none;stroke:var(--legato-color);stroke-width:2.2;stroke-linecap:round;pointer-events:none}body[data-theme=dark] .legato-underline{stroke:var(--legato-color-dark)}.note-group.hover-highlight .note-rect{stroke:var(--note-highlight-color);stroke-width:2.5px;stroke-opacity:.9}.note-group.drag-over-highlight .note-rect{stroke:var(--note-highlight-color);stroke-width:3px;stroke-opacity:1}.note-group.preview-fit .note-rect{fill:var(--success-dark);stroke:color-mix(in srgb,var(--success-dark) 80%,black);stroke-width:1.5px}.note-group.preview-overflow .note-rect{fill:var(--error-dark);stroke:color-mix(in srgb,var(--error-dark) 80%,black);stroke-width:1.5px}.note-group.preview-underflow .note-rect{fill:var(--warning-dark);stroke:color-mix(in srgb,var(--warning-dark) 80%,black);stroke-width:1.5px;stroke-dasharray:4 2}.note-group.rhyme-target .note-rect{stroke:var(--accent-hover-dark);stroke-width:1.5px;stroke-dasharray:4 2}.note-group.rhyme-target:hover .note-rect{stroke:var(--note-highlight-color);stroke-width:2.5px;stroke-dasharray:none}.note-group.is-pinned .note-rect{stroke:var(--accent-active);stroke-width:1.5px}.note-text{fill:var(--text-primary);font-size:11px;font-weight:500;text-anchor:middle;pointer-events:none;user-select:none}.stress-marker{font-size:16px;font-weight:700;fill:var(--text-primary);text-anchor:middle;pointer-events:none;user-select:none}.pin-marker{font-size:10px;user-select:none;pointer-events:none}.rhyme-marker{font-size:10px;font-weight:700;text-anchor:middle;dominant-baseline:central;user-select:none;pointer-events:none;transition:all .2s ease}.rhyme-marker circle{fill:var(--text-secondary);stroke:var(--bg-panel);stroke-width:1.5px;transition:fill .2s ease}.rhyme-marker text{fill:var(--bg-panel)}.rhyme-marker.status-valid circle{fill:var(--success-dark)}.rhyme-marker.status-invalid circle{fill:var(--error-dark)}.rhyme-marker.status-weak circle{stroke:var(--warning-light);fill:var(--warning-light)}.rhyme-marker.status-pending circle{fill:var(--warning-light);animation:pulse 1.5s infinite}@keyframes pulse{0%{opacity:1}50%{opacity:.6}to{opacity:1}}.line-start-marker{fill:#fff;stroke:var(--text-primary);stroke-width:.5;pointer-events:none}body[data-theme=dark] .line-start-marker{fill:var(--accent-hover-dark);stroke:#fff}.phrase-boundary-suggestion{pointer-events:all;cursor:pointer;transition:opacity .2s ease}.phrase-boundary-suggestion:hover{opacity:1!important}.boundary-suggestion-indicator{fill:#ff4081;stroke:#000;stroke-width:1;opacity:.9}.phrase-boundary-suggestion:hover .boundary-suggestion-indicator{fill:#ff80ab;opacity:1}body[data-theme=dark] .boundary-suggestion-indicator{fill:#ff80ab}body[data-theme=dark] .phrase-boundary-suggestion:hover .boundary-suggestion-indicator{fill:#ffc1e3}.density-toggle-group{display:flex;gap:0;border-radius:6px;overflow:hidden;border:1px solid var(--border-color, rgba(255,255,255,.15))}.density-toggle-btn{flex:1;padding:.35rem .5rem;font-size:.78rem;border:none;background:var(--panel-bg, rgba(255,255,255,.05));color:var(--text-secondary, rgba(255,255,255,.6));cursor:pointer;transition:background .15s,color .15s}.density-toggle-btn:not(:last-child){border-right:1px solid var(--border-color, rgba(255,255,255,.15))}.density-toggle-btn.active{background:var(--accent-color, #4fc3f7);color:#000;font-weight:600}.density-toggle-btn:hover:not(.active){background:var(--panel-hover, rgba(255,255,255,.1));color:var(--text-primary, #fff)}.subdivision-boundary-suggestion{pointer-events:all;cursor:pointer;transition:opacity .2s ease}.subdivision-boundary-suggestion:hover{opacity:1!important}.subdivision-suggestion-indicator{fill:#4db6ac;stroke:#0006;stroke-width:.8;opacity:.85}.subdivision-boundary-suggestion:hover .subdivision-suggestion-indicator{fill:#80cbc4;opacity:1}body[data-theme=dark] .subdivision-suggestion-indicator{fill:#80deea}body[data-theme=dark] .subdivision-boundary-suggestion:hover .subdivision-suggestion-indicator{fill:#b2ebf2}#bpm-display{position:absolute;top:5px;right:10px;z-index:11;background-color:#00000080;color:#fff;padding:2px 6px;border-radius:4px;font-size:.8rem}#playhead{stroke-width:2;pointer-events:none;transition:stroke .15s ease-in-out,opacity .15s ease-in-out}#playhead.stopped{stroke:var(--accent-primary);opacity:.8}#playhead.playing{stroke:var(--playhead-color);opacity:1}#ruler-playhead{position:absolute;top:0;left:0;width:0;height:100%;border-left:2px solid var(--accent-primary);pointer-events:none;z-index:5;box-sizing:border-box}#ruler-playhead.playing{border-left-color:var(--playhead-color)}.rhyme-popover-fob{overflow:visible;z-index:50}.rhyme-popover-container{width:220px;height:250px;box-shadow:0 4px 12px #00000026;display:flex;flex-direction:column}.rhyme-popover-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;border-bottom:1px solid var(--border-color);flex-shrink:0}.rhyme-popover-header h3{margin:0;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rhyme-popover-header .close-btn{padding:0;width:24px;height:24px;font-size:1.2rem;line-height:1}.rhyme-popover-body{flex-grow:1;overflow-y:auto;padding:.5rem}.rhyme-popover-body .loader-wrapper{display:flex;justify-content:center;align-items:center;height:100%}.rhyme-popover-body .error-text,.rhyme-popover-body .no-results-text{padding:1rem;font-size:.85rem;color:var(--text-secondary);text-align:center}.rhyme-suggestions-list{list-style:none;margin:0;padding:0}.rhyme-suggestions-list .suggestion-btn{width:100%;text-align:left;background:transparent;border:none;padding:.5rem .75rem;color:var(--text-primary);border-radius:4px}.rhyme-suggestions-list .suggestion-btn:hover{background:var(--btn-secondary-hover);color:var(--accent-hover)}.rhyme-connection-path{fill:none;stroke-width:2.5px;opacity:0;transition:opacity .2s ease-in-out;pointer-events:none}.rhyme-connection-path.visible{opacity:.8}.rhyme-connection-path[data-rhyme-group=A]{stroke:var(--c-verse-1)}.rhyme-connection-path[data-rhyme-group=B]{stroke:var(--c-chorus-1)}.rhyme-connection-path[data-rhyme-group=C]{stroke:var(--c-bridge)}.rhyme-connection-path[data-rhyme-group=D]{stroke:var(--c-pre-chorus)}.switch{position:relative;display:inline-block;width:34px;height:20px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:var(--btn-secondary-bg);border:1px solid color-mix(in srgb,var(--border-color) 68%,var(--text-secondary) 32%);transition:.4s}.slider:before{position:absolute;content:"";height:14px;width:14px;left:3px;bottom:3px;background-color:#fff;transition:.4s}input:checked+.slider{background-color:var(--accent-primary);border-color:color-mix(in srgb,var(--accent-primary) 70%,var(--border-color))}input:disabled+.slider{cursor:not-allowed;background-color:var(--border-color);opacity:.66;border-style:dashed}input:focus+.slider{box-shadow:0 0 0 2px var(--bg-panel),0 0 0 4px var(--accent-primary)}input:checked+.slider:before{transform:translate(14px)}.slider.round{border-radius:20px}.slider.round:before{border-radius:50%}#generation-controls-panel.panel-elevated{background:color-mix(in srgb,var(--bg-panel) 95%,var(--accent-primary) 5%);border:1px solid color-mix(in srgb,var(--accent-primary) 20%,transparent);box-shadow:0 4px 12px rgba(var(--accent-rgb),.1),0 2px 6px rgba(var(--accent-rgb),.08)}#generation-controls-panel{position:relative}#generation-controls-panel .panel-content{display:flex;flex-direction:column;gap:.9rem;padding:1.125rem}#generation-controls-helper{font-size:.76rem;line-height:1.35;color:var(--text-secondary);background:color-mix(in srgb,var(--accent-primary) 8%,transparent);border:1px solid color-mix(in srgb,var(--accent-primary) 22%,transparent);border-radius:8px;padding:.56rem .72rem}.generation-controls-section{display:flex;flex-direction:column;gap:.35rem}.generation-controls-section .label-wrapper{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:0}.generation-controls-section .label-wrapper label{font-size:.84rem;font-weight:600;color:var(--text-secondary);letter-spacing:.01em;line-height:1.3}#global-rhyme-scheme-select,#local-rhyme-scheme-select,#global-style-select,#local-style-select,#global-theme-input,#local-theme-input,.full-width{width:100%}.generation-actions{display:flex;margin-top:.35rem}.gen-actions-sep{height:1px;background:color-mix(in srgb,var(--accent-primary) 15%,transparent);margin:.12rem 0 0}#generate-lyrics-btn{width:100%;padding:12px 14px;font-size:1rem;font-weight:600;border-radius:10px}.is-inherited input,.is-inherited select{color:var(--text-secondary);font-style:italic}.link-state-btn{background:color-mix(in srgb,var(--btn-secondary-bg) 78%,transparent);border:1px solid var(--border-color);padding:0;margin:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;border-radius:4px;transition:all .2s ease}.link-state-btn svg{width:16px;height:16px;transition:transform .2s ease}.link-state-btn:hover{background-color:color-mix(in srgb,var(--btn-secondary-hover) 75%,transparent);border-color:color-mix(in srgb,var(--accent-primary) 45%,var(--border-color))}.link-state-btn:focus-visible{outline:2px solid color-mix(in srgb,var(--accent-primary) 60%,transparent);outline-offset:2px}.link-state-btn .broken-link-icon{display:none}.link-state-btn .link-icon{display:block}.is-inherited .link-state-btn{color:var(--text-secondary);border-color:color-mix(in srgb,var(--text-secondary) 40%,var(--border-color));background:transparent;cursor:default}.is-inherited .link-state-btn:hover{background:transparent;border-color:color-mix(in srgb,var(--text-secondary) 40%,var(--border-color));transform:none}.is-inherited .link-state-btn:focus{outline:none;box-shadow:none}.generation-controls-section:not(.is-inherited) .link-state-btn{color:var(--accent-primary);border-color:color-mix(in srgb,var(--accent-primary) 50%,var(--border-color))}.generation-controls-section:not(.is-inherited) .link-state-btn:hover{transform:scale(1.1)}.generation-controls-section:not(.is-inherited) .link-state-btn .broken-link-icon{display:block}.generation-controls-section:not(.is-inherited) .link-state-btn .link-icon{display:none}@media(max-width:900px){#generation-controls-panel .panel-content{padding:1rem;gap:.75rem}#generation-controls-helper{font-size:.73rem;padding:.5rem .65rem}}#lyrics-container .panel-content{padding:0;flex:1 1 auto;min-height:0}.lyrics-content-grid{display:grid;grid-template-columns:minmax(0,1fr) var(--lyrics-comparison-handle-width) var(--lyrics-comparison-width);height:100%;align-items:stretch;min-height:0}.lyrics-content-grid.lyrics-content-grid--comparison-hidden{grid-template-columns:minmax(0,1fr)}.lyrics-content-grid.lyrics-content-grid--comparison-hidden .lyrics-comparison-resize-handle,.lyrics-content-grid.lyrics-content-grid--comparison-hidden .lyrics-sidebar{display:none}.panel-header-left{display:flex;align-items:center;gap:1.5rem}.lyrics-view-controls{display:flex;align-items:flex-start;flex-wrap:wrap;column-gap:.75rem;row-gap:.5rem;min-width:0}.lyrics-control-item{display:inline-flex;align-items:center;justify-content:space-between;gap:.45rem;padding:.22rem .45rem;border:1px solid color-mix(in srgb,var(--border-color) 88%,var(--accent-primary) 12%);border-radius:8px;background:color-mix(in srgb,var(--accent-primary) 4%,transparent);min-width:fit-content;max-width:100%;white-space:nowrap;transition:border-color .15s ease,background-color .15s ease}.lyrics-control-item:hover{border-color:color-mix(in srgb,var(--border-color) 72%,var(--accent-primary) 28%);background:color-mix(in srgb,var(--accent-primary) 6%,transparent)}.lyrics-control-item .switch{flex:0 0 auto}.lyrics-control-item--button{white-space:normal;justify-content:flex-start}.lyrics-control-item--button #toggle-lyrics-comparison-btn{margin:0}#toggle-lyrics-comparison-btn[aria-pressed=true]{background-color:color-mix(in srgb,var(--accent-primary) 18%,var(--bg-panel));border-color:var(--accent-primary);color:var(--text-primary);box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb),.22)}.lyrics-control-label{font-size:.85rem;color:var(--text-secondary);font-weight:500;line-height:1.2}.lyrics-control-item #rhyme-connections-label{white-space:normal;text-wrap:pretty;max-inline-size:20ch}#lyrics-view-mode-label{min-width:max-content}#lyrics-container .panel-header #lyrics-nav-container{margin-left:auto}.panel-header-title-wrapper{display:flex;align-items:center;gap:.5rem}#lyrics-main-column{display:flex;flex-direction:column;min-height:0;max-height:none}body[data-theme=light] #lyrics-main-column{background-color:color-mix(in srgb,var(--bg-panel) 97%,var(--bg) 3%)}#lyrics-section-nav-container{display:flex;flex-wrap:wrap;gap:.5rem;padding:var(--lyrics-subheader-padding-y) var(--lyrics-subheader-padding-x);border-bottom:1px solid var(--border-color)}.lyrics-nav-btn{padding:.3rem .8rem;font-size:.8rem;border:1px solid var(--section-color, var(--border-color));transition:border-color .2s ease,background-color .2s ease,color .2s ease}.lyrics-nav-btn.secondary-btn{box-shadow:none;transform:none}.lyrics-nav-btn.secondary-btn:hover:not(:disabled){transform:none;box-shadow:none}.lyrics-nav-btn.active{background-color:var(--section-color, var(--accent-primary));color:#fff;border-color:var(--section-color, var(--accent-primary));border-width:2px;font-weight:600}#lyrics-section-nav-container[data-view-mode=multi] .lyrics-nav-btn.active{background-color:color-mix(in srgb,var(--section-color) var(--lyrics-multi-nav-active-section-mix, 14%),var(--btn-secondary-bg) 86%);color:var(--text-primary)}.lyrics-nav-btn.is-selected{border-width:2.5px;box-shadow:0 0 4px color-mix(in srgb,var(--section-color) 20%,transparent)}.lyrics-nav-btn.active.is-selected{border-width:2.5px;box-shadow:0 0 6px color-mix(in srgb,var(--section-color) 28%,transparent)}.lyrics-nav-btn.is-ghost-section{opacity:.75;border-style:dashed}.lyrics-nav-btn.is-ghost-section:after{content:" 👻";opacity:.7;margin-left:.2rem}@media(max-width:1180px){.lyrics-view-controls{column-gap:.6rem;row-gap:.45rem}.lyrics-control-item{padding:.2rem .42rem}.lyrics-control-label{font-size:.82rem}.lyrics-control-item #rhyme-connections-label{max-inline-size:18ch}}@media(max-width:980px){.lyrics-view-controls{width:100%}.lyrics-control-item{min-width:12.5rem}}@media(max-width:720px){.lyrics-control-item{min-width:100%}.lyrics-control-item--button #toggle-lyrics-comparison-btn{width:100%}}#lyrics-panel{flex-grow:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:var(--lyrics-panel-body-padding);display:flex;flex-direction:column;gap:.5rem}#lyrics-panel.lyrics-panel--side-by-side{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem 1rem;align-content:start;align-items:start;padding:var(--lyrics-panel-body-padding) 1.1rem 1.1rem}#lyrics-panel.lyrics-panel--side-by-side .lyrics-section-group{display:flex;flex-direction:column;gap:.6rem;min-width:0;padding:.35rem .45rem .45rem;overflow:visible}#lyrics-panel.lyrics-panel--side-by-side .lyrics-section-group>*{min-width:0}.lyrics-multi-view-header{font-size:.8rem;line-height:1.25;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;padding-top:.65rem;margin-top:.65rem;border-top:1px solid var(--border-color)}#lyrics-panel .lyrics-multi-view-header:first-child{margin-top:0;padding-top:0;border-top:none}.lyrics-multi-view-header{border-left:3px solid var(--section-color, var(--text-secondary));padding-left:.75rem;transition:border-color .2s ease,border-width .2s ease,font-weight .2s ease}.lyrics-multi-view-header.is-ghost-section{opacity:.75;border-style:dashed}.lyrics-multi-view-header.is-selected{font-weight:700;border-width:4px;color:var(--section-color, var(--text-primary))}.lyrics-multi-view-header .ghost-indicator{font-size:.9em;margin-right:.3rem;opacity:.7}.lyrics-panel-placeholder{display:flex;align-items:center;justify-content:center;height:100%;min-height:150px;text-align:center;color:var(--text-secondary);padding:2rem;font-size:.9rem}.lyrics-sidebar{padding:0 var(--lyrics-sidebar-inline-padding) var(--lyrics-sidebar-inline-padding) var(--lyrics-sidebar-inline-padding);border-left:1px solid var(--border-color);display:flex;flex-direction:column;gap:.85rem;overflow:hidden;min-height:0;min-width:0}body[data-theme=light] .lyrics-sidebar{background-color:color-mix(in srgb,var(--bg-panel) 86%,var(--bg) 14%);border-left-color:color-mix(in srgb,var(--border-color) 90%,transparent);box-shadow:inset 1px 0 color-mix(in srgb,var(--bg) 35%,transparent)}.lyrics-sidebar-section{display:flex;flex-direction:column;flex:1 1 auto;gap:0;min-height:0}.lyrics-sidebar-header{display:flex;align-items:center;box-sizing:border-box;flex-shrink:0;margin:0 calc(-1 * var(--lyrics-sidebar-inline-padding));padding:var(--lyrics-subheader-padding-y) var(--lyrics-sidebar-header-padding-x);border-bottom:1px solid var(--border-color)}.lyrics-sidebar-header .lyrics-sidebar-title{margin:0}.lyrics-comparison-resize-handle{cursor:ew-resize;align-self:stretch;width:var(--lyrics-comparison-handle-width);position:relative;touch-action:none}.lyrics-comparison-resize-handle:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;transform:translate(-50%);background-color:color-mix(in srgb,var(--border-color) 84%,transparent);border-radius:999px;opacity:.7}.lyrics-comparison-resize-handle:hover:before,body.lyrics-comparison-resizing .lyrics-comparison-resize-handle:before{background-color:var(--accent-primary);opacity:1}.analysis-panel{display:flex;flex:0 0 var(--analysis-sidebar-width, 420px);flex-direction:column;align-self:stretch;width:var(--analysis-sidebar-width, 420px);min-height:0;overflow:hidden;position:relative;border-color:color-mix(in srgb,var(--border-color) 90%,transparent);background-color:color-mix(in srgb,var(--bg-panel) 88%,var(--bg))}.analysis-panel-resize-handle{position:absolute;top:0;left:-6px;bottom:0;width:12px;cursor:ew-resize;z-index:5;touch-action:none}.analysis-panel-resize-handle:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;transform:translate(-50%);background-color:color-mix(in srgb,var(--border-color) 88%,transparent);border-radius:999px;transition:background-color .18s ease,opacity .18s ease;opacity:.7}.analysis-panel-resize-handle:hover:before,body.analysis-panel-resizing .analysis-panel-resize-handle:before{background-color:var(--accent-primary);opacity:1}.analysis-panel-content{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;max-height:none;overflow-y:auto}body[data-theme=light] .analysis-panel-content{background-color:color-mix(in srgb,var(--bg-panel) 95%,var(--bg) 5%)}.analysis-panel .panel-header{background-color:color-mix(in srgb,var(--bg-panel) 68%,var(--bg))}.analysis-panel .panel-header h3{font-size:.96rem}.analysis-panel-section{display:flex;flex-direction:column;gap:.75rem}body[data-theme=light] .analysis-panel-section+.analysis-panel-section{border-top:1px solid color-mix(in srgb,var(--border-color) 55%,transparent);padding-top:.5rem}#lyrics-container{flex:1 1 0;min-height:240px}body[data-workspace-focus-mode=midi] .piano-roll-panel{--piano-roll-panel-size: var(--piano-roll-focus-size, 62vh);flex:1 1 var(--piano-roll-panel-size);min-height:360px}body[data-workspace-focus-mode=midi] #lyrics-container{flex:0 0 auto;min-height:auto}body[data-workspace-focus-mode=midi] .left-column{display:none}body[data-workspace-focus-mode=midi] .main-layout{grid-template-columns:minmax(0,1fr)}body[data-workspace-focus-mode=midi] #resize-handle,body[data-workspace-focus-mode=lyrics] .piano-roll-panel{display:none}body[data-workspace-focus-mode=lyrics] #lyrics-container{flex:1 1 auto;min-height:0}body[data-workspace-focus-mode=lyrics] .lyrics-content-grid{grid-template-columns:minmax(0,1fr)}body[data-workspace-focus-mode=lyrics] .lyrics-sidebar,body[data-workspace-focus-mode=lyrics] .lyrics-comparison-resize-handle{display:none}body[data-workspace-focus-mode=lyrics] #lyrics-panel{padding-right:1.25rem}body[data-workspace-focus-mode=lyrics] .left-column{display:none}body[data-workspace-focus-mode=lyrics] .main-layout{grid-template-columns:minmax(0,1fr)}body[data-workspace-focus-mode=lyrics] #resize-handle,body[data-workspace-focus-mode=workspace] .left-column{display:none}body[data-workspace-focus-mode=workspace] .main-layout{grid-template-columns:minmax(0,1fr)}body[data-workspace-focus-mode=workspace] #resize-handle,body[data-workspace-focus-mode=workspace] #analysis-panel{display:none}body[data-workspace-focus-mode=workspace] .workspace-content{--analysis-sidebar-width: 0px}body[data-workspace-focus-mode=workspace] .piano-roll-panel{display:flex}body[data-workspace-focus-mode=workspace] #lyrics-container{flex:1 1 auto;min-height:0}#lyrics-nav-container{display:flex;gap:.5rem;flex-wrap:wrap}@media(max-width:1400px){.workspace-content{--analysis-sidebar-width: 380px}}@media(max-width:1100px){#lyrics-panel.lyrics-panel--side-by-side{grid-template-columns:minmax(0,1fr);gap:.9rem;padding:.95rem 1rem 1rem}}@media(max-width:1280px)and (min-width:1101px){#lyrics-panel.lyrics-panel--side-by-side{gap:.9rem .85rem;padding:.95rem 1rem 1rem}#lyrics-panel.lyrics-panel--side-by-side .lyrics-section-group{padding:.3rem .35rem .4rem}}.lyrics-line{padding:.2rem .4rem;line-height:1.2;cursor:text;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-grow:1}.lyrics-line-container{display:flex;flex-direction:column;border-left:2px solid var(--section-color, transparent);padding-left:.5rem;margin-left:.25rem;transition:border-color .2s ease,border-width .2s ease,background-color .2s ease,opacity .2s ease}.lyrics-line-container.is-ghost-section{opacity:.8;border-style:dashed}.lyrics-line-container.is-selected{background-color:color-mix(in srgb,var(--section-color) var(--lyrics-multi-section-tint, 5%),transparent);border-width:3px}.lyrics-line-wrapper{position:relative;display:flex;align-items:center;gap:.5rem;min-height:var(--lyrics-row-height);height:var(--lyrics-row-height);margin-bottom:0;border-radius:4px;scroll-margin-top:1rem;transition:background-color .15s ease-in-out,border-left .15s ease-in-out}.lyrics-line-number{width:2.1rem;min-width:2.1rem;text-align:right;padding-right:.3rem;color:var(--text-secondary);font-size:.74rem;font-weight:600;opacity:.9;user-select:none;flex-shrink:0}.lyrics-line-wrapper:focus-within,.lyrics-line-wrapper:hover{background-color:var(--btn-secondary-hover)}.lyrics-line-wrapper.is-selected{background-color:var(--selection-highlight)}.lyrics-line-wrapper.hover-highlight{background-color:color-mix(in srgb,var(--note-highlight-color) 40%,transparent)}.lyrics-line-wrapper.is-playing{background-color:var(--playing-highlight);font-weight:500}.lyrics-line-wrapper.loading>*{opacity:.4}.lyrics-line-wrapper.loading:after{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin-top:-10px;margin-left:-10px;border-radius:50%;border:2px solid var(--border-color);border-top-color:var(--accent-primary);animation:spin 1s linear infinite}.lyrics-line-wrapper:focus-within{outline:1px solid var(--accent-primary)}.lyrics-line-wrapper:hover .lock-btn{opacity:1}.lyrics-line[contenteditable=false]{color:var(--text-secondary);cursor:not-allowed;font-style:italic;opacity:.7}.lyrics-line-wrapper:has(.lyrics-line[contenteditable=false]):hover{background-color:transparent}.lyrics-line-wrapper .lock-btn:disabled{cursor:not-allowed;opacity:.2}.adjustable-word{text-decoration:underline dotted var(--accent-primary);text-decoration-thickness:1.5px;cursor:pointer;transition:color .2s ease,background-color .2s ease;border-radius:3px;padding:0 1px;margin:0 -1px}.adjustable-word:hover{color:var(--accent-hover);background-color:color-mix(in srgb,var(--accent-primary) 10%,transparent)}.adjustable-word.dict-recognized{text-decoration:underline wavy var(--warning-light);text-decoration-thickness:1.5px;cursor:help}.adjustable-word.dict-selected{text-decoration:underline wavy color-mix(in srgb,var(--accent-primary) 70%,var(--warning-light));text-decoration-thickness:1.5px}.adjustable-word.dict-custom{text-decoration:underline wavy color-mix(in srgb,var(--success) 70%,var(--warning-light));text-decoration-thickness:1.5px}.syllable-unset{color:var(--text-secondary);font-style:italic;text-decoration:underline dashed var(--text-tertiary);text-decoration-thickness:1px;cursor:pointer;opacity:.7}.syllable-unset:hover{opacity:1;color:var(--text-primary);background-color:color-mix(in srgb,var(--warning-light) 15%,transparent)}.adjustable-word.syllable-unset{text-decoration:underline dashed var(--warning-light)}.syllable-counter{font-size:.75rem;color:var(--text-secondary);padding:0 .5rem;white-space:nowrap;flex-shrink:0}.syllable-counter--over{color:var(--error);font-weight:600}.line-error-message{font-size:.75rem;color:var(--error);padding-left:76px;margin-top:-2px;margin-bottom:4px}.lyrics-line-container.invalid .lyrics-line-wrapper{background-color:var(--error-bg)}.lyrics-line-container.invalid .syllable-counter{color:var(--error);font-weight:600}.lyrics-line-container.overflow .lyrics-line-wrapper{background-color:color-mix(in srgb,var(--warning) 10%,transparent);border-left:3px solid var(--warning)}.lyrics-line-container.overflow .syllable-counter{color:var(--warning);font-weight:600}.lyrics-line-container.overflow .syllable-counter:before{content:"▲ ";font-size:.6rem}.lyrics-line-container.underflow .lyrics-line-wrapper{background-color:color-mix(in srgb,var(--info, #3b82f6) 8%,transparent);border-left:3px solid var(--info, #3b82f6)}.lyrics-line-container.underflow .syllable-counter{color:var(--info, #3b82f6)}.lyrics-line-container.underflow .syllable-counter:before{content:"▽ ";font-size:.6rem}.line-error-message.overflow-warning{color:var(--warning)}.line-error-message.underflow-warning{color:var(--info, #3b82f6)}.syllable-overflow-text{color:var(--warning);background-color:color-mix(in srgb,var(--warning) 15%,transparent);padding:0 .25rem;border-radius:2px;text-decoration:underline;text-decoration-color:var(--warning);opacity:.85;font-style:italic}.lock-btn{background:transparent;border:none;padding:.25rem;color:var(--text-secondary);width:28px;height:28px;display:grid;place-items:center;border-radius:50%;flex-shrink:0;opacity:.4;transition:opacity .2s ease,color .2s ease,transform .1s ease;cursor:pointer}.lock-btn:hover:not(:disabled){color:var(--text-primary);background-color:var(--btn-secondary-hover)}.lock-btn:active:not(:disabled){transform:scale(.9)}.lock-btn svg{width:16px;height:16px}.lock-btn .lock-closed-icon{display:none}.lock-btn .lock-open-icon,.lock-btn.locked .lock-closed-icon{display:block}.lock-btn.locked .lock-open-icon{display:none}.lock-btn.locked{opacity:1;color:var(--accent-primary)}.highlighted-syllable{background-color:var(--note-highlight-color);color:#000;border-radius:3px;padding:0 2px}#syllable-preview-container{flex:1 1 auto;min-height:140px;max-height:none;overflow-y:auto;padding-top:var(--lyrics-preview-offset-top, var(--lyrics-panel-body-padding));padding-right:10px;display:flex;flex-direction:column;gap:0}.syllable-preview-title{font-weight:700;font-size:.9rem;margin-top:.5rem;color:var(--text-secondary)}.syllable-preview-line{display:block;font-size:.85rem;padding:0;border-radius:4px;min-height:var(--lyrics-row-height)}.syllable-preview-main-row{display:flex;align-items:center;min-height:var(--lyrics-row-height);height:var(--lyrics-row-height);gap:.5rem;padding:0 var(--lyrics-preview-row-padding-x)}.syllable-preview-line-number{color:var(--text-secondary);font-size:.78rem;font-weight:600;white-space:nowrap;flex:0 0 auto}.syllable-preview-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 auto}.syllable-preview-line.match{background-color:color-mix(in srgb,var(--success-dark) 15%,transparent)}.syllable-preview-line.pending{background-color:color-mix(in srgb,var(--warning-dark) 15%,transparent)}.syllable-preview-line.mismatch{background-color:color-mix(in srgb,var(--error-dark) 15%,transparent)}.syllable-preview-status{font-weight:500}.match .syllable-preview-status{color:var(--success-dark)}.pending .syllable-preview-status{color:var(--warning-dark)}.mismatch .syllable-preview-status{color:var(--error-dark)}.rhyme-preview-status{font-size:.75rem;margin-top:0;font-weight:500;white-space:nowrap;flex:0 0 auto}.syllable-preview-status{white-space:nowrap;flex:0 0 auto}.lyrics-sidebar.is-compact .syllable-preview-text,.lyrics-sidebar.is-compact .syllable-preview-status{display:none}.lyrics-sidebar.is-compact .syllable-preview-main-row{justify-content:center}.rhyme-preview-status.status-valid{color:var(--success-dark)}.rhyme-preview-status.status-invalid{color:var(--error-dark)}.rhyme-preview-status.status-weak,.rhyme-preview-status.status-pending{color:var(--warning-light)}.prosody-control{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}#prosody-analysis-label{font-size:.85rem;color:var(--text-secondary);cursor:pointer;user-select:none}.h4-in-tab{margin-bottom:.5rem}#analysis-textarea{width:100%;min-height:120px;resize:vertical;margin-bottom:.75rem;padding:.5rem .75rem}#global-inspiration-keywords,#global-inspiration-text{width:100%;min-height:60px;resize:vertical;padding:.5rem .75rem;margin-bottom:0}#line-refinement-menu,#section-context-menu,#section-ruler-context-menu{position:fixed;z-index:1000;padding:.5rem;min-width:240px;box-shadow:0 5px 15px #0003;overflow:visible}body[data-theme=light] #line-refinement-menu,body[data-theme=light] #section-context-menu,body[data-theme=light] #section-ruler-context-menu{background-color:var(--bg-panel);border:1px solid var(--border-color);box-shadow:0 8px 22px #172b4d1f,0 1px 3px #172b4d14}body[data-theme=dark] #line-refinement-menu,body[data-theme=dark] #section-context-menu,body[data-theme=dark] #section-ruler-context-menu{box-shadow:0 8px 22px #00000061,0 1px 4px #00000047}#line-refinement-menu ul,#section-context-menu ul,#section-ruler-context-menu ul{list-style:none;margin:0;padding:0}#line-refinement-menu li button,#section-context-menu li button,#section-ruler-context-menu li button{background:transparent;border:none;color:var(--text-primary);width:100%;text-align:left;padding:.6rem 1rem;border-radius:4px;font-size:.85rem;cursor:pointer;display:flex;justify-content:flex-start;align-items:center;gap:.75rem}#line-refinement-menu li button:hover,#section-context-menu li button:hover,#section-ruler-context-menu li button:not(.danger-btn):hover{background-color:var(--accent-primary);color:#fff}body[data-theme=light] #line-refinement-menu li button:hover,body[data-theme=light] #section-context-menu li button:hover,body[data-theme=light] #section-ruler-context-menu li button:not(.danger-btn):hover{background-color:color-mix(in srgb,var(--accent-primary) 14%,white);color:var(--text-primary)}#section-ruler-context-menu li button.danger-btn{color:var(--error)}#section-ruler-context-menu li button.danger-btn:hover{background-color:var(--error-bg);color:var(--error)}body[data-theme=dark] #section-ruler-context-menu li button.danger-btn:hover{background-color:var(--error-bg-dark);color:var(--error-dark)}#line-refinement-menu hr,#section-ruler-context-menu hr{border:none;border-top:1px solid var(--border-color);margin:.5rem 0}#line-refinement-menu li.menu-header{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;padding:.6rem 1rem .2rem;pointer-events:none}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#12141999;display:flex;justify-content:center;align-items:center;z-index:1100;padding:1rem;backdrop-filter:blur(4px)}.modal-overlay.hidden{display:none}.modal-content{background-color:var(--bg-panel);border-radius:8px;border:1px solid var(--border-color);box-shadow:0 10px 30px #0000004d;width:100%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--border-color);flex-shrink:0}.modal-header h2{font-size:1.2rem;margin:0;color:var(--text-primary)}.modal-header .icon-btn{font-size:1.5rem;line-height:1}.modal-body{padding:1.5rem;overflow-y:auto;flex-grow:1}.modal-body h3{margin-top:1.5rem;margin-bottom:.5rem;border-bottom:1px solid var(--border-color);padding-bottom:.25rem;color:var(--accent-primary)}.modal-body h3:first-child{margin-top:0}.modal-body p,.modal-body ul,.modal-body div[data-lang-key-html]{line-height:1.6;margin-bottom:1rem}.modal-body ul{padding-left:1.2rem}.modal-body ul li{margin-bottom:.5rem}.modal-body code,.modal-body kbd{background-color:var(--btn-secondary-bg);padding:.1em .4em;border-radius:4px;font-family:monospace;font-size:.9em;border:1px solid var(--border-color)}.modal-body kbd{font-weight:600;padding:.2em .5em}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--border-color);background-color:var(--bg);flex-shrink:0}#confirm-modal-ok-btn{background-color:var(--error);border-color:var(--error)}#confirm-modal-ok-btn:hover:not(:disabled){background-color:color-mix(in srgb,var(--error) 90%,white);border-color:color-mix(in srgb,var(--error) 90%,white)}.help-shortcuts{list-style:none;padding:0}.help-shortcuts li{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--border-color)}.help-shortcuts li:last-child{border-bottom:none}.help-shortcuts kbd{margin-left:.5rem}.help-shortcuts .long-key{width:80px;text-align:center}.export-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.export-group{display:flex;flex-direction:column;gap:.75rem}.export-group h4{color:var(--text-secondary);font-weight:600;border-bottom:1px solid var(--border-color);padding-bottom:.5rem;margin-bottom:.25rem}.export-group button{width:100%;text-align:left;display:flex;align-items:center;gap:.5rem}.midi-export-group-modal{display:flex;flex-direction:column;align-items:stretch;gap:.5rem}.midi-export-group-modal input{flex-grow:1;width:100%}.midi-export-group-modal button{flex-shrink:0;width:100%}.export-prompts-hint{margin:0 0 1rem;font-size:.875rem;color:var(--text-secondary)}.export-prompts-hint.hidden{display:none}.export-prompts-actions{display:flex;gap:.5rem;margin-bottom:1rem}.export-prompts-list{display:flex;flex-direction:column;gap:.5rem;max-height:50vh;overflow-y:auto;padding-right:.25rem}.export-prompts-section-option{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.5rem;border-radius:6px;border:1px solid transparent}.export-prompts-section-option:hover{background:var(--bg-hover, rgba(0, 0, 0, .05))}.export-prompts-section-name{flex:1}.export-prompts-badge{font-size:.75rem;padding:.2rem .5rem;border-radius:4px;background:var(--accent-primary, #1a73e8);color:var(--text-on-accent, #fff)}#command-palette-overlay .modal-content{background:var(--bg-panel);border:1px solid var(--border-color);box-shadow:0 10px 30px #0000004d;border-radius:8px}#command-palette-input{width:100%;border:none;background:transparent;padding:1rem 1.5rem;font-size:1.1rem;border-bottom:1px solid var(--border-color);border-radius:8px 8px 0 0}#command-palette-input:focus{box-shadow:none;border-color:var(--accent-primary);outline:none}#command-palette-results{list-style:none;padding:.5rem;margin:0;max-height:400px;overflow-y:auto}#command-palette-results li button{width:100%;background:transparent;border:none;text-align:left;padding:.75rem 1rem;border-radius:6px;display:flex;justify-content:space-between;align-items:center;color:var(--text-primary);cursor:pointer}#command-palette-results li.selected button{background-color:var(--accent-primary);color:#fff}#command-palette-results li button kbd{background-color:var(--btn-secondary-bg);padding:.1em .4em;border-radius:4px;font-family:monospace;font-size:.8em;border:1px solid var(--border-color);color:var(--text-secondary)}#command-palette-results li.selected button kbd{background-color:#fff3;border-color:#fff6;color:#fff}#onboarding-overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:2000}#onboarding-highlight{position:absolute;box-shadow:0 0 0 9999px #00000080;border-radius:8px;transition:all .3s ease-in-out;border:2px solid var(--accent-primary);pointer-events:none}#onboarding-popup{position:absolute;background-color:var(--bg-panel);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;width:350px;max-width:90vw;box-shadow:0 5px 20px #0000004d;transition:all .3s ease-in-out;z-index:2001}#onboarding-popup h3{margin-top:0;color:var(--accent-primary)}#onboarding-popup p{line-height:1.6;color:var(--text-secondary)}.onboarding-footer{display:flex;justify-content:space-between;align-items:center;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-color)}.onboarding-step-counter{font-size:.8rem;color:var(--text-secondary)}.onboarding-nav{display:flex;gap:.5rem}#demo-guidance-overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:2002}#demo-guidance-highlight{position:absolute;box-shadow:0 0 0 9999px #0009;border-radius:8px;transition:all .25s ease-in-out;border:2px solid var(--accent-primary);pointer-events:none}#demo-guidance-popup{position:absolute;background-color:var(--bg-panel);border:1px solid var(--border-color);border-radius:8px;padding:1rem 1.25rem;width:320px;max-width:90vw;box-shadow:0 5px 20px #0000004d;z-index:2003}#demo-guidance-instruction{margin:0;font-weight:600;color:var(--text-primary)}.lyric-input-fob{overflow:visible;z-index:50}.lyric-input-wrapper{display:flex;align-items:center;background-color:var(--bg-panel);border:1px solid var(--accent-primary);border-radius:6px;box-shadow:0 4px 12px #0003;padding-right:.5rem}.lyric-input-input{flex-grow:1;border:none;background:transparent;padding:.5rem .75rem;font-size:.9rem;color:var(--text-primary)}.lyric-input-input:focus{outline:none;box-shadow:none}.lyric-input-counter{font-size:.8rem;font-weight:500;padding:.25rem .5rem;border-radius:4px}.lyric-input-counter.match{background-color:color-mix(in srgb,var(--success-dark) 15%,transparent);color:var(--success-dark)}.lyric-input-counter.mismatch{background-color:color-mix(in srgb,var(--error-dark) 15%,transparent);color:var(--error-dark)}#syllable-adjust-content{display:flex;flex-direction:column;gap:1rem;max-height:50vh}.syllable-adjust-word{display:flex;align-items:center;gap:1rem;justify-content:space-between;padding:.5rem .75rem;border-radius:6px;background-color:var(--bg)}.syllable-adjust-word-label{font-weight:600;font-size:1rem}.syllable-adjust-word select{min-width:150px}.syllable-adjust-word.not-adjustable{opacity:.6;color:var(--text-secondary)}.syllable-adjust-word.not-adjustable .syllable-adjust-word-label{font-style:italic}.syllable-adjust-word.is-adjustable{background-color:var(--btn-secondary-bg)}.syllable-adjust-word.is-adjustable .syllable-adjust-word-label{font-weight:700;color:var(--accent-primary)}.settings-section{display:flex;flex-direction:column;gap:.5rem}.modal-body .settings-section .instruction-text{text-align:left;margin-bottom:1rem;margin-top:0;line-height:1.5}.settings-actions{display:flex;flex-wrap:wrap;gap:.75rem}#clear-local-cache-btn{background-color:color-mix(in srgb,var(--warning-light) 20%,var(--bg-panel));border-color:var(--warning-light);color:var(--warning-light);font-weight:500}#clear-local-cache-btn:hover:not(:disabled){background-color:color-mix(in srgb,var(--warning-light) 30%,var(--bg-panel));color:color-mix(in srgb,var(--warning-light) 90%,black)}#clear-all-caches-btn{background-color:color-mix(in srgb,var(--error-light) 20%,var(--bg-panel));border-color:var(--error);color:var(--error);font-weight:500}#clear-all-caches-btn:hover:not(:disabled){background-color:var(--error-bg);color:var(--error)}body[data-theme=dark] #clear-local-cache-btn{background-color:color-mix(in srgb,var(--warning-dark) 20%,var(--bg-panel));border-color:var(--warning-dark);color:var(--warning-dark)}body[data-theme=dark] #clear-local-cache-btn:hover:not(:disabled){background-color:color-mix(in srgb,var(--warning-dark) 30%,var(--bg-panel));color:color-mix(in srgb,var(--warning-dark) 95%,white)}body[data-theme=dark] #clear-all-caches-btn{background-color:var(--error-bg-dark);border-color:var(--error-dark);color:var(--error-dark)}body[data-theme=dark] #clear-all-caches-btn:hover:not(:disabled){background-color:color-mix(in srgb,var(--error-dark) 30%,var(--bg-panel))}.telemetry-summary{display:flex;justify-content:space-around;background-color:var(--bg);padding:1rem;border-radius:8px;margin-bottom:1.5rem;border:1px solid var(--border-color)}.summary-item{text-align:center}.summary-item .value{font-size:1.5rem;font-weight:600;color:var(--text-primary)}.summary-item .label{font-size:.8rem;color:var(--text-secondary);text-transform:uppercase}.telemetry-table{width:100%;border-collapse:collapse;font-family:monospace;font-size:.85rem}.telemetry-table th,.telemetry-table td{padding:.6rem .5rem;text-align:left;border-bottom:1px solid var(--border-color)}.telemetry-table th{font-weight:600;color:var(--text-secondary);background-color:var(--bg)}.telemetry-table tr:last-child td{border-bottom:none}.telemetry-table .col-status{width:40px}.telemetry-table .col-time{width:90px}.telemetry-table .col-source,.telemetry-table .col-target{width:120px}.telemetry-table .col-duration{width:80px;text-align:right}.log-status-cell{display:flex;justify-content:center;align-items:center}.log-status{width:10px;height:10px;border-radius:50%;background-color:var(--text-secondary)}.log-status[data-status=success]{background-color:var(--success)}.log-status[data-status=error]{background-color:var(--error)}.log-status[data-status=warning]{background-color:var(--warning)}.lyrics-line-wrapper.needs-analysis{border-left:3px solid var(--warning-light);background-color:color-mix(in srgb,var(--warning-light) 8%,transparent)}body[data-theme=dark] .lyrics-line-wrapper.needs-analysis{background-color:color-mix(in srgb,var(--warning-dark) 12%,transparent)}#analyze-lyrics-btn{animation:pulse-analyze 2s infinite cubic-bezier(.4,0,.6,1)}@keyframes pulse-analyze{0%,to{transform:scale(1);filter:brightness(100%)}50%{transform:scale(1.05);filter:brightness(110%)}}body.has-active-section{--active-section-text-color: #fff;--active-section-text-shadow: 0 1px 2px rgba(0, 0, 0, .4);--active-section-soft: color-mix(in srgb, var(--active-section-color) 24%, transparent);--active-section-border-soft: color-mix( in srgb, var(--active-section-color) 45%, var(--border-color) )}body.has-active-section #generation-controls-panel .panel-header{background:color-mix(in srgb,var(--bg-panel) 88%,var(--active-section-color) 12%);border-color:var(--active-section-border-soft);color:var(--text-primary);text-shadow:none;box-shadow:inset 3px 0 0 var(--active-section-soft);transition:background-color .3s ease,border-color .3s ease,color .3s ease}body.has-active-section #generation-controls-panel .panel-header h3,body.has-active-section #generation-controls-panel .panel-header .icon-btn{color:inherit}body.has-active-section #generate-lyrics-btn{background:linear-gradient(135deg,color-mix(in srgb,var(--active-section-color) 82%,#ffffff),color-mix(in srgb,var(--active-section-color) 88%,#000000));border-color:color-mix(in srgb,var(--active-section-color) 68%,#000000);box-shadow:0 4px 10px color-mix(in srgb,var(--active-section-color) 26%,transparent)}body.has-active-section #generate-lyrics-btn:hover:not(:disabled){background:linear-gradient(135deg,color-mix(in srgb,var(--active-section-color) 76%,#ffffff),color-mix(in srgb,var(--active-section-color) 84%,#000000));border-color:color-mix(in srgb,var(--active-section-color) 62%,#000000)}body.has-active-section #generate-lyrics-btn:active:not(:disabled){background:linear-gradient(135deg,color-mix(in srgb,var(--active-section-color) 88%,#ffffff),color-mix(in srgb,var(--active-section-color) 92%,#000000));border-color:color-mix(in srgb,var(--active-section-color) 72%,#000000)}body.has-active-section #lyrics-container .panel-header .panel-header-title-wrapper{background-color:var(--active-section-color);color:var(--active-section-text-color);text-shadow:var(--active-section-text-shadow);padding:.5rem 1rem;margin:-1rem 0 -1rem -1.5rem;border-radius:11px 0 0 11px;transition:background-color .3s ease,color .3s ease}body.has-active-section #lyrics-container .panel-header .panel-header-title-wrapper h3,body.has-active-section #lyrics-container .panel-header .panel-header-title-wrapper .icon-btn{color:inherit}.toast-container{position:fixed;bottom:2rem;right:2rem;z-index:9999;display:flex;flex-direction:column;gap:.75rem;pointer-events:none;max-width:500px}.toast{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background-color:var(--bg-panel);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #00000026,0 0 0 1px #0000000d;font-size:.9rem;line-height:1.4;color:var(--text-primary);pointer-events:auto;opacity:0;transform:translate(100%);transition:all .3s cubic-bezier(.4,0,.2,1)}.toast-visible{opacity:1;transform:translate(0)}.toast-exit{opacity:0;transform:translate(100%)}.toast-icon{font-size:1.2rem;font-weight:600;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px}.toast-message{flex-grow:1;word-break:break-word}.toast-dismiss{background:transparent;border:none;color:var(--text-secondary);font-size:1.5rem;line-height:1;cursor:pointer;padding:0;width:24px;height:24px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s,color .2s}.toast-dismiss:hover{background-color:#0000001a;color:var(--text-primary)}body[data-theme=dark] .toast-dismiss:hover{background-color:#ffffff1a}.toast-success{border-left:4px solid var(--success)}.toast-success .toast-icon{color:var(--success)}.toast-error{border-left:4px solid var(--error)}.toast-error .toast-icon{color:var(--error)}.toast-warning{border-left:4px solid var(--warning)}.toast-warning .toast-icon{color:var(--warning)}.toast-info{border-left:4px solid var(--accent-primary)}.toast-info .toast-icon{color:var(--accent-primary)}body[data-theme=dark] .toast{background-color:var(--bg-panel);box-shadow:0 4px 12px #0000004d,0 0 0 1px #ffffff1a}@media(max-width:768px){.toast-container{bottom:1rem;right:1rem;left:1rem;max-width:none}.toast{padding:.875rem 1rem;font-size:.85rem}}#native-tooltip-root{position:fixed;top:0;left:0;width:0;height:0;pointer-events:none;z-index:var(--z-native-tooltips)}.native-tooltip-wrapper{z-index:1;position:fixed;pointer-events:none;background:#121419f2;color:#fff;padding:8px 12px;border-radius:6px;font-size:.8125rem;font-weight:500;line-height:1.4;white-space:normal;word-wrap:break-word;max-width:300px;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);box-shadow:0 4px 16px #0000004d,0 2px 8px #0003;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;opacity:0;transform:translateY(-4px) scale(.95);transition:opacity .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1)}.native-tooltip-wrapper.visible{opacity:1;transform:translateY(0) scale(1)}.native-tooltip-wrapper.arrow-top:before{content:"";position:absolute;top:-6px;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid rgba(18,20,25,.95);filter:drop-shadow(0 -2px 4px rgba(0,0,0,.2))}.native-tooltip-wrapper.arrow-bottom:before{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid rgba(18,20,25,.95);filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}body[data-theme=light] .native-tooltip-wrapper{background:#fffffff2;color:#1d1d1f;box-shadow:0 4px 16px #00000026,0 2px 8px #0000001a}body[data-theme=light] .native-tooltip-wrapper.arrow-top:before{border-bottom-color:#fffffff2}body[data-theme=light] .native-tooltip-wrapper.arrow-bottom:before{border-top-color:#fffffff2}@media(prefers-reduced-motion:reduce){.native-tooltip-wrapper{transition:none;transform:none}.native-tooltip-wrapper.visible{transform:none}}.import-review-panel{margin-top:1rem;padding:1rem;border:1px solid var(--border-color);border-radius:10px;background:var(--bg-panel);display:flex;flex-direction:column;gap:1rem}.import-review-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.import-review-header>div:first-child{flex:1;min-width:0}.import-review-desc{margin:.25rem 0 0;font-size:.875rem;color:var(--text-secondary)}.import-review-counter{display:inline-flex;align-items:center;justify-content:center;min-width:1.75rem;height:1.75rem;padding:0 .5rem;font-size:.85rem;font-weight:600;border-radius:20px;background:var(--warning-light, #ffab00);color:#1d1d1f;flex-shrink:0}.import-review-list{display:flex;flex-direction:column;gap:.75rem;max-height:40vh;overflow-y:auto}.import-review-zone{display:flex;flex-direction:column;gap:.5rem}.import-review-zone-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin:0;padding-bottom:.25rem}.import-review-zone-title.zone-open{color:var(--warning-light, #ffab00)}.import-review-zone-title.zone-matched{color:var(--success-light, #00875a)}.import-block{border-radius:8px;border:1px solid var(--border-color);overflow:hidden;background:var(--bg)}.import-block[data-section-type=Verse]{border:2px solid var(--c-verse-1)}.import-block[data-section-type=Chorus]{border:2px solid var(--c-chorus-1)}.import-block[data-section-type=Bridge]{border:2px solid var(--c-bridge)}.import-block[data-section-type=Pre-Chorus]{border:2px solid var(--c-pre-chorus)}.import-block[data-section-type=Intro]{border:2px solid var(--c-intro)}.import-block[data-section-type=Outro]{border:2px solid var(--c-outro)}.import-block[data-section-type=Solo]{border:2px solid var(--c-solo)}.import-block[data-section-type=default],.import-block:not([data-section-type]){border:2px solid var(--c-default)}.import-block.is-open{border-color:color-mix(in srgb,var(--accent-primary) 30%,transparent);background:color-mix(in srgb,var(--accent-primary) 5%,var(--bg))}.import-block.matched{background:color-mix(in srgb,var(--success-light, #00875a) 8%,var(--bg));border-color:color-mix(in srgb,var(--success-light, #00875a) 25%,transparent)}.import-block.pending{opacity:.85}.import-block-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap;padding:.6rem .75rem}.import-block-pills{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.import-block-pill{display:inline-flex;align-items:center;padding:.2rem .5rem;font-size:.8rem;font-weight:600;border-radius:6px;white-space:nowrap}.import-block-pill-section{color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.2)}.import-block-pill-section[data-section-type=Verse]{background:var(--c-verse-1)}.import-block-pill-section[data-section-type=Chorus]{background:var(--c-chorus-1)}.import-block-pill-section[data-section-type=Bridge]{background:var(--c-bridge)}.import-block-pill-section[data-section-type=Pre-Chorus]{background:var(--c-pre-chorus)}.import-block-pill-section[data-section-type=Intro]{background:var(--c-intro)}.import-block-pill-section[data-section-type=Outro]{background:var(--c-outro)}.import-block-pill-section[data-section-type=Solo]{background:var(--c-solo)}.import-block-pill-section[data-section-type=default],.import-block-pill-section:not([data-section-type]){background:var(--c-default)}.import-block-pill-meta{background:var(--btn-secondary-bg);color:var(--text-secondary);font-weight:500}.import-block-pill-status{font-weight:600}.import-block-pill-status.is-open{background:var(--warning-light, #ffab00);color:#1d1d1f}.import-block-pill-status.is-matched{background:var(--success-light, #00875a);color:#fff}.import-block-body{padding:.5rem .75rem;font-size:.85rem;color:var(--text-secondary);border-top:1px solid var(--border-color)}.import-block-body code{font-family:inherit;font-size:.82rem;background:transparent;padding:0}.import-block-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.6rem .75rem;border-top:1px solid var(--border-color);background:color-mix(in srgb,var(--bg-panel) 50%,transparent)}.import-block-actions select{flex:1;min-width:120px}.import-block-actions .assign-block-btn{flex-shrink:0}.import-block-actions .assign-block-btn:not(:disabled){background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.import-block-actions .assign-block-btn:not(:disabled):hover{background:var(--accent-hover);border-color:var(--accent-hover)}.import-block-waiting{display:flex;align-items:center;gap:.5rem;padding:.6rem .75rem;font-size:.85rem;color:var(--text-secondary);border-top:1px solid var(--border-color)}.import-block-waiting .spinner{width:16px;height:16px;border:2px solid var(--border-color);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.import-review-empty{margin:0;padding:.75rem;font-size:.875rem;color:var(--text-secondary);text-align:center}button.loading{position:relative;color:transparent!important;pointer-events:none;cursor:wait}button.loading:after{content:"";position:absolute;top:50%;left:50%;width:16px;height:16px;margin-left:-8px;margin-top:-8px;border:2px solid rgba(255,255,255,.3);border-top-color:currentColor;border-radius:50%;animation:button-spinner .6s linear infinite}@keyframes button-spinner{to{transform:rotate(360deg)}}button:disabled{opacity:.5;cursor:not-allowed;position:relative}button:disabled:hover{transform:none}button:disabled[title]:hover:before{content:attr(title);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);padding:.5rem .75rem;background:var(--bg-tooltip);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;font-size:.85rem;white-space:nowrap;max-width:250px;white-space:normal;z-index:10000;box-shadow:0 4px 12px #00000026;pointer-events:none}[draggable=true]{cursor:grab;transition:opacity .2s,transform .2s}[draggable=true]:active{cursor:grabbing}[draggable=true].dragging{opacity:.5;transform:scale(.95);cursor:grabbing}.drag-over{background:rgba(var(--accent-rgb),.1);border:2px dashed var(--accent-primary);border-radius:8px;animation:drag-over-pulse 1s ease-in-out infinite}@keyframes drag-over-pulse{0%,to{background:rgba(var(--accent-rgb),.05);border-color:var(--accent-primary)}50%{background:rgba(var(--accent-rgb),.15);border-color:var(--accent-secondary)}}.drop-zone-active{background:rgba(var(--accent-rgb),.08);border:2px dashed var(--accent-primary);animation:drop-zone-glow .8s ease-in-out infinite alternate}@keyframes drop-zone-glow{0%{box-shadow:0 0 8px rgba(var(--accent-rgb),.3)}to{box-shadow:0 0 16px rgba(var(--accent-rgb),.6)}}#ai-activity-indicator{position:relative;transition:all .3s ease}#ai-activity-indicator[data-state=inactive]{opacity:.6}#ai-activity-indicator[data-state=active]{color:var(--accent-primary)}#ai-activity-indicator[data-state=active]:before{content:"";position:absolute;top:2px;right:2px;width:8px;height:8px;background:var(--success);border-radius:50%;border:2px solid var(--bg-header);animation:pulse-indicator 2s ease-in-out infinite}@keyframes pulse-indicator{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.2)}}#ai-activity-indicator[data-state=processing]:before{background:var(--warning);animation:pulse-indicator .8s ease-in-out infinite}#ai-activity-indicator[data-state=error]:before{background:var(--error);animation:pulse-indicator .5s ease-in-out infinite}#api-toggle-btn{transition:all .3s ease;position:relative}#api-toggle-btn[aria-pressed=true]{background:rgba(var(--success-rgb),.1);border-color:var(--success);color:var(--success)}#api-toggle-btn[aria-pressed=false]{background:rgba(var(--text-secondary-rgb),.1);border-color:var(--text-secondary);color:var(--text-secondary)}#api-toggle-btn:before{content:"";position:absolute;top:50%;left:12px;width:8px;height:8px;border-radius:50%;transform:translateY(-50%);transition:all .3s ease}#api-toggle-btn[aria-pressed=true]:before{background:var(--success);box-shadow:0 0 8px var(--success)}#api-toggle-btn[aria-pressed=false]:before{background:var(--text-secondary)}@keyframes pulse-on-enable{0%,to{box-shadow:0 0 rgba(var(--accent-rgb),.7)}50%{box-shadow:0 0 0 8px rgba(var(--accent-rgb),0)}}.pulse-on-enable{animation:pulse-on-enable 1.5s ease-out}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px;border-radius:6px}@keyframes success-flash{0%,to{background:transparent}50%{background:rgba(var(--success-rgb),.2)}}.success-feedback{animation:success-flash .5s ease}@keyframes error-shake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}.error-shake{animation:error-shake .4s ease}.panel.loading:after{content:"";position:absolute;inset:0;background:rgba(var(--bg-main-rgb),.8);display:flex;align-items:center;justify-content:center;z-index:10}[data-lang-key-title]:hover:after{content:attr(title);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);padding:.5rem .75rem;background:var(--bg-tooltip);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;font-size:.85rem;white-space:nowrap;z-index:10000;box-shadow:0 4px 12px #00000026;pointer-events:none;opacity:0;animation:tooltip-fadein .2s ease forwards;animation-delay:.5s}@keyframes tooltip-fadein{to{opacity:1}}body[data-theme=dark] .drag-over{background:rgba(var(--accent-rgb),.15)}body[data-theme=dark] button:disabled{opacity:.4}.ai-badge{margin-left:.5rem;font-size:.75rem;line-height:1;border:1px solid currentColor;border-radius:.5rem;padding:.1rem .35rem;opacity:.85}[data-ai-mode=auto] .ai-badge{font-weight:600}[data-ai-mode=manual] .ai-badge{opacity:.9}.ai-powered-badge{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:4px;pointer-events:none;z-index:1}.ai-sparkle{font-size:1rem;line-height:1;opacity:.9;animation:sparkle-idle 2s ease-in-out infinite}@keyframes sparkle-idle{0%,to{opacity:1;transform:rotate(0) scale(1)}50%{opacity:.7;transform:rotate(15deg) scale(1.1)}}.ai-text-badge{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;background:#ffffff26;padding:2px 6px;border-radius:4px;opacity:.85}button[data-ai-state=loading] .ai-sparkle{animation:sparkle-loading 1s linear infinite}@keyframes sparkle-loading{0%{transform:rotate(0)}to{transform:rotate(360deg)}}button[data-ai-state=loading]{opacity:.7;cursor:wait}button[data-ai-state=success]{background-color:var(--success-color, #10b981)!important;transition:background-color .3s ease}button[data-ai-state=success] .ai-sparkle:before{content:"✓";position:absolute;font-size:1.2rem}button[data-ai-state=error]{background-color:var(--error-color, #ef4444)!important;transition:background-color .3s ease}button[data-ai-state=error] .ai-sparkle:before{content:"✗";position:absolute;font-size:1.2rem}body[data-api-paused=true] button[data-ai-powered=true]{opacity:.4;cursor:not-allowed;filter:grayscale(.5)}body[data-api-paused=true] button[data-ai-powered=true] .ai-sparkle{animation:none;opacity:.3}body[data-api-paused=true] button[data-ai-powered=true]:hover{opacity:.4}button.icon-btn[data-ai-powered=true] .ai-powered-badge{position:static;transform:none}button.icon-btn[data-ai-powered=true]{position:relative}#line-refinement-menu button[data-ai-powered=true],#note-context-menu button[data-ai-powered=true]{position:relative;padding-right:60px}#line-refinement-menu button[data-ai-powered=true] .ai-powered-badge,#note-context-menu button[data-ai-powered=true] .ai-powered-badge{right:12px}button[data-ai-powered=true]{position:relative;padding-right:70px}#global-generate-btn[data-ai-powered=true]{padding-right:90px}@media(max-width:768px){.ai-powered-badge{gap:2px}.ai-sparkle{font-size:.875rem}.ai-text-badge{font-size:.6rem;padding:1px 4px}}/**
 * @license
 * SPDX-License-Identifier: Apache-2.0
 *
 * Global/Local Hierarchy Visualization Styles
 * Provides visual clarity for the relationship between global and local settings
 */input[data-inherited=true]::placeholder,select[data-inherited=true] option[data-inherited=true]{color:#10b981b3;font-style:italic}input[data-inherited=false]::placeholder{color:#666}#local-theme-wrapper[data-linked=true] input,#local-style-wrapper[data-linked=true] select,#local-rhyme-wrapper[data-linked=true] select{border-left:3px solid rgba(16,185,129,.5);background:#10b98108}#local-theme-wrapper[data-linked=false] input,#local-style-wrapper[data-linked=false] select,#local-rhyme-wrapper[data-linked=false] select{border-left:3px solid rgba(239,68,68,.5)}#inspiration-panel{opacity:.95}#inspiration-panel .panel-header{background:#ffffff05}@keyframes sync-pulse{0%,to{box-shadow:0 0 #10b98166}50%{box-shadow:0 0 0 6px #10b98100}}.syncing{animation:sync-pulse 1s ease-out}input.value-updated,select.value-updated{animation:value-change-highlight .6s ease-out}@keyframes value-change-highlight{0%{background:#6366f133}to{background:transparent}}.primary-action-btn{background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);color:#fff;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;border-radius:8px;border:none;box-shadow:0 4px 12px rgba(var(--accent-rgb),.25);transition:all .2s ease-in-out;position:relative;overflow:hidden}.primary-action-btn:hover:not(:disabled){box-shadow:0 6px 16px rgba(var(--accent-rgb),.35);transform:translateY(-2px);background:linear-gradient(135deg,var(--accent-hover) 0%,var(--accent-primary) 100%)}.primary-action-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px rgba(var(--accent-rgb),.2)}.primary-action-btn:disabled{background:var(--btn-secondary-bg);color:var(--text-secondary);box-shadow:none;cursor:not-allowed;opacity:.6}.onboarding-reset-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .85rem;font-size:.85rem;line-height:1.2;border:1px dashed rgba(var(--accent-rgb),.4);background:rgba(var(--accent-rgb),.08);color:var(--text-primary);transition:all .2s ease}.onboarding-reset-btn svg{width:14px;height:14px}.onboarding-reset-btn:hover:not(:disabled){border-color:rgba(var(--accent-rgb),.8);background:rgba(var(--accent-rgb),.12);transform:translateY(-1px)}.onboarding-reset-btn:active:not(:disabled){transform:translateY(0)}.onboarding-reset-btn:disabled{border-color:var(--border-color);color:var(--text-secondary);opacity:.7}.primary-action-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.primary-action-btn:hover:not(:disabled):before{left:100%}.global-generate-btn-prominent{background:linear-gradient(135deg,rgba(var(--accent-rgb),.9),rgba(var(--accent-rgb),.7));color:#fff;font-weight:600;padding:.625rem 1.25rem;border-radius:6px;border:1px solid rgba(var(--accent-rgb),.3);box-shadow:0 2px 8px rgba(var(--accent-rgb),.2);transition:all .2s ease-in-out;display:flex;align-items:center;gap:.5rem}.global-generate-btn-prominent:hover:not(:disabled){background:linear-gradient(135deg,var(--accent-primary) 0%,rgba(var(--accent-rgb),.85) 100%);box-shadow:0 4px 12px rgba(var(--accent-rgb),.3);transform:translateY(-1px);border-color:rgba(var(--accent-rgb),.5)}.global-generate-btn-prominent:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 4px rgba(var(--accent-rgb),.15)}.global-generate-btn-prominent:disabled{background:var(--btn-secondary-bg);color:var(--text-secondary);border-color:var(--border-color);box-shadow:none;opacity:.6}.global-generate-btn-prominent svg{flex-shrink:0;opacity:.9}.global-generate-btn-prominent:hover:not(:disabled) svg{opacity:1;animation:subtle-pulse 1.5s ease-in-out infinite}@keyframes subtle-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.05)}}.featured-control{background:rgba(var(--accent-rgb),.05);border-left:3px solid var(--accent-primary);padding:1rem;border-radius:6px;margin-bottom:1rem}.featured-control .control-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1rem;gap:1rem}.featured-control .control-title-group{display:flex;flex-direction:column;gap:.375rem;flex:1}.featured-control .control-title-label{display:block;margin:0;cursor:pointer}.featured-control .control-title-label strong{font-size:1rem;font-weight:600;color:var(--text-primary);display:block}.featured-control .control-subtitle{display:flex;align-items:center;gap:.5rem;font-size:.75rem;opacity:.7}.featured-control .badge-important{background:var(--accent-primary);color:#fff;font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.05em}.featured-control .badge-important-subtle{color:var(--accent-primary);font-size:.7rem;font-weight:500;opacity:.8;text-transform:none;letter-spacing:normal}.featured-control .info-icon{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);width:24px;height:24px;border-radius:50%;display:grid;place-items:center;cursor:help;transition:all .2s;font-size:.85rem;font-weight:600}.featured-control .info-icon:hover{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary);transform:scale(1.1)}.featured-control .info-icon-subtle{background:transparent;border:none;color:var(--text-secondary);width:16px;height:16px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;cursor:help;transition:all .2s;font-size:.7rem;opacity:.6;padding:0;margin:0}.featured-control .info-icon-subtle:hover{opacity:1;color:var(--accent-primary)}.featured-control .control-body{margin-bottom:1rem;padding-left:.25rem}.featured-control .control-mode-indicator{display:flex;flex-direction:column;gap:.5rem;font-size:.85rem}.featured-control .mode-active{display:flex;align-items:center;gap:.375rem;color:var(--success);font-weight:500}.featured-control .mode-inactive{display:flex;align-items:center;gap:.375rem;color:var(--text-secondary);opacity:.5;font-weight:400}.featured-control:has(#prosody-analysis-toggle:checked) .mode-active.on-hint,.featured-control:has(#prosody-analysis-toggle:not(:checked)) .mode-active.off-hint{display:flex}.featured-control:has(#prosody-analysis-toggle:checked) .mode-inactive.off-hint,.featured-control:has(#prosody-analysis-toggle:not(:checked)) .mode-inactive.on-hint{display:none}@supports not selector(:has(*)){.featured-control .mode-active,.featured-control .mode-inactive{display:flex}}.featured-control .control-hint{display:flex;gap:1rem;font-size:.85rem;flex-wrap:wrap}.featured-control .control-hint .on-hint,.featured-control .control-hint .off-hint{color:var(--text-secondary);display:flex;align-items:center;gap:.25rem}.featured-control .control-hint .on-hint{color:var(--success)}.featured-control .control-footer{border-top:1px solid var(--border-color);padding-top:.75rem;margin-top:.5rem}.featured-control .control-footer .secondary-btn{width:100%;justify-content:center}.featured-control .toggle-prominent .slider{width:60px;height:32px}.featured-control .toggle-prominent .slider:before{width:26px;height:26px;left:3px;bottom:3px}.featured-control .toggle-prominent input:checked+.slider:before{transform:translate(28px)}@media(max-width:768px){.primary-action-btn{font-size:.95rem;padding:.65rem 1.25rem}.global-generate-btn-prominent{padding:.5rem 1rem;font-size:.9rem}.featured-control{padding:.75rem}.featured-control .control-header{flex-wrap:wrap;gap:.75rem}.featured-control .control-header-left{width:100%}.featured-control .control-hint{flex-direction:column;gap:.5rem}}body[data-theme=light] .primary-action-btn{box-shadow:0 4px 12px rgba(var(--accent-rgb),.2)}body[data-theme=light] .primary-action-btn:hover:not(:disabled){box-shadow:0 6px 16px rgba(var(--accent-rgb),.3)}body[data-theme=light] .global-generate-btn-prominent{box-shadow:0 2px 8px rgba(var(--accent-rgb),.15)}body[data-theme=light] .global-generate-btn-prominent:hover:not(:disabled){box-shadow:0 4px 12px rgba(var(--accent-rgb),.25)}body[data-theme=light] .featured-control{background:rgba(var(--accent-rgb),.08);border-left-color:var(--accent-primary)}.panel-groups{display:flex;flex-direction:column;gap:2rem}.panel-group{display:flex;flex-direction:column;gap:.75rem}.group-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary);margin:0 0 .5rem .75rem;display:flex;align-items:center;gap:.5rem;user-select:none}.panel-group[data-priority=primary] .group-label{color:var(--accent-primary)}.panel-group[data-priority=secondary] .group-label{color:rgba(var(--accent-rgb),.7)}.panel-group[data-priority=tertiary] .group-label{color:var(--text-secondary)}.group-label-icon{font-size:.9rem;opacity:.8}.group-toggle{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);width:20px;height:20px;border-radius:4px;display:grid;place-items:center;cursor:pointer;transition:all .2s ease;font-size:.9rem;padding:0}.group-toggle:hover{background:rgba(var(--accent-rgb),.1);border-color:var(--accent-primary);color:var(--accent-primary);transform:scale(1.05)}.group-toggle:active{transform:scale(.95)}.group-toggle .toggle-icon{transition:transform .3s ease;display:block}.panel-group[data-collapsed=true] .group-toggle .toggle-icon{transform:rotate(-90deg)}.group-content{display:flex;flex-direction:column;gap:.75rem;transition:all .3s ease;overflow:hidden}.panel-group[data-collapsed=true] .group-content{max-height:0;opacity:0;margin-top:-.75rem;pointer-events:none}.panel-group[data-collapsed=false] .group-content,.panel-group:not([data-collapsed]) .group-content{max-height:none;opacity:1;pointer-events:all}.panel-group .panel{margin-bottom:0}.panel-group[data-priority=primary] .panel{background:rgba(var(--accent-rgb),.02)}.group-hint{font-size:.75rem;color:var(--text-secondary);margin:-.5rem 0 .5rem .75rem;font-style:italic;opacity:.8}.panel-group[data-collapsible=true] .group-label{cursor:pointer;padding:.25rem .5rem;margin-left:.25rem;border-radius:4px;transition:background .2s ease}.panel-group[data-collapsible=true] .group-label:hover{background:rgba(var(--accent-rgb),.05)}.panel-group[data-collapsible=true] .group-label:active{background:rgba(var(--accent-rgb),.1)}.panel-group[data-collapsed=true][data-collapsible=true] .group-label{opacity:.6}.group-item-count{background:rgba(var(--text-secondary-rgb),.15);color:var(--text-secondary);font-size:.65rem;font-weight:600;padding:2px 6px;border-radius:10px;margin-left:auto}.panel-group[data-priority=primary] .group-item-count{background:rgba(var(--accent-rgb),.15);color:var(--accent-primary)}@media(max-width:768px){.panel-groups{gap:1.5rem}.group-label{font-size:.65rem;letter-spacing:.08em}.group-hint{font-size:.7rem}}body[data-theme=light] .panel-group[data-priority=primary] .panel{background:rgba(var(--accent-rgb),.04)}body[data-theme=light] .group-toggle{background:#fffc}body[data-theme=light] .group-toggle:hover{background:rgba(var(--accent-rgb),.08)}body[data-theme=light] .panel-group[data-collapsible=true] .group-label{border:1px solid color-mix(in srgb,var(--border-color) 82%,var(--accent-primary));background:color-mix(in srgb,var(--bg-panel) 86%,var(--bg));color:color-mix(in srgb,var(--text-primary) 82%,var(--text-secondary));box-shadow:0 1px 2px #172b4d0d}body[data-theme=light] .panel-group[data-collapsible=true] .group-label:hover{border-color:color-mix(in srgb,var(--accent-primary) 36%,var(--border-color));background:color-mix(in srgb,var(--accent-primary) 8%,var(--bg-panel))}body[data-theme=light] .panel-group[data-collapsed=true][data-collapsible=true] .group-label{opacity:.82}body[data-theme=light] .panel-group[data-collapsible=true] .group-toggle{border-color:color-mix(in srgb,var(--border-color) 74%,var(--accent-primary));color:color-mix(in srgb,var(--text-primary) 78%,var(--text-secondary))}@keyframes groupExpand{0%{max-height:0;opacity:0}to{max-height:2000px;opacity:1}}@keyframes groupCollapse{0%{max-height:2000px;opacity:1}to{max-height:0;opacity:0}}.panel-group[data-collapsed=false] .group-content{animation:groupExpand .3s ease-out}.panel-group[data-collapsed=true] .group-content{animation:groupCollapse .3s ease-out}.panel-group.hidden{display:none}.panel-group.emphasized{animation:emphasizePulse .6s ease-in-out}@keyframes emphasizePulse{0%,to{transform:scale(1)}50%{transform:scale(1.01);box-shadow:0 0 20px rgba(var(--accent-rgb),.2)}}.group-toggle:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.panel-group[data-collapsible=true] .group-label:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px;border-radius:4px}@media(prefers-reduced-motion:reduce){.group-toggle,.group-content,.group-toggle .toggle-icon{transition:none}.panel-group[data-collapsed=false] .group-content,.panel-group[data-collapsed=true] .group-content{animation:none}}.ftux-modal{position:fixed;inset:0;background:#000000d9;backdrop-filter:blur(8px);z-index:10000;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease-out}.ftux-modal.hidden{display:none}.ftux-content{background:var(--bg-primary);border-radius:16px;padding:3rem 2.5rem;max-width:600px;box-shadow:0 20px 60px #00000080;border:1px solid var(--border-color);animation:slideUp .4s ease-out}.ftux-header{text-align:center;margin-bottom:2rem}.ftux-header h1{font-size:2.5rem;margin-bottom:.5rem;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.ftux-header p{font-size:1.1rem;color:var(--text-secondary);line-height:1.6}.ftux-options{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.ftux-option{background:rgba(var(--accent-rgb),.05);border:2px solid var(--border-color);border-radius:12px;padding:1.5rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:flex-start;gap:1rem;position:relative}.ftux-option:hover{background:rgba(var(--accent-rgb),.1);border-color:var(--accent-primary);transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--accent-rgb),.2)}.ftux-option.loading{opacity:.6;pointer-events:none}.ftux-option.loading:after{content:attr(data-loading-label);position:absolute;top:1rem;right:1.25rem;font-size:.85rem;color:var(--text-secondary)}.ftux-option-icon{font-size:2rem;flex-shrink:0}.ftux-option-content h3{font-size:1.1rem;margin-bottom:.25rem;color:var(--text-primary)}.ftux-option-content p{font-size:.9rem;color:var(--text-secondary);line-height:1.5}.ftux-footer{text-align:center;padding-top:1.5rem;border-top:1px solid var(--border-color)}.ftux-skip-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;text-decoration:underline;font-size:.9rem}.ftux-skip-btn:hover{color:var(--text-primary)}#project-setup-modal{padding:1.25rem}#project-setup-modal .project-setup-content{width:min(760px,100%);max-width:760px;max-height:calc(100vh - 2.5rem);overflow:auto;padding:2rem 2rem 1.5rem;border-radius:18px}#project-setup-modal .project-setup-header{text-align:left;margin-bottom:1.25rem}#project-setup-modal .project-setup-header h1{margin:0 0 .45rem;font-size:1.5rem;line-height:1.25;color:var(--text-primary);background:none;-webkit-text-fill-color:currentColor}#project-setup-modal .project-setup-header p{margin:0;font-size:.95rem;line-height:1.55;color:var(--text-secondary);max-width:62ch}.project-setup-form{margin:0}.project-setup-form-body{display:flex;flex-direction:column;gap:.95rem}#project-setup-modal .project-setup-field{margin:0}#project-setup-modal .project-setup-field label{display:block;margin-bottom:.45rem;font-size:.9rem;font-weight:600;color:var(--text-primary);line-height:1.35}#project-setup-modal .project-setup-field .form-input,#project-setup-modal .project-setup-field .form-select{width:100%;min-height:2.55rem;padding:.55rem .72rem;border-radius:10px;border:1px solid var(--border-color);background:var(--bg);color:var(--text-primary)}#project-setup-modal .project-setup-field textarea.form-input{min-height:120px;line-height:1.45;resize:vertical}#project-setup-modal .project-setup-field .form-input:focus-visible,#project-setup-modal .project-setup-field .form-select:focus-visible,#project-setup-modal .project-setup-field textarea.form-input:focus-visible{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.2)}.project-setup-theme-row{display:grid;grid-template-columns:minmax(210px,1fr) minmax(210px,1fr);gap:.65rem}.project-setup-language-group{display:flex;flex-wrap:wrap;gap:.6rem}.project-setup-language-group .radio-label{display:inline-flex;align-items:center;gap:.45rem;margin:0;padding:.42rem .65rem;border:1px solid var(--border-color);border-radius:999px;background:var(--bg);cursor:pointer}.project-setup-language-group .radio-label input{margin:0}.project-setup-language-group .radio-label span{color:var(--text-primary);font-size:.9rem}.project-setup-language-group .radio-label input:checked+span{color:var(--accent-primary);font-weight:600}.project-setup-translate-row{margin-top:.6rem;padding-top:.6rem;border-top:1px solid var(--border-color)}.project-setup-checkbox-label{display:inline-flex!important;align-items:center;gap:.5rem;margin:0!important}.project-setup-checkbox-label input{margin:0;width:1rem;height:1rem}.project-setup-checkbox-label span{color:var(--text-secondary);font-size:.88rem}#project-setup-modal .project-setup-footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:1.2rem;padding-top:1rem;border-top:1px solid var(--border-color);text-align:initial}#project-setup-modal .project-setup-footer .ftux-skip-btn{text-decoration:none;border:1px solid transparent;border-radius:8px;padding:.45rem .65rem}#project-setup-modal .project-setup-footer .ftux-skip-btn:hover{border-color:var(--border-color);background:var(--btn-secondary-bg)}#project-setup-modal .project-setup-footer #project-setup-confirm{min-width:130px;min-height:2.55rem;font-weight:600}.tour-tooltip{position:fixed;background:var(--bg-primary);border-radius:12px;padding:1.5rem;max-width:350px;box-shadow:0 8px 24px #0006;border:2px solid var(--accent-primary);z-index:9999;animation:tooltipFadeIn .3s ease-out}.tour-tooltip-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.tour-tooltip-header h4{font-size:1.1rem;color:var(--accent-primary);margin:0}.tour-skip-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:.85rem;text-decoration:underline}.tour-skip-btn:hover{color:var(--text-primary)}.tour-tooltip p{font-size:.95rem;line-height:1.6;color:var(--text-primary);margin-bottom:1rem}.tour-tooltip-footer{display:flex;align-items:center;justify-content:space-between}.tour-step-indicator{font-size:.85rem;color:var(--text-secondary)}.tour-next-btn{background:var(--accent-primary);color:#fff;border:none;padding:.5rem 1.25rem;border-radius:6px;cursor:pointer;font-weight:600;transition:all .2s ease}.tour-next-btn:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 2px 8px rgba(var(--accent-rgb),.3)}.tour-highlight{position:fixed;border:3px solid var(--accent-primary);border-radius:8px;box-shadow:0 0 0 9999px #0009,0 0 20px rgba(var(--accent-rgb),.6);z-index:9998;pointer-events:none;animation:highlightPulse 2s ease-in-out infinite}@keyframes highlightPulse{0%,to{box-shadow:0 0 0 9999px #0009,0 0 20px rgba(var(--accent-rgb),.6)}50%{box-shadow:0 0 0 9999px #0009,0 0 30px rgba(var(--accent-rgb),.8)}}.feature-hint{position:absolute;background:var(--accent-primary);color:#fff;padding:.75rem 1rem;border-radius:8px;font-size:.9rem;max-width:300px;box-shadow:0 4px 12px rgba(var(--accent-rgb),.4);z-index:1000;animation:hintSlideIn .4s ease-out;display:flex;align-items:center;gap:.75rem}.feature-hint:before{content:"";position:absolute;top:-8px;left:20px;width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid var(--accent-primary)}.hint-dismiss-btn{background:#fff3;border:none;color:#fff;width:24px;height:24px;border-radius:50%;cursor:pointer;display:grid;place-items:center;flex-shrink:0;transition:all .2s ease}.hint-dismiss-btn:hover{background:#ffffff4d;transform:scale(1.1)}.celebration-modal{position:fixed;inset:0;background:#000000d9;backdrop-filter:blur(8px);z-index:10000;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease-out}.celebration-content{background:var(--bg-primary);border-radius:16px;padding:3rem 2.5rem;max-width:500px;text-align:center;box-shadow:0 20px 60px #00000080;border:2px solid var(--accent-primary);animation:celebrationBounce .6s ease-out}.celebration-content h2{font-size:2.5rem;margin-bottom:1rem;animation:celebrationRotate .6s ease-out}.celebration-content p{font-size:1.2rem;color:var(--text-primary);margin-bottom:.5rem;line-height:1.6}.celebration-hint{font-size:1rem!important;color:var(--text-secondary)!important;margin-bottom:2rem!important}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes tooltipFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes hintSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes celebrationBounce{0%{opacity:0;transform:scale(.8)}60%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes celebrationRotate{0%{transform:rotate(-10deg) scale(.8)}60%{transform:rotate(5deg) scale(1.1)}to{transform:rotate(0) scale(1)}}@media(max-width:768px){.ftux-content{padding:2rem 1.5rem;max-width:90%}.ftux-header h1{font-size:2rem}.tour-tooltip{max-width:280px;padding:1rem}.celebration-content{padding:2rem 1.5rem;max-width:90%}.celebration-content h2{font-size:2rem}#project-setup-modal{padding:.8rem}#project-setup-modal .project-setup-content{max-height:calc(100vh - 1.6rem);padding:1.3rem 1rem 1rem;max-width:none}#project-setup-modal .project-setup-header h1{font-size:1.28rem}.project-setup-theme-row{grid-template-columns:1fr}#project-setup-modal .project-setup-footer{flex-direction:column-reverse;align-items:stretch}#project-setup-modal .project-setup-footer .ftux-skip-btn,#project-setup-modal .project-setup-footer #project-setup-confirm{width:100%;text-align:center}}body[data-theme=light] .ftux-modal,body[data-theme=light] .celebration-modal{background:#fffffff2}body[data-theme=light] .ftux-content,body[data-theme=light] .celebration-content,body[data-theme=light] .tour-tooltip{box-shadow:0 8px 32px #00000026}body[data-theme=light] .tour-highlight{box-shadow:0 0 0 9999px #fffc,0 0 20px rgba(var(--accent-rgb),.5)}@media(prefers-reduced-motion:reduce){.ftux-modal,.ftux-content,.tour-tooltip,.tour-highlight,.feature-hint,.celebration-modal,.celebration-content,.celebration-content h2{animation:none}}.ftux-option:focus-visible,.tour-next-btn:focus-visible,.hint-dismiss-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}/**
 * @license
 * SPDX-License-Identifier: Apache-2.0
 *
 * Prosodie Floating Action Button (FAB)
 * Strategic Improvement #5: Progress Indicators
 *
 * Ein schwebendes Control für den wichtigsten Toggle der App.
 */.fab-prosody-control{position:fixed;bottom:24px;right:24px;z-index:1000;display:flex;align-items:center;gap:12px;pointer-events:none}@media(max-width:768px){.fab-prosody-control{bottom:16px;right:16px;gap:8px}}.fab-toggle{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);color:#fff;border:none;box-shadow:0 4px 16px #0000004d;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;font-size:28px;pointer-events:auto;position:relative;overflow:hidden}.fab-toggle:hover{transform:scale(1.1);box-shadow:0 6px 20px #0006}.fab-toggle:active{transform:scale(.95)}.fab-toggle[data-state=off]{background:linear-gradient(135deg,var(--text-secondary) 0%,#6b7280 100%)}.fab-toggle:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff80;transform:translate(-50%,-50%);transition:width .6s,height .6s}.fab-toggle:active:after{width:100px;height:100px}@media(max-width:768px){.fab-toggle{width:56px;height:56px;font-size:24px}}.fab-icon{display:block;transition:opacity .2s,transform .2s}.fab-icon.hidden{opacity:0;transform:scale(0);position:absolute}.fab-toggle[data-state=on] .icon-prosody-on{opacity:1;transform:scale(1) rotate(0)}.fab-toggle[data-state=on] .icon-prosody-off{opacity:0;transform:scale(0) rotate(-180deg)}.fab-toggle[data-state=off] .icon-prosody-on{opacity:0;transform:scale(0) rotate(180deg)}.fab-toggle[data-state=off] .icon-prosody-off{opacity:1;transform:scale(1) rotate(0)}.fab-label{background:var(--bg-primary);color:var(--text-primary);padding:8px 16px;border-radius:8px;box-shadow:0 2px 8px #0003;font-size:.9rem;font-weight:500;white-space:nowrap;pointer-events:none;opacity:0;transform:translate(8px);transition:opacity .3s,transform .3s;border:1px solid var(--border-color)}.fab-prosody-control:hover .fab-label{opacity:1;transform:translate(0)}.fab-label .state-on,.fab-label .state-off{display:block;transition:opacity .2s}.fab-toggle[data-state=on]~.fab-label .state-on{display:block}.fab-toggle[data-state=on]~.fab-label .state-off{display:none}.fab-toggle[data-state=off]~.fab-label .state-on{display:none}.fab-toggle[data-state=off]~.fab-label .state-off{display:block}@media(max-width:768px){.fab-label{position:absolute;bottom:72px;right:0;transform:translateY(8px)}.fab-prosody-control:hover .fab-label{transform:translateY(0)}}.fab-toggle:focus-visible{outline:3px solid var(--accent-primary);outline-offset:4px}@media(prefers-reduced-motion:reduce){.fab-toggle,.fab-label,.fab-icon{transition:none}.fab-toggle:after{display:none}}@media(prefers-contrast:high){.fab-toggle,.fab-label{border:2px solid currentColor}}body[data-theme=dark] .fab-label{background:var(--bg-primary);border-color:var(--border-color)}body[data-theme=light] .fab-label{background:#fff;border-color:#e5e7eb;box-shadow:0 2px 8px #00000026}.fab-toggle[data-loading=true]{pointer-events:none;opacity:.6}.fab-toggle[data-loading=true]:before{content:"";position:absolute;width:20px;height:20px;border:2px solid white;border-top-color:transparent;border-radius:50%;animation:fab-spinner .8s linear infinite}@keyframes fab-spinner{to{transform:rotate(360deg)}}.fab-toggle:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.fab-toggle.pulse{animation:fab-pulse 2s infinite}@keyframes fab-pulse{0%,to{transform:scale(1);box-shadow:0 4px 16px #0000004d}50%{transform:scale(1.05);box-shadow:0 6px 24px rgba(var(--accent-rgb),.5)}}.fab-toggle.pulse:hover{animation:none}.fab-label:before{content:"";position:absolute;right:-6px;top:50%;transform:translateY(-50%);width:0;height:0;border-style:solid;border-width:6px 0 6px 6px;border-color:transparent transparent transparent var(--bg-primary)}body[data-theme=light] .fab-label:before{border-left-color:#fff}@media(max-width:768px){.fab-label:before{right:50%;top:auto;bottom:-6px;transform:translate(50%);border-width:6px 6px 0 6px;border-color:var(--bg-primary) transparent transparent transparent}body[data-theme=light] .fab-label:before{border-top-color:#fff}}/**
 * @license
 * SPDX-License-Identifier: Apache-2.0
 *
 * Discovery Hints - Feature Discovery System
 * Strategic Improvement #4: Workflow Shortcuts
 *
 * Subtle hover hints that appear once to help users discover hidden features.
 */.discovery-hint{position:absolute;top:100%;left:0;background:var(--accent-primary);color:#fff;padding:8px 12px;border-radius:6px;font-size:.85rem;font-weight:500;margin-top:4px;opacity:0;pointer-events:none;transition:opacity .3s ease-out;z-index:100;white-space:nowrap;box-shadow:0 2px 8px #0003}.discovery-hint:before{content:"";position:absolute;bottom:100%;left:12px;width:0;height:0;border-style:solid;border-width:0 6px 6px 6px;border-color:transparent transparent var(--accent-primary) transparent}.lyric-line:hover .discovery-hint:not(.dismissed),.section-ruler:hover .discovery-hint:not(.dismissed),.piano-roll-note:hover .discovery-hint:not(.dismissed),.global-generate-btn:hover .discovery-hint:not(.dismissed){opacity:1;animation:gentle-bounce .6s ease-in-out}.discovery-hint.dismissed{display:none!important}@keyframes gentle-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.discovery-hint.first-appearance{animation:hint-fade-in .4s ease-out}@keyframes hint-fade-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.discovery-hint.hint-right{top:50%;left:100%;margin-top:0;margin-left:8px;transform:translateY(-50%)}.discovery-hint.hint-right:before{inset:50% 100% auto auto;transform:translateY(-50%);border-width:6px 6px 6px 0;border-color:transparent var(--accent-primary) transparent transparent}.discovery-hint.hint-top{top:auto;bottom:100%;margin-top:0;margin-bottom:4px}.discovery-hint.hint-top:before{bottom:auto;top:100%;border-width:6px 6px 0 6px;border-color:var(--accent-primary) transparent transparent transparent}.discovery-hint strong{font-weight:700}.discovery-hint .hint-icon{display:inline-block;margin-right:4px;font-size:1rem}.discovery-hint .hint-key{background:#fff3;padding:2px 6px;border-radius:3px;font-family:monospace;font-size:.8rem;margin:0 2px}.lyric-line,.section-ruler,.piano-roll-note{position:relative}.discovery-hint-container{position:relative;overflow:visible}.lyric-line .discovery-hint{left:0;top:100%}.section-ruler .discovery-hint{left:50%;transform:translate(-50%);white-space:nowrap}.section-ruler .discovery-hint:before{left:50%;transform:translate(-50%)}.piano-roll-note .discovery-hint{left:50%;transform:translate(-50%);bottom:100%;top:auto;margin-bottom:4px}.piano-roll-note .discovery-hint:before{bottom:auto;top:100%;left:50%;transform:translate(-50%);border-width:6px 6px 0 6px;border-color:var(--accent-primary) transparent transparent transparent}#global-generate-btn .discovery-hint{left:auto;right:0;white-space:normal;max-width:200px}#global-generate-btn .discovery-hint:before{left:auto;right:12px}@media(max-width:768px){.discovery-hint{font-size:.75rem;padding:6px 10px;max-width:180px;white-space:normal}.discovery-hint:before{border-width:0 5px 5px 5px}.discovery-hint.hint-right:before{border-width:5px 5px 5px 0}.discovery-hint.hint-top:before{border-width:5px 5px 0 5px}.piano-roll-note .discovery-hint:before{border-width:5px 5px 0 5px}}@media(prefers-contrast:high){.discovery-hint{border:2px solid white}}@media(prefers-reduced-motion:reduce){.discovery-hint{animation:none!important;transition:opacity .1s}}body[data-theme=light] .discovery-hint{background:var(--accent-primary);box-shadow:0 2px 8px #00000026}body[data-theme=dark] .discovery-hint{background:var(--accent-primary);box-shadow:0 2px 8px #0006}.discovery-hint.hint-context-menu{background:linear-gradient(135deg,#8b5cf6,#6366f1)}.discovery-hint.hint-context-menu:before{border-color:transparent transparent #8b5cf6 transparent}.discovery-hint.hint-top.hint-context-menu:before{border-color:#8b5cf6 transparent transparent transparent}.discovery-hint.hint-keyboard{background:linear-gradient(135deg,#10b981,#059669)}.discovery-hint.hint-keyboard:before{border-color:transparent transparent #10b981 transparent}.discovery-hint.hint-top.hint-keyboard:before{border-color:#10b981 transparent transparent transparent}.discovery-hint.hint-feature{background:linear-gradient(135deg,#f59e0b,#d97706)}.discovery-hint.hint-feature:before{border-color:transparent transparent #f59e0b transparent}.discovery-hint.hint-top.hint-feature:before{border-color:#f59e0b transparent transparent transparent}.discovery-hints-group{position:relative}.discovery-hints-group .discovery-hint{position:relative;display:block;margin-bottom:4px;opacity:1}.discovery-hints-group .discovery-hint:last-child{margin-bottom:0}.discovery-hint.active{opacity:1!important;transform:scale(1.05)}.discovery-hint.fading-out{animation:hint-fade-out .3s ease-out forwards}@keyframes hint-fade-out{to{opacity:0;transform:translateY(-12px)}}.discovery-hint{z-index:100}.modal-overlay~.discovery-hint{z-index:99}@media print{.discovery-hint{display:none!important}}/**
 * @license
 * SPDX-License-Identifier: Apache-2.0
 *
 * Smart Defaults & Presets
 * Strategic Improvement #3: Smart Defaults
 *
 * Intelligente Vorschläge und Genre-Presets statt leere Eingabefelder.
 */.smart-input-wrapper{position:relative;width:100%}.smart-input-wrapper label{display:flex;align-items:center;gap:8px;margin-bottom:4px}.suggest-btn{background:rgba(var(--accent-rgb),.1);border:1px solid rgba(var(--accent-rgb),.3);color:var(--accent-primary);padding:4px 8px;border-radius:4px;font-size:.75rem;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:4px}.suggest-btn:hover{background:rgba(var(--accent-rgb),.2);border-color:var(--accent-primary);transform:translateY(-1px)}.suggest-btn:active{transform:translateY(0)}.suggest-btn:before{content:"💡";font-size:1rem}.suggestions-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 16px #0003;margin-top:4px;padding:12px;z-index:100;max-height:400px;overflow-y:auto;opacity:1;transform:translateY(0);transition:opacity .2s,transform .2s}.suggestions-dropdown.hidden{opacity:0;transform:translateY(-8px);pointer-events:none;display:none}.suggestions-dropdown::-webkit-scrollbar{width:8px}.suggestions-dropdown::-webkit-scrollbar-track{background:#0000001a;border-radius:4px}.suggestions-dropdown::-webkit-scrollbar-thumb{background:rgba(var(--accent-rgb),.3);border-radius:4px}.suggestions-dropdown::-webkit-scrollbar-thumb:hover{background:rgba(var(--accent-rgb),.5)}.suggestion-category{margin-bottom:16px}.suggestion-category:last-child{margin-bottom:0}.suggestion-category h5{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin:0 0 8px;padding-bottom:4px;border-bottom:1px solid var(--border-color)}.suggestion-chips{display:flex;flex-wrap:wrap;gap:6px}.suggestion-chip{background:rgba(var(--accent-rgb),.05);border:1px solid rgba(var(--accent-rgb),.2);color:var(--text-primary);padding:6px 12px;border-radius:16px;font-size:.85rem;cursor:pointer;transition:all .2s;white-space:nowrap}.suggestion-chip:hover{background:rgba(var(--accent-rgb),.15);border-color:var(--accent-primary);color:var(--accent-primary);transform:translateY(-2px);box-shadow:0 2px 8px rgba(var(--accent-rgb),.2)}.suggestion-chip:active{transform:translateY(0)}.suggestion-chip.selected{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff;font-weight:600}.preset-shortcuts{margin-top:16px;padding:16px;background:rgba(var(--accent-rgb),.03);border:1px solid rgba(var(--accent-rgb),.1);border-radius:8px}.preset-shortcuts h4{font-size:.9rem;font-weight:600;margin:0 0 12px;color:var(--text-primary)}.preset-shortcuts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.genre-preset{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:8px;padding:12px 16px;cursor:pointer;transition:all .2s;text-align:left;display:flex;flex-direction:column;gap:4px}.genre-preset:hover{border-color:var(--accent-primary);background:rgba(var(--accent-rgb),.05);transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--accent-rgb),.15)}.genre-preset:active{transform:translateY(0)}.genre-preset-header{display:flex;align-items:center;gap:8px;font-weight:600;font-size:.95rem;color:var(--text-primary)}.genre-preset-icon{font-size:1.25rem}.preset-hint{font-size:.75rem;color:var(--text-secondary);line-height:1.4}.genre-preset.active{border-color:var(--accent-primary);background:rgba(var(--accent-rgb),.1);box-shadow:0 0 0 2px rgba(var(--accent-rgb),.2)}.genre-preset.active .genre-preset-header{color:var(--accent-primary)}.preset-badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.preset-badge{background:rgba(var(--accent-rgb),.15);color:var(--accent-primary);font-size:.65rem;font-weight:600;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.05em}.suggestions-empty{text-align:center;padding:24px;color:var(--text-secondary)}.suggestions-empty-icon{font-size:2rem;margin-bottom:8px;opacity:.5}.suggestions-empty-text{font-size:.9rem}@media(max-width:768px){.suggestions-dropdown{max-height:300px}.preset-shortcuts-grid{grid-template-columns:1fr}.suggestion-chip{font-size:.8rem;padding:5px 10px}.genre-preset{padding:10px 12px}}@keyframes dropdown-slide-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.suggestions-dropdown:not(.hidden){animation:dropdown-slide-in .2s ease-out}@keyframes chip-pulse{0%,to{box-shadow:0 2px 8px rgba(var(--accent-rgb),.2)}50%{box-shadow:0 4px 12px rgba(var(--accent-rgb),.3)}}.suggestion-chip:hover{animation:chip-pulse 1.5s ease-in-out infinite}body[data-theme=light] .suggestions-dropdown{background:#fff;border-color:#e5e7eb;box-shadow:0 4px 16px #0000001a}body[data-theme=light] .genre-preset{background:#f9fafb;border-color:#e5e7eb}body[data-theme=light] .genre-preset:hover{background:#f3f4f6}body[data-theme=dark] .suggestions-dropdown{background:var(--bg-primary);border-color:var(--border-color)}body[data-theme=dark] .genre-preset{background:var(--bg-secondary)}.suggest-btn:focus-visible,.suggestion-chip:focus-visible,.genre-preset:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}@media(prefers-contrast:high){.suggestions-dropdown,.suggestion-chip,.genre-preset{border:2px solid currentColor}}@media(prefers-reduced-motion:reduce){.suggestions-dropdown,.suggestion-chip,.genre-preset{transition:none;animation:none}}.suggestions-loading{display:flex;align-items:center;justify-content:center;padding:24px;color:var(--text-secondary);gap:8px}.suggestions-loading-spinner{width:20px;height:20px;border:2px solid rgba(var(--accent-rgb),.2);border-top-color:var(--accent-primary);border-radius:50%;animation:spinner-rotate .8s linear infinite}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.suggestions-footer{border-top:1px solid var(--border-color);padding-top:12px;margin-top:12px;display:flex;justify-content:space-between;align-items:center}.suggestions-footer-btn{background:none;border:none;color:var(--accent-primary);font-size:.85rem;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background .2s}.suggestions-footer-btn:hover{background:rgba(var(--accent-rgb),.1)}.preset-category-tabs{display:flex;gap:8px;margin-bottom:12px;border-bottom:1px solid var(--border-color)}.preset-category-tab{background:none;border:none;color:var(--text-secondary);font-size:.85rem;font-weight:500;padding:8px 12px;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s}.preset-category-tab:hover{color:var(--text-primary)}.preset-category-tab.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}/**
 * @license
 * SPDX-License-Identifier: Apache-2.0
 *
 * Contextual Help System
 * Strategic Improvement #2: Help System
 *
 * Help badges, inline explainers, smart tooltips, and help panel.
 */.help-badge{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;background:rgba(var(--accent-rgb),.15);border:1px solid rgba(var(--accent-rgb),.3);border-radius:50%;color:var(--accent-primary);font-size:.7rem;font-weight:700;cursor:help;transition:all .2s;margin-left:6px;vertical-align:middle;user-select:none}.help-badge:hover{background:rgba(var(--accent-rgb),.25);border-color:var(--accent-primary);transform:scale(1.1)}.help-badge:active{transform:scale(.95)}label .help-badge{margin-left:4px}h1 .help-badge,h2 .help-badge,h3 .help-badge,h4 .help-badge,h5 .help-badge,h6 .help-badge{font-size:.6em;width:1.2em;height:1.2em}.help-badge.help-badge-sm{width:16px;height:16px;font-size:.65rem}.help-badge.help-badge-lg{width:22px;height:22px;font-size:.8rem}.help-tooltip{position:absolute;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 16px #00000040;padding:12px 16px;max-width:320px;z-index:1000;opacity:0;pointer-events:none;transform:translateY(-8px);transition:opacity .2s,transform .2s}.help-tooltip.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.help-tooltip-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.help-tooltip-title{font-weight:600;font-size:.9rem;color:var(--text-primary);display:flex;align-items:center;gap:6px}.help-tooltip-icon{font-size:1.1rem}.help-tooltip-close{background:none;border:none;color:var(--text-secondary);font-size:1.2rem;line-height:1;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.help-tooltip-close:hover{background:rgba(var(--accent-rgb),.1);color:var(--accent-primary)}.help-tooltip-body{font-size:.85rem;line-height:1.5;color:var(--text-secondary)}.help-tooltip-body p{margin:0 0 8px}.help-tooltip-body p:last-child{margin-bottom:0}.help-tooltip-body strong{color:var(--text-primary);font-weight:600}.help-tooltip-body code{background:rgba(var(--accent-rgb),.1);padding:2px 6px;border-radius:3px;font-family:Courier New,monospace;font-size:.9em}.help-tooltip-body ul,.help-tooltip-body ol{margin:8px 0;padding-left:20px}.help-tooltip-body li{margin-bottom:4px}.help-tooltip:before{content:"";position:absolute;width:0;height:0;border-style:solid}.help-tooltip{top:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(-8px)}.help-tooltip.visible{transform:translate(-50%) translateY(0)}.help-tooltip:before{top:-8px;left:50%;transform:translate(-50%);border-width:0 8px 8px 8px;border-color:transparent transparent var(--border-color) transparent}.help-tooltip:after{content:"";position:absolute;top:-7px;left:50%;transform:translate(-50%);width:0;height:0;border-style:solid;border-width:0 7px 7px 7px;border-color:transparent transparent var(--bg-primary) transparent}.help-tooltip.tooltip-top{top:auto;bottom:calc(100% + 8px);transform:translate(-50%) translateY(8px)}.help-tooltip.tooltip-top.visible{transform:translate(-50%) translateY(0)}.help-tooltip.tooltip-top:before{top:auto;bottom:-8px;border-width:8px 8px 0 8px;border-color:var(--border-color) transparent transparent transparent}.help-tooltip.tooltip-top:after{top:auto;bottom:-7px;border-width:7px 7px 0 7px;border-color:var(--bg-primary) transparent transparent transparent}.help-tooltip.tooltip-left{top:50%;left:auto;right:calc(100% + 8px);transform:translateY(-50%) translate(8px)}.help-tooltip.tooltip-left.visible{transform:translateY(-50%) translate(0)}.help-tooltip.tooltip-left:before{top:50%;left:auto;right:-8px;transform:translateY(-50%);border-width:8px 0 8px 8px;border-color:transparent transparent transparent var(--border-color)}.help-tooltip.tooltip-left:after{top:50%;left:auto;right:-7px;transform:translateY(-50%);border-width:7px 0 7px 7px;border-color:transparent transparent transparent var(--bg-primary)}.help-tooltip.tooltip-right{top:50%;left:calc(100% + 8px);right:auto;transform:translateY(-50%) translate(-8px)}.help-tooltip.tooltip-right.visible{transform:translateY(-50%) translate(0)}.help-tooltip.tooltip-right:before{top:50%;left:-8px;right:auto;transform:translateY(-50%);border-width:8px 8px 8px 0;border-color:transparent var(--border-color) transparent transparent}.help-tooltip.tooltip-right:after{top:50%;left:-7px;right:auto;transform:translateY(-50%);border-width:7px 7px 7px 0;border-color:transparent var(--bg-primary) transparent transparent}.help-panel{position:fixed;top:0;right:-400px;width:400px;height:100vh;background:var(--bg-primary);border-left:1px solid var(--border-color);box-shadow:-4px 0 16px #0003;z-index:2000;display:flex;flex-direction:column;transition:right .3s ease-out}.help-panel.open{right:0}.help-panel-header{padding:20px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.help-panel-header-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.help-panel-title{font-size:1.2rem;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:8px}.help-panel-close{background:none;border:none;color:var(--text-secondary);font-size:1.5rem;line-height:1;cursor:pointer;padding:4px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.help-panel-close:hover{background:rgba(var(--accent-rgb),.1);color:var(--accent-primary)}.help-search{position:relative}.help-search-input{width:100%;padding:10px 12px 10px 36px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:.9rem;transition:all .2s}.help-search-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.1)}.help-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-secondary);font-size:1rem;pointer-events:none}.help-categories{padding:12px 20px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.help-category-tabs{display:flex;gap:8px;overflow-x:auto}.help-category-tab{background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-secondary);padding:6px 12px;border-radius:6px;font-size:.85rem;cursor:pointer;white-space:nowrap;transition:all .2s}.help-category-tab:hover{background:rgba(var(--accent-rgb),.05);border-color:rgba(var(--accent-rgb),.3);color:var(--text-primary)}.help-category-tab.active{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff;font-weight:600}.help-content{flex:1;overflow-y:auto;padding:20px}.help-article{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--border-color)}.help-article:last-child{border-bottom:none}.help-article-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}.help-article-icon{font-size:1.5rem;flex-shrink:0}.help-article-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 4px}.help-article-meta{font-size:.75rem;color:var(--text-secondary)}.help-article-body{font-size:.9rem;line-height:1.6;color:var(--text-secondary);margin-left:42px}.help-article-body p{margin:0 0 12px}.help-article-body p:last-child{margin-bottom:0}.help-article-body strong{color:var(--text-primary);font-weight:600}.help-article-body code{background:rgba(var(--accent-rgb),.1);padding:2px 6px;border-radius:3px;font-family:Courier New,monospace;font-size:.9em;color:var(--accent-primary)}.help-article-body ul,.help-article-body ol{margin:12px 0;padding-left:20px}.help-article-body li{margin-bottom:8px}.help-panel-footer{padding:16px 20px;border-top:1px solid var(--border-color);background:var(--bg-secondary)}.help-footer-links{display:flex;flex-wrap:wrap;gap:12px}.help-footer-link{color:var(--accent-primary);text-decoration:none;font-size:.85rem;transition:opacity .2s}.help-footer-link:hover{opacity:.8;text-decoration:underline}.help-footer-button{background:none;border:none;cursor:pointer;padding:0;font:inherit}.help-footer-button:hover{text-decoration:underline}.help-panel-section,.help-results-group{margin-bottom:28px}.help-panel-section:last-child,.help-results-group:last-child{margin-bottom:0}.help-panel-section-title{margin:0 0 16px;font-size:.95rem;color:var(--text-primary)}.help-empty-state{text-align:center;padding:40px 16px;color:var(--text-secondary)}.help-empty-state-icon{font-size:2rem;margin:0 0 12px}.help-article-title-wrap{flex:1;min-width:0}.help-entry-kind-badge{display:inline-flex;align-items:center;margin-top:8px;padding:3px 8px;border-radius:999px;background:rgba(var(--accent-rgb),.1);color:var(--accent-primary);font-size:.72rem;font-weight:600}.help-entry-shortcut-combo{margin-left:auto;display:inline-flex;align-items:center;white-space:nowrap;padding:4px 8px;border-radius:6px;background:rgba(var(--accent-rgb),.08);color:var(--text-primary);font-size:.78rem;font-weight:600}.help-entry-summary{margin:0 0 12px 42px;color:var(--text-primary);font-size:.9rem;line-height:1.55}.help-entry-related{margin:14px 0 0 42px}.help-entry-related-title{margin-bottom:8px;color:var(--text-secondary);font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.help-entry-link-list,.help-entry-chip-list{display:flex;flex-wrap:wrap;gap:8px}.help-entry-link-button,.help-entry-chip{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:.8rem;line-height:1.2}.help-entry-link-button{background:rgba(var(--accent-rgb),.08);border:1px solid rgba(var(--accent-rgb),.18);color:var(--accent-primary);cursor:pointer;transition:background .2s,border-color .2s,transform .2s}.help-entry-link-button:hover{background:rgba(var(--accent-rgb),.14);border-color:rgba(var(--accent-rgb),.32);transform:translateY(-1px)}.help-entry-chip{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary)}.help-manual-intro{margin-bottom:24px;padding:16px 18px;border:1px solid var(--border-color);border-radius:12px;background:var(--bg-secondary)}.help-manual-intro-text{margin:0 0 16px;color:var(--text-primary);line-height:1.6}.help-manual-toc-title{margin:0 0 12px;font-size:.95rem;color:var(--text-primary)}.help-manual-toc-list{display:flex;flex-wrap:wrap;gap:8px}.help-manual-toc-link{padding:7px 12px;border-radius:999px;border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);cursor:pointer;font-size:.84rem;transition:border-color .2s,background .2s}.help-manual-toc-link:hover{border-color:rgba(var(--accent-rgb),.4);background:rgba(var(--accent-rgb),.08)}.help-manual-category{margin-bottom:28px}.help-manual-category-title{margin:0 0 18px;color:var(--text-primary);font-size:1rem}.help-manual-entry{margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid var(--border-color)}.help-manual-entry:last-child{margin-bottom:0}.help-tooltip-footer{margin-top:12px;padding-top:10px;border-top:1px solid var(--border-color)}.inline-explainer{background:rgba(var(--accent-rgb),.05);border-left:3px solid var(--accent-primary);padding:12px 16px;margin:12px 0;border-radius:4px}.inline-explainer-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.inline-explainer-icon{font-size:1.2rem;color:var(--accent-primary)}.inline-explainer-title{font-weight:600;font-size:.9rem;color:var(--text-primary)}.inline-explainer-body{font-size:.85rem;line-height:1.5;color:var(--text-secondary)}.inline-explainer-body p{margin:0 0 8px}.inline-explainer-body p:last-child{margin-bottom:0}.inline-explainer.explainer-info{border-left-color:#3b82f6}.inline-explainer.explainer-warning{border-left-color:#f59e0b;background:#f59e0b0d}.inline-explainer.explainer-success{border-left-color:#10b981;background:#10b9810d}.inline-explainer.explainer-tip{border-left-color:#8b5cf6;background:#8b5cf60d}.help-trigger{position:fixed;bottom:100px;right:24px;width:56px;height:56px;background:var(--accent-primary);border:none;border-radius:50%;box-shadow:0 4px 16px #0003;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:#fff;transition:all .2s;z-index:1000}.help-trigger:hover{transform:scale(1.05);box-shadow:0 6px 20px #0000004d}.help-trigger:active{transform:scale(.95)}.help-overlay{position:fixed;inset:0;background:#00000080;z-index:1999;opacity:0;pointer-events:none;transition:opacity .3s}.help-overlay.visible{opacity:1;pointer-events:auto}@media(max-width:768px){.help-panel{width:100%;right:-100%}.help-tooltip{max-width:280px;font-size:.8rem}.help-trigger{bottom:80px;right:16px;width:48px;height:48px;font-size:1.3rem}}@keyframes help-badge-pulse{0%,to{box-shadow:0 0 rgba(var(--accent-rgb),.4)}50%{box-shadow:0 0 0 4px rgba(var(--accent-rgb),0)}}.help-badge.pulse{animation:help-badge-pulse 2s ease-in-out infinite}@keyframes help-tooltip-slide-in{0%{opacity:0;transform:translate(-50%) translateY(-12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.help-tooltip.visible{animation:help-tooltip-slide-in .2s ease-out}.help-badge:focus-visible,.help-tooltip-close:focus-visible,.help-panel-close:focus-visible,.help-category-tab:focus-visible,.help-trigger:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}@media(prefers-contrast:high){.help-badge,.help-tooltip,.help-panel{border:2px solid currentColor}}@media(prefers-reduced-motion:reduce){.help-badge,.help-tooltip,.help-panel,.help-trigger{transition:none;animation:none}}body[data-theme=light] .help-tooltip{background:#fff;border-color:#e5e7eb;box-shadow:0 4px 16px #0000001a}body[data-theme=light] .help-panel{background:#fff;border-color:#e5e7eb}body[data-theme=light] .help-panel-header,body[data-theme=light] .help-categories,body[data-theme=light] .help-panel-footer{background:#f9fafb}body[data-theme=dark] .help-tooltip{background:var(--bg-primary);border-color:var(--border-color)}body[data-theme=dark] .help-panel{background:var(--bg-primary)}/**
 * @license
 * SPDX-License-Identifier: Apache-2.0
 *
 * Micro-interactions System
 * Enhanced animations and transitions for better UX feedback
 */.ripple-container{position:relative;overflow:hidden}.ripple{position:absolute;border-radius:50%;background:#ffffff80;transform:scale(0);animation:ripple-animation .6s ease-out;pointer-events:none}@keyframes ripple-animation{to{transform:scale(4);opacity:0}}button.ripple-container .ripple{background:#fff6}.primary-btn.ripple-container .ripple{background:#ffffff80}.secondary-btn.ripple-container .ripple{background:rgba(var(--accent-rgb),.3)}.tertiary-btn.ripple-container .ripple{background:rgba(var(--accent-rgb),.2)}.smooth-hover{transition:all .3s cubic-bezier(.4,0,.2,1)}.smooth-hover:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.smooth-hover:active{transform:translateY(0);box-shadow:0 2px 6px #0000001a}button.smooth-hover:hover:not(:disabled){filter:brightness(1.1)}button.smooth-hover:active:not(:disabled){filter:brightness(.95)}.enhanced-focus{position:relative;transition:all .2s ease-out}.enhanced-focus:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(var(--accent-rgb),.3)}.enhanced-focus:focus-visible:after{content:"";position:absolute;inset:-4px;border:2px solid var(--accent-primary);border-radius:inherit;animation:focus-pulse 2s ease-in-out infinite}@keyframes focus-pulse{0%,to{opacity:1}50%{opacity:.5}}.enhanced-active{transition:transform .1s ease-out,box-shadow .1s ease-out}.enhanced-active:active:not(:disabled){transform:scale(.97);box-shadow:0 1px 3px #0003!important}@keyframes success-pulse{0%{box-shadow:0 0 #10b981b3}50%{box-shadow:0 0 0 10px #10b98100}to{box-shadow:0 0 #10b98100}}@keyframes success-bounce{0%,to{transform:scale(1)}25%{transform:scale(1.05)}50%{transform:scale(.95)}75%{transform:scale(1.02)}}@keyframes success-checkmark{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}.success-animation{animation:success-bounce .5s ease-out,success-pulse 1s ease-out}.success-checkmark{stroke-dasharray:100;animation:success-checkmark .5s ease-out forwards}.success-glow{position:relative}.success-glow:after{content:"";position:absolute;inset:-2px;border-radius:inherit;background:linear-gradient(135deg,#10b9814d,#0596694d);opacity:0;animation:success-glow-fade 1s ease-out;pointer-events:none;z-index:-1}@keyframes success-glow-fade{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.2)}}@keyframes error-shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}@keyframes error-pulse{0%{box-shadow:0 0 #ef4444b3}50%{box-shadow:0 0 0 10px #ef444400}to{box-shadow:0 0 #ef444400}}.error-animation{animation:error-shake .5s ease-out,error-pulse 1s ease-out}.error-glow{position:relative}.error-glow:after{content:"";position:absolute;inset:-2px;border-radius:inherit;background:linear-gradient(135deg,#ef44444d,#dc26264d);opacity:0;animation:error-glow-fade 1s ease-out;pointer-events:none;z-index:-1}@keyframes error-glow-fade{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.2)}}@keyframes loading-pulse{0%,to{opacity:1}50%{opacity:.5}}.loading-pulse{animation:loading-pulse 1.5s ease-in-out infinite}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.gradient-shift{background-size:200% 200%;animation:gradient-shift 3s ease infinite}.card-hover{transition:all .3s cubic-bezier(.4,0,.2,1)}.card-hover:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 8px 24px #0003}.card-hover:active{transform:translateY(-2px) scale(1.01);box-shadow:0 4px 12px #00000026}.smooth-scale{transition:transform .2s cubic-bezier(.4,0,.2,1)}.smooth-scale:hover{transform:scale(1.05)}.smooth-scale:active{transform:scale(.98)}@keyframes bounce-in{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1);opacity:1}}.bounce-in{animation:bounce-in .5s cubic-bezier(.68,-.55,.265,1.55)}@keyframes slide-in-left{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slide-in-right{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slide-in-top{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slide-in-bottom{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.slide-in-left{animation:slide-in-left .3s ease-out}.slide-in-right{animation:slide-in-right .3s ease-out}.slide-in-top{animation:slide-in-top .3s ease-out}.slide-in-bottom{animation:slide-in-bottom .3s ease-out}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}.fade-in{animation:fade-in .3s ease-out}.fade-out{animation:fade-out .3s ease-out}@keyframes rotate-in{0%{transform:rotate(-180deg) scale(0);opacity:0}to{transform:rotate(0) scale(1);opacity:1}}.rotate-in{animation:rotate-in .5s cubic-bezier(.68,-.55,.265,1.55)}@keyframes flip-in-x{0%{transform:perspective(400px) rotateX(-90deg);opacity:0}to{transform:perspective(400px) rotateX(0);opacity:1}}@keyframes flip-in-y{0%{transform:perspective(400px) rotateY(-90deg);opacity:0}to{transform:perspective(400px) rotateY(0);opacity:1}}.flip-in-x{animation:flip-in-x .5s cubic-bezier(.68,-.55,.265,1.55)}.flip-in-y{animation:flip-in-y .5s cubic-bezier(.68,-.55,.265,1.55)}@keyframes glow{0%,to{box-shadow:0 0 5px rgba(var(--accent-rgb),.5)}50%{box-shadow:0 0 20px rgba(var(--accent-rgb),.8),0 0 30px rgba(var(--accent-rgb),.4)}}.glow{animation:glow 2s ease-in-out infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}.spin-slow{animation:spin 2s linear infinite}.spin-fast{animation:spin .5s linear infinite}@keyframes heartbeat{0%,to{transform:scale(1)}10%,30%{transform:scale(1.1)}20%,40%{transform:scale(1)}}.heartbeat{animation:heartbeat 1.5s ease-in-out infinite}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}.wiggle{animation:wiggle .5s ease-in-out}@keyframes jello{0%,to{transform:skew(0) skewY(0)}30%{transform:skew(-12.5deg) skewY(-12.5deg)}40%{transform:skew(6.25deg) skewY(6.25deg)}50%{transform:skew(-3.125deg) skewY(-3.125deg)}65%{transform:skew(1.5625deg) skewY(1.5625deg)}75%{transform:skew(-.78125deg) skewY(-.78125deg)}}.jello{animation:jello .9s ease-in-out}button:not(.no-micro-interactions){position:relative;overflow:hidden;transition:all .2s cubic-bezier(.4,0,.2,1)}button:not(.no-micro-interactions):hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 8px #00000026}button:not(.no-micro-interactions):active:not(:disabled){transform:translateY(0);box-shadow:0 1px 4px #0000001a}.primary-btn:not(.no-micro-interactions):hover:not(:disabled){filter:brightness(1.1);box-shadow:0 4px 12px rgba(var(--accent-rgb),.3)}.secondary-btn:not(.no-micro-interactions):hover:not(:disabled){background:rgba(var(--accent-rgb),.1);border-color:var(--accent-primary)}input:not(.no-micro-interactions),textarea:not(.no-micro-interactions),select:not(.no-micro-interactions){transition:all .2s ease-out}input:not(.no-micro-interactions):focus,textarea:not(.no-micro-interactions):focus,select:not(.no-micro-interactions):focus{transform:scale(1.01);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.1)}.panel-expand{max-height:0;overflow:hidden;transition:max-height .3s cubic-bezier(.4,0,.2,1),opacity .3s ease-out;opacity:0}.panel-expand.expanded{max-height:2000px;opacity:1}.panel-slide-down{transform:translateY(-20px);opacity:0;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s ease-out}.panel-slide-down.visible{transform:translateY(0);opacity:1}.tab-content[data-mi-animated=true]{opacity:0;transform:translate(20px);transition:opacity .2s ease-out,transform .3s cubic-bezier(.4,0,.2,1)}.tab-content[data-mi-animated=true].active{opacity:1;transform:translate(0)}.tab-content[data-mi-animated=true].slide-left{transform:translate(-20px)}.tab-content[data-mi-animated=true].slide-right{transform:translate(20px)}.tab-indicator{position:absolute;bottom:0;left:0;height:2px;background:var(--accent-primary);transition:all .3s cubic-bezier(.4,0,.2,1)}.modal-backdrop{opacity:0;transition:opacity .3s ease-out}.modal-backdrop.visible{opacity:1}.modal-container{transform:scale(.9);opacity:0;transition:transform .3s cubic-bezier(.68,-.55,.265,1.55),opacity .3s ease-out}.modal-container.visible{transform:scale(1);opacity:1}.modal-container.slide-down{transform:translateY(-50px) scale(1)}.modal-container.slide-down.visible{transform:translateY(0) scale(1)}@keyframes list-item-add{0%{opacity:0;transform:translate(-20px) scale(.95);max-height:0}to{opacity:1;transform:translate(0) scale(1);max-height:500px}}@keyframes list-item-remove{0%{opacity:1;transform:translate(0) scale(1);max-height:500px}to{opacity:0;transform:translate(20px) scale(.95);max-height:0}}.list-item-add{animation:list-item-add .3s cubic-bezier(.4,0,.2,1) forwards}.list-item-remove{animation:list-item-remove .3s cubic-bezier(.4,0,.2,1) forwards}.list-stagger>*{opacity:0;animation:list-item-add .3s cubic-bezier(.4,0,.2,1) forwards}.list-stagger>*:nth-child(1){animation-delay:.05s}.list-stagger>*:nth-child(2){animation-delay:.1s}.list-stagger>*:nth-child(3){animation-delay:.15s}.list-stagger>*:nth-child(4){animation-delay:.2s}.list-stagger>*:nth-child(5){animation-delay:.25s}.list-stagger>*:nth-child(n+6){animation-delay:.3s}.drawer-slide-in{transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1)}.drawer-slide-in.open{transform:translate(0)}.drawer-slide-in.left{transform:translate(-100%)}.drawer-slide-in.left.open{transform:translate(0)}.tooltip-fade{opacity:0;transform:translateY(-8px);transition:opacity .2s ease-out,transform .2s cubic-bezier(.4,0,.2,1);pointer-events:none}.tooltip-fade.visible{opacity:1;transform:translateY(0);pointer-events:auto}@keyframes toast-slide-in{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes toast-slide-out{0%{transform:translate(0);opacity:1}to{transform:translate(400px);opacity:0}}.toast-notification{animation:toast-slide-in .3s cubic-bezier(.4,0,.2,1)}.toast-notification.removing{animation:toast-slide-out .3s cubic-bezier(.4,0,.2,1) forwards}.collapsible-section{border:1px solid rgba(255,255,255,.12);border-radius:10px;margin:10px 0;overflow:hidden}.collapsible-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;background:#ffffff0f;border:0;color:inherit;cursor:pointer;font-size:14px;font-weight:600;text-align:left}.collapsible-toggle:hover{background:#ffffff17}.collapsible-toggle:active{background:#ffffff1f}.collapsible-toggle[aria-expanded=true]{background:#ffffff17}.collapsible-chevron,.collapsible-toggle .chevron{flex:0 0 auto;width:18px;height:18px;opacity:.85;transition:transform .3s cubic-bezier(.4,0,.2,1)}.collapsible-toggle[aria-expanded=true] .collapsible-chevron,.collapsible-toggle[aria-expanded=true] .chevron{transform:rotate(180deg)}body[data-theme=light] .collapsible-section{border-color:color-mix(in srgb,var(--border-color) 82%,var(--accent-primary));background:color-mix(in srgb,var(--bg-panel) 94%,var(--bg));box-shadow:0 1px 3px #172b4d0f}body[data-theme=light] .collapsible-toggle{background:color-mix(in srgb,var(--bg) 72%,var(--bg-panel));color:var(--text-primary);border-bottom:1px solid color-mix(in srgb,var(--border-color) 72%,transparent)}body[data-theme=light] .collapsible-toggle:hover{background:color-mix(in srgb,var(--accent-primary) 7%,var(--bg-panel))}body[data-theme=light] .collapsible-toggle[aria-expanded=true]{background:color-mix(in srgb,var(--accent-primary) 12%,var(--bg-panel))}body[data-theme=light] .collapsible-chevron,body[data-theme=light] .collapsible-toggle .chevron{opacity:.95;color:color-mix(in srgb,var(--text-primary) 82%,var(--accent-primary))}.collapsible-content{max-height:0;overflow:hidden;transition:max-height .3s cubic-bezier(.4,0,.2,1),padding .3s ease-out;padding:0}.collapsible-content.expanded{max-height:2000px;padding:16px}@keyframes progress-fill{0%{transform:translate(-100%)}to{transform:translate(0)}}.progress-bar-fill{animation:progress-fill .5s cubic-bezier(.4,0,.2,1) forwards}@keyframes progress-indeterminate{0%{transform:translate(-100%)}50%{transform:translate(0)}to{transform:translate(100%)}}.progress-indeterminate{animation:progress-indeterminate 1.5s ease-in-out infinite}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(prefers-contrast:high){.ripple{background:currentColor}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid currentColor;outline-offset:2px}}/**
 * @license
 * SPDX-License-Identifier: Apache-2.0
 *
 * Loading Skeletons
 * Modern skeleton screens for better perceived performance
 */.skeleton{background:linear-gradient(90deg,var(--bg-secondary) 0%,rgba(var(--accent-rgb),.08) 50%,var(--bg-secondary) 100%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:4px;position:relative;overflow:hidden}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.05) 50%,transparent 100%);background-size:200% 100%;animation:skeleton-shimmer 2s ease-in-out infinite}@keyframes skeleton-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.skeleton-text{height:16px;margin-bottom:8px}.skeleton-text.large{height:24px}.skeleton-text.small{height:12px}.skeleton-title{height:32px;width:60%;margin-bottom:16px}.skeleton-paragraph{display:flex;flex-direction:column;gap:8px}.skeleton-paragraph .skeleton-text:nth-child(1){width:100%}.skeleton-paragraph .skeleton-text:nth-child(2){width:95%}.skeleton-paragraph .skeleton-text:nth-child(3){width:90%}.skeleton-paragraph .skeleton-text:nth-child(4){width:85%}.skeleton-paragraph .skeleton-text:last-child{width:60%}.skeleton-circle{border-radius:50%;width:48px;height:48px}.skeleton-circle.small{width:32px;height:32px}.skeleton-circle.large{width:64px;height:64px}.skeleton-avatar{width:40px;height:40px;border-radius:50%}.skeleton-button{height:40px;width:120px;border-radius:6px}.skeleton-button.primary{width:140px}.skeleton-button.small{height:32px;width:80px}.skeleton-input{height:44px;border-radius:6px}.skeleton-card{padding:16px;border-radius:8px;background:var(--bg-secondary)}.skeleton-image{width:100%;height:200px;border-radius:8px}.skeleton-image.square{aspect-ratio:1;height:auto}.skeleton-image.banner{height:120px}.skeleton-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}.skeleton-header-content{flex:1;display:flex;flex-direction:column;gap:8px}.skeleton-list{display:flex;flex-direction:column;gap:12px}.skeleton-list-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg-secondary);border-radius:6px}.skeleton-list-item-content{flex:1;display:flex;flex-direction:column;gap:6px}.skeleton-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.skeleton-grid-item{aspect-ratio:1;border-radius:8px}.skeleton-lyric-line{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--bg-secondary);border-radius:6px;margin-bottom:4px}.skeleton-lyric-line .skeleton-text{flex:1;height:20px}.skeleton-piano-note{height:20px;border-radius:3px;margin:2px 0}.skeleton-section{padding:16px;background:var(--bg-secondary);border-radius:8px;margin-bottom:12px}.skeleton-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.skeleton-section-header .skeleton-text{width:120px;height:24px}.skeleton-section-header .skeleton-circle{width:24px;height:24px}.skeleton-help-article{padding:16px;border-bottom:1px solid var(--border-color)}.skeleton-help-article-header{display:flex;gap:12px;margin-bottom:12px}.skeleton-help-article-icon{width:32px;height:32px;border-radius:6px}.skeleton-help-article-content{flex:1}.skeleton-preset{padding:12px 16px;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:8px;display:flex;flex-direction:column;gap:8px}.skeleton-preset-header{display:flex;align-items:center;gap:8px}.skeleton-preset-icon{width:24px;height:24px}.skeleton-preset-badges{display:flex;gap:6px}.skeleton-preset-badge{width:60px;height:20px;border-radius:10px}.skeleton-table{width:100%}.skeleton-table-header,.skeleton-table-row{display:grid;grid-template-columns:repeat(var(--columns, 4),1fr);gap:12px;padding:12px;border-bottom:1px solid var(--border-color)}.skeleton-table-cell{height:20px}.skeleton-chart{height:300px;border-radius:8px;position:relative}.skeleton-chart:before{content:"";position:absolute;bottom:20px;left:20px;right:20px;height:80%;background:linear-gradient(to top,rgba(var(--accent-rgb),.1) 0%,transparent 100%);clip-path:polygon(0% 100%,10% 80%,20% 85%,30% 60%,40% 70%,50% 50%,60% 55%,70% 40%,80% 45%,90% 30%,100% 35%,100% 100%)}.skeleton-form-field{margin-bottom:16px}.skeleton-form-label{height:16px;width:120px;margin-bottom:8px}.skeleton-form-group{display:flex;flex-direction:column;gap:16px}.skeleton-form-actions{display:flex;gap:12px;justify-content:flex-end}.loading-container{min-height:200px;display:flex;align-items:center;justify-content:center}.loading-container.full-height{min-height:400px}.loading-skeleton-active>*:not(.skeleton):not([class*=skeleton]){display:none}.skeleton-pulse{animation:skeleton-pulse 1.5s ease-in-out infinite}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}.skeleton-wave{background:linear-gradient(90deg,var(--bg-secondary) 0%,var(--bg-secondary) 40%,rgba(var(--accent-rgb),.15) 50%,var(--bg-secondary) 60%,var(--bg-secondary) 100%);background-size:200% 100%;animation:skeleton-wave 2s linear infinite}@keyframes skeleton-wave{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton[aria-busy=true]{cursor:wait}.skeleton[aria-label]:before{content:attr(aria-label);position:absolute;left:-10000px}@media(prefers-reduced-motion:reduce){.skeleton,.skeleton:after,.skeleton-pulse,.skeleton-wave{animation:none}.skeleton{background:var(--bg-secondary)}}body[data-theme=light] .skeleton{background:linear-gradient(90deg,#f3f4f6,#e5e7eb,#f3f4f6)}body[data-theme=light] .skeleton:after{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.8) 50%,transparent 100%)}body[data-theme=dark] .skeleton{background:linear-gradient(90deg,#1f2937,#374151,#1f2937)}body[data-theme=dark] .skeleton:after{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.03) 50%,transparent 100%)}@media(max-width:768px){.skeleton-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.skeleton-header{flex-direction:column;align-items:flex-start}.skeleton-table-header,.skeleton-table-row{grid-template-columns:1fr}}/**
 * @license
 * SPDX-License-Identifier: Apache-2.0
 *
 * Keyboard Navigation & Focus Management
 * Enhanced keyboard accessibility and focus indicators
 */.skip-links{position:fixed;top:-100px;left:0;width:100%;z-index:10000;background:var(--bg-primary);border-bottom:2px solid var(--accent-primary);padding:12px 20px;display:flex;gap:16px;transition:top .2s ease-out}.skip-links:focus-within{top:0}.skip-link{background:var(--accent-primary);color:#fff;padding:8px 16px;border-radius:4px;text-decoration:none;font-weight:600;font-size:.9rem;transition:all .2s}.skip-link:focus{outline:3px solid white;outline-offset:2px;transform:scale(1.05)}.skip-link:hover{background:var(--accent-secondary)}*:focus{outline:none}*:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px;border-radius:4px}.focus-ring{position:relative}.focus-ring:focus-visible:after{content:"";position:absolute;inset:-4px;border:2px solid var(--accent-primary);border-radius:inherit;pointer-events:none;animation:focus-ring-pulse 2s ease-in-out infinite}@keyframes focus-ring-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.02)}}body.focus-visible-mode *:focus-visible{outline:3px solid var(--accent-primary);outline-offset:3px;box-shadow:0 0 0 6px rgba(var(--accent-rgb),.2)}.focus-within-highlight:focus-within{background:rgba(var(--accent-rgb),.05);border-color:var(--accent-primary)}.focus-trap{position:relative}.focus-trap-active{isolation:isolate}.focus-trap-active:before{content:"";position:fixed;inset:0;background:#00000080;z-index:999;pointer-events:none}body:has(.focus-trap-active)>*:not(.focus-trap-active){pointer-events:none}.keyboard-shortcuts-overlay{position:fixed;inset:0;background:#12141999;z-index:10000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s ease-out;padding:1rem;backdrop-filter:blur(4px)}.keyboard-shortcuts-overlay.visible{opacity:1;pointer-events:auto}.keyboard-shortcuts-panel{background-color:var(--bg-panel);border-radius:8px;border:1px solid var(--border-color);box-shadow:0 10px 30px #0000004d;max-width:800px;max-height:90vh;width:100%;display:flex;flex-direction:column;transform:scale(.9);transition:transform .25s ease-out;overflow:hidden;position:relative;z-index:1001}.keyboard-shortcuts-overlay.focus-trap-active:before{display:none}.keyboard-shortcuts-overlay.visible .keyboard-shortcuts-panel{transform:scale(1)}.keyboard-shortcuts-header{padding:1rem 1.5rem;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.keyboard-shortcuts-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:12px}.keyboard-shortcuts-close{background:none;border:none;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.keyboard-shortcuts-close:hover{background:rgba(var(--accent-rgb),.1);color:var(--accent-primary)}.keyboard-shortcuts-content{padding:1.5rem;overflow-y:auto;flex-grow:1}.keyboard-shortcuts-section{margin-bottom:32px}.keyboard-shortcuts-section:last-child{margin-bottom:0}.keyboard-shortcuts-section-title{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:16px;display:flex;align-items:center;gap:8px}.keyboard-shortcuts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.keyboard-shortcut-item{display:flex;align-items:center;justify-content:space-between;padding:12px;background:var(--bg-secondary);border-radius:6px;gap:16px}.keyboard-shortcut-description{color:var(--text-secondary);font-size:.9rem}.keyboard-shortcut-keys{display:flex;gap:4px;flex-shrink:0}.keyboard-key{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 8px;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:4px;font-family:Courier New,monospace;font-size:.85rem;font-weight:600;color:var(--text-primary);box-shadow:0 2px 0 var(--border-color)}.keyboard-key.modifier{background:rgba(var(--accent-rgb),.1);border-color:var(--accent-primary);color:var(--accent-primary)}.keyboard-key-separator{color:var(--text-secondary);margin:0 4px}.keyboard-shortcuts-footer{padding:1rem 1.5rem;border-top:1px solid var(--border-color);background-color:var(--bg);display:flex;align-items:center;justify-content:space-between;border-radius:0;flex-shrink:0}.keyboard-shortcuts-hint{color:var(--text-secondary);font-size:.85rem}.keyboard-shortcuts-hint .keyboard-key{display:inline-flex;margin:0 4px;vertical-align:middle}.tab-navigation-hint{position:fixed;bottom:20px;right:20px;background:var(--accent-primary);color:#fff;padding:12px 16px;border-radius:8px;font-size:.9rem;font-weight:600;box-shadow:0 4px 12px #0000004d;opacity:0;transform:translateY(20px);transition:all .3s ease-out;pointer-events:none;z-index:9999}.tab-navigation-hint.visible{opacity:1;transform:translateY(0)}.tab-navigation-hint .keyboard-key{margin:0 4px;background:#fff3;border-color:#ffffff4d;color:#fff}.focus-breadcrumb{position:fixed;top:60px;left:50%;transform:translate(-50%);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:20px;padding:8px 16px;font-size:.8rem;color:var(--text-secondary);box-shadow:0 2px 8px #0000001a;opacity:0;transition:opacity .2s;pointer-events:none;z-index:9998}body.show-focus-breadcrumb .focus-breadcrumb{opacity:1}.roving-tabindex-container>*{cursor:pointer}.roving-tabindex-container>*[tabindex="0"]{background:rgba(var(--accent-rgb),.1);border-color:var(--accent-primary)}.roving-tabindex-container>*[tabindex="-1"]:focus{outline:none}[role=main],[role=navigation],[role=search],[role=complementary],[role=contentinfo]{position:relative}body.show-landmarks [role]:before{content:attr(role);position:absolute;top:-8px;left:8px;background:var(--accent-primary);color:#fff;padding:2px 8px;border-radius:3px;font-size:.7rem;font-weight:600;text-transform:uppercase;z-index:100;opacity:.8}button:not([aria-label]):not([aria-labelledby]):after{content:"⚠️ Missing aria-label";position:absolute;top:-20px;left:0;background:#dc2626;color:#fff;padding:2px 6px;border-radius:3px;font-size:.65rem;opacity:0;pointer-events:none}body.show-a11y-warnings button:not([aria-label]):not([aria-labelledby]):after{opacity:1}.focus-locked-region{position:relative}.focus-locked-region:before{content:"🔒 Focus Locked";position:absolute;top:8px;right:8px;background:var(--accent-primary);color:#fff;padding:4px 8px;border-radius:4px;font-size:.75rem;font-weight:600;z-index:1000;opacity:0;transition:opacity .2s}body.show-focus-indicators .focus-locked-region:before{opacity:1}body:not(.user-is-tabbing) *:focus{outline:none}body.user-is-tabbing *:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}@media(max-width:768px){.keyboard-shortcuts-panel{width:95%;max-height:90vh}.keyboard-shortcuts-grid{grid-template-columns:1fr}.keyboard-shortcut-item{flex-direction:column;align-items:flex-start;gap:8px}.tab-navigation-hint{bottom:10px;right:10px;font-size:.8rem}}@media(prefers-contrast:high){.skip-link,.keyboard-key{border:2px solid currentColor}*:focus-visible{outline:3px solid currentColor;outline-offset:3px}}@media(prefers-reduced-motion:reduce){.keyboard-shortcuts-overlay,.keyboard-shortcuts-panel,.tab-navigation-hint,.focus-breadcrumb{transition:none}@keyframes focus-ring-pulse{0%,to{opacity:1;transform:scale(1)}}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.sr-only-focusable:focus,.sr-only-focusable:active{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}body[data-theme=light] .keyboard-shortcuts-overlay{background:#0009}body[data-theme=light] .keyboard-key{background:#fff;border-color:#d1d5db;box-shadow:0 2px #d1d5db}body[data-theme=dark] .keyboard-shortcuts-overlay{background:#000c}body[data-theme=dark] .keyboard-key{background:#1f2937;border-color:#374151;box-shadow:0 2px #374151}/**
 * @license
 * SPDX-License-Identifier: Apache-2.0
 *
 * Advanced Tooltips System
 * Rich tooltips with HTML content, videos, and progressive disclosure
 */[data-advanced-tooltip-initialized]{position:relative}[data-advanced-tooltip-initialized][title]{pointer-events:auto}[data-advanced-tooltip-initialized]:hover:before,[data-advanced-tooltip-initialized]:hover:after{display:none!important;content:none!important}.advanced-tooltip{position:fixed;background:#1c1c1ee0;backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);border:1px solid rgba(255,255,255,.18);border-radius:14px;box-shadow:0 10px 40px #00000080,0 4px 16px #0000004d,inset 0 1px #ffffff1a;padding:0;max-width:320px;z-index:10000;opacity:0;pointer-events:none;transform:translateY(-8px) scale(.95);transition:opacity .25s ease-out,transform .25s cubic-bezier(.4,0,.2,1);overflow:visible;font-family:var(--font-sans, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);text-shadow:0 1px 2px rgba(0,0,0,.3)}.advanced-tooltip.visible{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}.advanced-tooltip.interactive{pointer-events:auto}.tooltip-header{padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:space-between;background:#2c2c2ecc;border-radius:14px 14px 0 0;background:linear-gradient(to bottom,#2c2c2ed9,#1c1c1ebf);backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%)}.tooltip-title{font-weight:700;font-size:.95rem;color:#fffffffa;display:flex;align-items:center;gap:8px;letter-spacing:-.01em;text-shadow:0 1px 2px rgba(0,0,0,.4)}.tooltip-icon{font-size:1.1rem}.tooltip-close{background:none;border:none;color:var(--text-secondary);font-size:1.2rem;line-height:1;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:3px;transition:all .2s}.tooltip-close:hover{background:rgba(var(--accent-rgb),.1);color:var(--accent-primary)}.tooltip-body{padding:12px 16px;font-size:.9rem;line-height:1.6;color:#fffffff2;text-shadow:0 1px 2px rgba(0,0,0,.4)}.tooltip-body p{margin:0 0 8px}.tooltip-body p:last-child{margin-bottom:0}.tooltip-body strong{color:#fffffffa;font-weight:700;font-size:1.05em;text-shadow:0 1px 2px rgba(0,0,0,.4)}.tooltip-body code{background:#ffffff26;padding:2px 6px;border-radius:3px;font-family:Courier New,monospace;font-size:.9em;color:#fffffff2;text-shadow:0 1px 2px rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.1)}.tooltip-body pre{background:var(--bg-secondary);padding:8px;border-radius:4px;overflow-x:auto;margin:8px 0}.tooltip-body ul,.tooltip-body ol{margin:8px 0;padding-left:20px}.tooltip-body li{margin-bottom:6px;color:var(--text-primary)}.tooltip-body a{color:var(--accent-primary);text-decoration:none;transition:opacity .2s}.tooltip-body a:hover{opacity:.8;text-decoration:underline}.tooltip-media{margin:0;padding:0;border-radius:0;overflow:hidden}.tooltip-media img,.tooltip-media video,.tooltip-media iframe{width:100%;display:block;max-height:200px;object-fit:cover}.tooltip-media-caption{padding:8px 12px;background:var(--bg-secondary);font-size:.75rem;color:var(--text-secondary);text-align:center}.tooltip-footer{padding:8px 16px;border-top:1px solid var(--border-color);background:var(--bg-secondary);border-radius:0 0 8px 8px;display:flex;align-items:center;justify-content:space-between;gap:8px}.tooltip-footer-text{font-size:.75rem;color:var(--text-secondary)}.tooltip-footer-actions{display:flex;gap:6px}.tooltip-action-btn{background:rgba(var(--accent-rgb),.1);border:1px solid rgba(var(--accent-rgb),.3);color:var(--accent-primary);padding:4px 12px;border-radius:4px;font-size:.75rem;cursor:pointer;transition:all .2s}.tooltip-action-btn:hover{background:rgba(var(--accent-rgb),.2);border-color:var(--accent-primary)}.tooltip-action-btn.primary{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.tooltip-action-btn.primary:hover{filter:brightness(1.1)}.tooltip-progressive{position:relative}.tooltip-level-basic{display:block}.tooltip-level-detailed{display:none;margin-top:14px;padding-top:14px;border-top:2px solid var(--border-color);color:var(--text-primary)}.tooltip-progressive.show-detailed .tooltip-level-basic,.tooltip-progressive.show-detailed .tooltip-level-detailed{display:block}.tooltip-expand-hint{margin-top:10px;padding:8px 14px;background:rgba(var(--accent-rgb),.12);border:1px solid rgba(var(--accent-rgb),.3);border-radius:6px;font-size:.8rem;font-weight:600;color:var(--accent-primary);text-align:center;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px rgba(var(--accent-rgb),.1)}.tooltip-expand-hint:hover{background:rgba(var(--accent-rgb),.2);border-color:var(--accent-primary);box-shadow:0 4px 8px rgba(var(--accent-rgb),.2);transform:translateY(-1px)}.tooltip-progressive.show-detailed .tooltip-expand-hint{display:none}.advanced-tooltip:before{content:"";position:absolute;width:0;height:0;border-style:solid}.advanced-tooltip:after{content:"";position:absolute;width:0;height:0;border-style:solid}.advanced-tooltip.arrow-top:before{top:-8px;left:50%;transform:translate(-50%);border-width:0 8px 8px 8px;border-color:transparent transparent var(--border-color) transparent}.advanced-tooltip.arrow-top:after{top:-7px;left:50%;transform:translate(-50%);border-width:0 7px 7px 7px;border-color:transparent transparent var(--bg-primary) transparent}.advanced-tooltip.arrow-bottom:before{bottom:-8px;left:50%;transform:translate(-50%);border-width:8px 8px 0 8px;border-color:var(--border-color) transparent transparent transparent}.advanced-tooltip.arrow-bottom:after{bottom:-7px;left:50%;transform:translate(-50%);border-width:7px 7px 0 7px;border-color:var(--bg-primary) transparent transparent transparent}.advanced-tooltip.arrow-left:before{top:50%;left:-8px;transform:translateY(-50%);border-width:8px 8px 8px 0;border-color:transparent var(--border-color) transparent transparent}.advanced-tooltip.arrow-left:after{top:50%;left:-7px;transform:translateY(-50%);border-width:7px 7px 7px 0;border-color:transparent var(--bg-primary) transparent transparent}.advanced-tooltip.arrow-right:before{top:50%;right:-8px;transform:translateY(-50%);border-width:8px 0 8px 8px;border-color:transparent transparent transparent var(--border-color)}.advanced-tooltip.arrow-right:after{top:50%;right:-7px;transform:translateY(-50%);border-width:7px 0 7px 7px;border-color:transparent transparent transparent var(--bg-primary)}.tooltip-type-info .tooltip-header{background:#3b82f61a;border-bottom-color:#3b82f633}.tooltip-type-info .tooltip-title{color:#3b82f6}.tooltip-type-warning .tooltip-header{background:#f59e0b1a;border-bottom-color:#f59e0b33}.tooltip-type-warning .tooltip-title{color:#f59e0b}.tooltip-type-error .tooltip-header{background:#ef44441a;border-bottom-color:#ef444433}.tooltip-type-error .tooltip-title{color:#ef4444}.tooltip-type-success .tooltip-header{background:#10b9811a;border-bottom-color:#10b98133}.tooltip-type-success .tooltip-title{color:#10b981}.tooltip-type-tip .tooltip-header{background:#8b5cf61a;border-bottom-color:#8b5cf633}.tooltip-type-tip .tooltip-title{color:#8b5cf6}.tooltip-size-small{max-width:200px}.tooltip-size-medium{max-width:320px}.tooltip-size-large{max-width:480px}.tooltip-size-xlarge{max-width:640px}.advanced-tooltip.position-top{transform:translateY(-8px)}.advanced-tooltip.position-top.visible{transform:translateY(0)}.advanced-tooltip.position-bottom{transform:translateY(8px)}.advanced-tooltip.position-bottom.visible{transform:translateY(0)}.advanced-tooltip.position-left{transform:translate(-8px)}.advanced-tooltip.position-left.visible{transform:translate(0)}.advanced-tooltip.position-right{transform:translate(8px)}.advanced-tooltip.position-right.visible{transform:translate(0)}.tooltip-tutorial{max-width:400px}.tooltip-tutorial-step{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--bg-secondary);border-top:1px solid var(--border-color)}.tooltip-tutorial-progress{font-size:.75rem;color:var(--text-secondary)}.tooltip-tutorial-nav{display:flex;gap:8px}.tooltip-tutorial-btn{background:rgba(var(--accent-rgb),.1);border:1px solid rgba(var(--accent-rgb),.3);color:var(--accent-primary);padding:4px 12px;border-radius:4px;font-size:.75rem;cursor:pointer;transition:all .2s}.tooltip-tutorial-btn:hover:not(:disabled){background:rgba(var(--accent-rgb),.2);border-color:var(--accent-primary)}.tooltip-tutorial-btn:disabled{opacity:.5;cursor:not-allowed}.tooltip-tutorial-btn.primary{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.tooltip-tutorial-btn.primary:hover:not(:disabled){filter:brightness(1.1)}.tooltip-example{margin:8px 0;padding:12px;background:var(--bg-secondary);border-left:3px solid var(--accent-primary);border-radius:4px}.tooltip-example-title{font-weight:600;font-size:.8rem;color:var(--text-primary);margin-bottom:6px}.tooltip-example-content{font-size:.8rem;color:var(--text-secondary)}.tooltip-viewed-indicator{position:absolute;top:8px;right:8px;width:8px;height:8px;background:var(--accent-primary);border-radius:50%;opacity:.6}.tooltip-viewed-indicator.seen{background:var(--text-secondary);opacity:.3}.tooltip-loading{padding:16px;text-align:center}.tooltip-loader{width:24px;height:24px;border:3px solid rgba(var(--accent-rgb),.2);border-top-color:var(--accent-primary);border-radius:50%;animation:tooltip-spin .8s linear infinite;margin:0 auto}@keyframes tooltip-spin{to{transform:rotate(360deg)}}@media(max-width:768px){.advanced-tooltip,.tooltip-size-large,.tooltip-size-xlarge,.tooltip-tutorial{max-width:90vw}}@keyframes tooltip-bounce-in{0%{opacity:0;transform:scale(.8) translateY(-8px)}50%{transform:scale(1.05) translateY(0)}to{opacity:1;transform:scale(1) translateY(0)}}.advanced-tooltip.animate-bounce-in{animation:tooltip-bounce-in .3s cubic-bezier(.68,-.55,.265,1.55)}@keyframes tooltip-slide-in{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.advanced-tooltip.animate-slide-in{animation:tooltip-slide-in .2s ease-out}@media(prefers-reduced-motion:reduce){.advanced-tooltip,.tooltip-loader{animation:none;transition:none}.advanced-tooltip.visible{opacity:1;transform:none}}@media(prefers-contrast:high){.advanced-tooltip{border:2px solid currentColor}.tooltip-header{border-bottom:2px solid currentColor}}body[data-theme=light] .advanced-tooltip{background:#ffffffeb;backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);border-color:#00000026;box-shadow:0 10px 40px #00000026,0 4px 16px #0000001a,inset 0 1px #fffc}body[data-theme=light] .advanced-tooltip .tooltip-body,body[data-theme=light] .advanced-tooltip .tooltip-title{color:#000000d9;text-shadow:0 1px 2px rgba(255,255,255,.8)}body[data-theme=light] .tooltip-header,body[data-theme=light] .tooltip-footer{background:#f9fafbcc;backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%)}body[data-theme=dark] .advanced-tooltip{background:#1c1c1ee0;backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);border-color:#ffffff2e;box-shadow:0 10px 40px #00000080,0 4px 16px #0000004d,inset 0 1px #ffffff1a}body[data-theme=dark] .advanced-tooltip .tooltip-body,body[data-theme=dark] .advanced-tooltip .tooltip-title{color:#fffffff2;text-shadow:0 1px 2px rgba(0,0,0,.4)}body[data-theme=dark] .tooltip-header,body[data-theme=dark] .tooltip-footer{background:#2c2c2ecc;backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%)}/**
 * @license
 * SPDX-License-Identifier: Apache-2.0
 *
 * Virtual Scrolling Styles
 * Styles for efficient large list rendering
 */.virtual-scroll-container{position:relative;overflow:auto;width:100%;height:100%;contain:layout style paint;will-change:scroll-position}.virtual-scroll-content{position:relative;width:100%;min-height:100%}.virtual-scroll-spacer{position:absolute;top:0;left:0;width:1px;pointer-events:none;visibility:hidden}.virtual-scroll-item{position:absolute;left:0;width:100%;box-sizing:border-box;will-change:transform}.virtual-scroll-item{transition:opacity .15s ease-out}.virtual-scroll-item.entering{opacity:0;animation:virtual-item-enter .15s ease-out forwards}.virtual-scroll-item.leaving{animation:virtual-item-leave .15s ease-out forwards}@keyframes virtual-item-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes virtual-item-leave{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.virtual-scroll-container.horizontal{overflow-x:auto;overflow-y:hidden}.virtual-scroll-container.horizontal .virtual-scroll-spacer{width:auto;height:1px}.virtual-scroll-container.horizontal .virtual-scroll-item{top:0;left:auto;height:100%;width:auto}.virtual-scroll-container::-webkit-scrollbar{width:8px;height:8px}.virtual-scroll-container::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:4px}.virtual-scroll-container::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px;transition:background .2s}.virtual-scroll-container::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.virtual-scroll-container{scrollbar-width:thin;scrollbar-color:var(--border-color) var(--bg-secondary)}.virtual-scroll-container.loading{pointer-events:none}.virtual-scroll-loading-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10;background:var(--bg-primary);padding:16px 24px;border-radius:8px;box-shadow:0 4px 12px #0003;display:flex;align-items:center;gap:12px;font-size:.9rem;color:var(--text-secondary)}.virtual-scroll-loading-spinner{width:20px;height:20px;border:2px solid var(--border-color);border-top-color:var(--accent-primary);border-radius:50%;animation:virtual-scroll-spin .8s linear infinite}@keyframes virtual-scroll-spin{to{transform:rotate(360deg)}}.virtual-scroll-empty{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:var(--text-secondary);padding:32px}.virtual-scroll-empty-icon{font-size:3rem;margin-bottom:16px;opacity:.5}.virtual-scroll-empty-title{font-size:1.1rem;font-weight:600;margin-bottom:8px;color:var(--text-primary)}.virtual-scroll-empty-description{font-size:.9rem}.virtual-scroll-indicator{position:absolute;left:50%;transform:translate(-50%);background:var(--accent-primary);color:#fff;padding:8px 16px;border-radius:20px;font-size:.85rem;font-weight:600;box-shadow:0 2px 8px #0003;opacity:0;pointer-events:none;transition:opacity .2s;z-index:100}.virtual-scroll-indicator.visible{opacity:1}.virtual-scroll-indicator.top{top:16px}.virtual-scroll-indicator.bottom{bottom:16px}.virtual-scroll-to-top{position:absolute;bottom:24px;right:24px;width:48px;height:48px;background:var(--accent-primary);color:#fff;border:none;border-radius:50%;box-shadow:0 4px 12px #0000004d;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.2rem;opacity:0;transform:translateY(20px);transition:all .3s cubic-bezier(.4,0,.2,1);pointer-events:none;z-index:99}.virtual-scroll-to-top.visible{opacity:1;transform:translateY(0);pointer-events:auto}.virtual-scroll-to-top:hover{background:var(--accent-secondary);transform:translateY(-4px);box-shadow:0 6px 16px #0006}.virtual-scroll-to-top:active{transform:translateY(-2px)}.virtual-scroll-container{transform:translateZ(0);backface-visibility:hidden;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.virtual-scroll-item{contain:layout style paint;content-visibility:auto}.virtual-scroll-container:focus{outline:2px solid var(--accent-primary);outline-offset:-2px}.virtual-scroll-container[aria-label]:before{content:attr(aria-label);position:absolute;left:-10000px}@media(prefers-contrast:high){.virtual-scroll-container::-webkit-scrollbar-thumb{border:1px solid currentColor}.virtual-scroll-to-top{border:2px solid white}}@media(prefers-reduced-motion:reduce){.virtual-scroll-container{scroll-behavior:auto}.virtual-scroll-item,.virtual-scroll-to-top,.virtual-scroll-indicator{transition:none;animation:none}}body[data-theme=light] .virtual-scroll-container::-webkit-scrollbar-track{background:#f3f4f6}body[data-theme=light] .virtual-scroll-container::-webkit-scrollbar-thumb{background:#d1d5db}body[data-theme=light] .virtual-scroll-container::-webkit-scrollbar-thumb:hover{background:#9ca3af}body[data-theme=dark] .virtual-scroll-container::-webkit-scrollbar-track{background:#1f2937}body[data-theme=dark] .virtual-scroll-container::-webkit-scrollbar-thumb{background:#374151}body[data-theme=dark] .virtual-scroll-container::-webkit-scrollbar-thumb:hover{background:#4b5563}@media(max-width:768px){.virtual-scroll-to-top{width:40px;height:40px;bottom:16px;right:16px;font-size:1rem}.virtual-scroll-indicator{font-size:.75rem;padding:6px 12px}.virtual-scroll-container::-webkit-scrollbar{width:6px;height:6px}}.app-menubar{display:flex;align-items:center;height:28px;padding:0 .5rem;background-color:var(--bg-panel);border-bottom:1px solid var(--border-color);font-family:var(--font-sans);font-size:.8125rem;position:sticky;top:0;z-index:var(--z-float);user-select:none}body[data-theme=light] .app-menubar{background-color:color-mix(in srgb,var(--bg-panel) 82%,var(--bg) 18%);border-bottom-color:color-mix(in srgb,var(--border-color) 90%,transparent)}.menubar-group{display:flex;align-items:center;gap:0}.menubar-item{position:relative}.menubar-trigger{display:flex;align-items:center;height:28px;padding:0 .625rem;border:none;background:transparent;color:var(--text-primary);font-size:inherit;font-family:inherit;cursor:pointer;white-space:nowrap;border-radius:3px;transition:background-color .1s ease}.menubar-trigger:hover,.menubar-trigger[aria-expanded=true]{background-color:var(--btn-secondary-hover)}.menubar-trigger:focus-visible{outline:2px solid var(--accent-primary);outline-offset:-2px}.dropdown-menu{position:absolute;top:100%;left:0;min-width:260px;margin:0;padding:4px 0;list-style:none;background-color:var(--bg-panel);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 4px 12px #00000026,0 1px 3px #0000001a;z-index:var(--z-popover)}.dropdown-menu[hidden]{display:none}.dropdown-menu [role^=menuitem]{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;width:100%;padding:5px 12px 5px 24px;border:none;background:transparent;color:var(--text-primary);font-size:.8125rem;font-family:inherit;text-align:left;cursor:pointer;white-space:nowrap;border-radius:0;transition:background-color .08s ease}.dropdown-menu [role^=menuitem]{position:relative}.dropdown-menu [role^=menuitem]>:first-child,.dropdown-menu [role^=menuitem]>.menu-shortcut{flex:0 0 auto}.dropdown-menu [role^=menuitem]:hover,.dropdown-menu [role^=menuitem].focused{background-color:var(--accent-primary);color:#fff}.dropdown-menu [role^=menuitem]:focus-visible{outline:none;background-color:var(--accent-primary);color:#fff}.dropdown-menu [role^=menuitem]:disabled{color:var(--text-secondary);cursor:default;opacity:.5}.dropdown-menu [role^=menuitem]:disabled:hover{background:transparent;color:var(--text-secondary)}.dropdown-menu [role=menuitemcheckbox]:before,.dropdown-menu [role=menuitemradio]:before{position:absolute;left:10px;color:currentColor;opacity:0}.dropdown-menu [role=menuitemcheckbox][aria-checked=true]:before{content:"✓";opacity:1}.dropdown-menu [role=menuitemradio][aria-checked=true]:before{content:"•";opacity:1}.menu-shortcut{margin-left:auto;min-width:7.25rem;text-align:right;font-size:.75rem;line-height:1;color:var(--text-secondary);font-family:inherit;pointer-events:none;white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:.01em;opacity:.95}.dropdown-menu [role^=menuitem]:hover .menu-shortcut,.dropdown-menu [role^=menuitem].focused .menu-shortcut,.dropdown-menu [role^=menuitem]:focus-visible .menu-shortcut{color:#ffffffb3}.menu-divider{height:1px;margin:4px 8px;background-color:var(--border-color)}.submenu-item{position:relative}.menubar-trigger-submenu{display:flex;align-items:center;justify-content:space-between;width:100%;padding:5px 12px 5px 24px;border:none;background:transparent;color:var(--text-primary);font-size:.8125rem;font-family:inherit;text-align:left;cursor:pointer;white-space:nowrap;transition:background-color .08s ease}.menubar-trigger-submenu:after{content:"›";margin-left:1.5rem;font-size:1rem;color:var(--text-secondary)}.menubar-trigger-submenu:hover,.menubar-trigger-submenu[aria-expanded=true]{background-color:var(--accent-primary);color:#fff}.menubar-trigger-submenu:hover:after,.menubar-trigger-submenu[aria-expanded=true]:after{color:#ffffffb3}.dropdown-menu.submenu{position:absolute;top:-4px;left:100%;margin-left:0}body[data-theme=dark] .dropdown-menu{box-shadow:0 4px 16px #0006,0 1px 4px #0000004d}
