.original-handle{touch-action:none}.document-row.is-dragging{opacity:.55}.drag-ghost{pointer-events:none;color:var(--gold);font-size:1.1rem;position:absolute}.document-row[data-drag-position]{position:relative}.document-row[data-drag-position]:before,.document-row[data-drag-position]:after{content:"";background:var(--gold);height:2px;position:absolute;left:0;right:0}.document-row[data-drag-position=before]:before{top:-1px}.document-row[data-drag-position=after]:after{bottom:-1px}.document-row .row-menu button,.document-row .version-menu button{min-height:44px}:root{--paper:#221c16;--paper-warm:#2a2119;--surface:#2e261d;--ink:#f0e7da;--soft:#a89a89;--faint:#817365;--line:#423728;--clay:#d08a73;--sage:#9ab494;--gold:#d0a95e;--font-body:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, monospace;--fs-label:.69rem;--fs-meta:.89rem;--fs-body:.97rem;--fs-title:1.1rem;--fs-hero:1.89rem;--track-tight:-.01em;--track-label:.14em;--weight-heading:800;--gap-1:.35rem;--gap-2:.55rem;--gap-3:.9rem;--gap-4:1.4rem;--pad-row:.6rem .85rem;--pad-card:1rem 1.1rem;--radius-chip:.7rem;--radius-input:.9rem;--radius-card:1rem;--radius-round:50%;--hairline:1px solid var(--line);--stroke-icon:1.9;--t-press:.16s ease;--t-reveal:.32s ease;--tap-min:44px;--shadow-card:0 2px 10px color-mix(in srgb, var(--paper) 66%, transparent)}.mono-label,.saved-note,.busy-note{font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:var(--track-label);text-transform:uppercase}.mono-label{color:var(--faint)}.saved-note{color:var(--sage)}.busy-note{color:var(--gold)}.button,.btn-round,.option-chip{font:inherit;cursor:pointer;transition:transform var(--t-press),border-color var(--t-press);min-height:var(--tap-min)}.button{border:var(--hairline);border-radius:var(--radius-input);padding:var(--pad-row);background:var(--surface);color:var(--ink);font-weight:700}.button.primary{border-color:var(--sage);color:var(--sage)}.button.attention{border-color:var(--clay);color:var(--clay)}.button:active,.btn-round:active{transform:scale(.96)}.btn-round{width:var(--tap-min);height:var(--tap-min);border-radius:var(--radius-round);border:var(--hairline);background:var(--surface);color:var(--soft);place-items:center;display:grid}.btn-round svg{fill:none;stroke:currentColor;width:19px;stroke-width:var(--stroke-icon);stroke-linecap:round;stroke-linejoin:round}.form-field,.sheet-field{gap:var(--gap-1);flex-direction:column;display:flex}.form-field{padding:.4rem 0}.text-input,.textarea{box-sizing:border-box;width:100%;font:inherit;color:var(--ink);background:var(--surface);border:var(--hairline);border-radius:var(--radius-input);padding:var(--pad-row);outline:none}.textarea{resize:vertical;min-height:5.5rem}.text-input:focus,.textarea:focus,.button:focus-visible,.btn-round:focus-visible,.option-chip:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-color:var(--gold)}.input-row,.entity-row{align-items:center;gap:var(--gap-2);display:flex}.input-row>:first-child{flex:1;min-width:0}.entity-row{border-bottom:var(--hairline);padding:.7rem 0}.option-chip{text-align:left;border:var(--hairline);border-radius:var(--radius-card);background:var(--surface);width:100%;color:var(--ink);padding:.72rem .9rem;display:block}.option-chip.picked{border-color:var(--sage);background:color-mix(in srgb,var(--sage) 10%,var(--surface))}.sheet-field{border-bottom:var(--hairline);padding:.55rem 0}@media (prefers-reduced-motion:no-preference){.busy-note i{border-radius:var(--radius-round);background:currentColor;width:.3rem;height:.3rem;margin-right:.3rem;animation:.8s ease-in-out infinite alternate blink;display:inline-block}@keyframes blink{to{opacity:.3;transform:translateY(-2px)}}}.karaoke-toggle:focus-visible,.youtube-link:focus-visible,.song-link:focus-visible{outline:2px solid var(--gold);outline-offset:2px}*{box-sizing:border-box}html,body{background:var(--paper);min-height:100%}body{color:var(--ink);font:var(--fs-body)/1.45 var(--font-body);margin:0}button,input,textarea{font:inherit}button{color:inherit}button:focus-visible,[contenteditable]:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.catalog,.editor{width:min(1100px,100% - 2rem);margin:auto;padding:clamp(1.2rem,4vw,3.5rem) 0}.catalog{max-width:680px}.card,.karaoke,.conflict{padding:var(--pad-card);border:var(--hairline);border-radius:var(--radius-card);background:var(--paper-warm);box-shadow:var(--shadow-card)}.catalog .card{gap:var(--gap-2);margin:var(--gap-4) 0;display:grid}.editor{padding-bottom:4rem}.editor-head,.comment-actions{align-items:center;gap:var(--gap-2);display:flex}.editor-head{margin-bottom:var(--gap-4);justify-content:space-between}.song-meta{gap:var(--gap-3);margin-bottom:var(--gap-3);grid-template-columns:1fr 1fr;display:grid}.karaoke{z-index:2;margin-bottom:var(--gap-3);position:sticky;top:0}.karaoke-toggle{border:0;border-bottom:var(--hairline);width:100%;min-height:44px;color:var(--ink);cursor:pointer;background:0 0;justify-content:space-between;align-items:center;display:flex}.karaoke-frame{width:480px;max-width:100%;height:270px;transition:height var(--t-reveal);overflow:hidden}.karaoke-frame iframe{border:0;width:100%;height:100%}.is-collapsed .karaoke-frame{height:0}.youtube-link{min-height:44px;color:var(--gold);font:var(--fs-label) var(--font-mono);align-items:center;display:inline-flex}.comment-actions{margin:var(--gap-4) 0;flex-wrap:wrap}.document{overflow:hidden}.grid-labels,.visual-index-band{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1rem,4vw,4rem);display:grid}.grid-labels{margin-bottom:var(--gap-2);color:var(--soft);font:var(--fs-label) var(--font-mono);letter-spacing:var(--track-label);text-transform:uppercase;padding:0 44px}.visual-index-band{border-top:1px solid var(--line);align-items:stretch;min-height:52px}.document-slot{min-width:0;padding:3px 0}.document-row{grid-template-columns:44px minmax(0,1fr) auto;align-items:start;min-height:44px;padding:3px 0;display:grid;position:relative}.document-row:focus-within{box-shadow:inset 2px 0 var(--gold)}.row-handle,.row-actions{align-items:center;display:flex;position:relative}.handle-button,.comment-button,.version-trigger{min-width:44px;min-height:44px;color:var(--soft);cursor:pointer;background:0 0;border:0}.original .handle-button{cursor:grab}.row-menu,.version-menu{z-index:4;background:var(--surface);border:var(--hairline);border-radius:var(--radius-card);min-width:150px;box-shadow:var(--shadow-card);padding:4px;display:grid;position:absolute;top:44px;left:0}.row-menu button,.version-menu button{text-align:left;cursor:pointer;background:0 0;border:0;min-height:36px}.row-actions{justify-content:end}.version-menu{left:auto;right:0}.version-option{grid-template-columns:1fr 36px;display:grid}.inline-text,.comment-edit{white-space:pre-wrap;word-break:break-word;cursor:text;background:0 0;border:0;min-height:44px;padding:10px 4px;display:block}.inline-text.empty:before{content:"Порожній рядок";color:var(--faint)}.inline-text:focus{border-bottom:2px solid var(--gold);outline:0}.section-row{min-height:44px;color:var(--gold);font:var(--fs-label) var(--font-mono);letter-spacing:var(--track-label);text-transform:uppercase;padding:9px 0}.comment-subrow{border-top:1px solid var(--line);color:var(--soft);grid-column:2/4;grid-template-columns:76px 1fr;align-items:start;display:grid}.comment-subrow[hidden]{display:none}.comment-subrow .mono-label{padding-top:12px}.mobile-switch{display:none}.song-link{text-align:left;cursor:pointer;background:0 0;border:0;width:100%;min-height:44px}.song-link span{color:var(--soft);margin-left:auto}.empty,.inline-error{color:var(--clay)}@media (width<=719px){.catalog,.editor{width:min(100% - 1rem,1100px);padding:1rem 0}.song-meta{grid-template-columns:1fr}.karaoke-frame{width:100%;min-height:200px}.is-collapsed .karaoke-frame{min-height:0}.grid-labels{display:none}.mobile-switch{margin-bottom:var(--gap-2);display:flex}.mobile-switch button{border:var(--hairline);background:0 0;flex:1;min-height:44px}.mobile-switch .active{border-color:var(--gold);color:var(--gold)}.visual-index-band{display:block}.mobile-hidden{display:none}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}.cover-controls{align-items:center;gap:var(--gap-2);display:flex}.cover-controls select{background:var(--paper-warm);max-width:14rem;min-height:44px;color:var(--ink);border:var(--hairline);border-radius:var(--radius-control)}.cover-save{width:44px;padding:0}.snapshot-modal{z-index:10;background:color-mix(in srgb,var(--ink) 53%,transparent);place-items:center;display:grid;position:fixed;inset:0}.snapshot-modal form{gap:var(--gap-3);width:min(360px,100% - 2rem);padding:var(--pad-card);border:var(--hairline);border-radius:var(--radius-card);background:var(--paper-warm);display:grid}.snapshot-modal label{gap:var(--gap-1);display:grid}.snapshot-modal input{background:var(--paper);min-height:44px;color:var(--ink);border:var(--hairline);border-radius:var(--radius-control)}.snapshot-modal form>div{justify-content:flex-end;gap:var(--gap-2);display:flex}.original-disclosure,.mobile-original-disclosure,.mobile-original-disclosure[hidden]{display:none}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=700px){.cover-controls{margin-left:auto}.cover-controls select{max-width:10rem}.grid-labels{display:none}.visual-index-band{display:block}.original-slot{display:none}.adaptation-slot{width:100%}.original-disclosure{min-height:44px;margin:var(--gap-1) 0 0;color:var(--soft);cursor:pointer;background:0 0;border:0;grid-column:2/4;align-items:center;display:inline-flex}.mobile-original-disclosure{margin:0 0 var(--gap-2);padding:var(--gap-2);border-left:2px solid var(--gold);color:var(--soft);white-space:pre-wrap;grid-column:2/4;display:block}.song-meta{grid-template-columns:1fr}.document .original-slot{display:none!important}.document .adaptation-slot{width:100%;display:block!important}.document .grid-labels{display:none!important}.document .visual-index-band{display:block!important}.document .original-disclosure{display:inline-flex!important}.document .mobile-original-disclosure{display:block!important}.document .mobile-original-disclosure[hidden]{display:none!important}}
