.blocks-container{display:flex;flex-direction:column;gap:1rem;overflow-y:auto}.s2-block{border:1px solid var(--border);padding:1rem;border-radius:1rem}.s2-line{display:flex;flex-wrap:wrap;gap:.5rem 0;align-items:center;flex:1}.s2-line-wrapper{display:flex;align-items:center;gap:.75rem;padding:.5rem;border-radius:.5rem;border:1px dashed transparent}.s2-line-wrapper.is-secondary{border-color:var(--secondary)}.s2-word{display:inline-flex;align-items:center;position:relative;background:var(--card-bg);padding:.25rem .5rem;border-radius:.5rem}.s2-char{font-family:var(--mono-font);font-size:20px;font-weight:calc(var(--font-weight) + 200)}.s2-spacer{width:.625rem;height:1em;margin:0 -.075rem;display:inline-flex;justify-content:center;align-items:center;cursor:pointer;position:relative;z-index:2}.s2-spacer:after{content:"";width:2px;height:100%;background:transparent;border-radius:1px}.s2-spacer:hover:after{background-color:color-mix(in srgb,var(--success),transparent 75%);transition:background-color .2s ease-in-out}.s2-spacer.has-split:after{background-color:var(--success)!important;height:100%;width:2px}.s2-word-spacer{display:inline-flex;align-items:center;justify-content:center;width:1rem;height:1.75rem;cursor:pointer;color:transparent;font-size:.75em;font-weight:700}.s2-word-spacer:hover{color:var(--primary)}.s2-btn{font-size:.875rem;white-space:nowrap}.sync-container{display:flex;flex-direction:column;height:100%;position:relative;align-items:center}.sync-controls-bar{display:flex;justify-content:space-between;align-items:center;width:100%;padding:.75rem 1rem;background:#ffffff05;border-bottom:1px solid var(--border);z-index:10}.prompter-viewport{display:flex;flex-direction:column;gap:1rem;text-align:center;width:100%;flex:1;overflow-y:auto;scroll-behavior:smooth}.prompter-line{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;padding:2rem 0 1rem;border-radius:1rem;transition:.2s ease-in-out;cursor:pointer;opacity:.45;border:1px solid transparent}.prompter-line:hover{opacity:.8;background:color-mix(in srgb,var(--color),transparent 95%);border-color:color-mix(in srgb,var(--color),transparent 90%)}.prompter-line.current{font-size:2rem;line-height:1.3;opacity:1;background:color-mix(in srgb,var(--primary),transparent 90%);border-color:color-mix(in srgb,var(--primary),transparent 85%);color:var(--primary);font-weight:calc(var(--font-weight) + 300)}.word-group{display:inline-flex;gap:0;align-items:center;border-bottom:2px solid color-mix(in srgb,currentColor,transparent 75%)}.word-group:hover{text-decoration:dashed}.end-group{display:inline-flex;align-items:center;color:var(--danger)}.sync-word{position:relative;padding:.15em .25em;background-color:transparent;outline:2px dashed transparent;outline-offset:0;box-shadow:0 0 1rem transparent;border-radius:.5rem;transition:all .1s ease-out}.sync-word.end-token{color:var(--danger)}.sync-word.done:after{content:attr(data-time);position:absolute;top:-1.25rem;left:50%;transform:translate(-50%);font-size:.5rem;font-family:var(--mono-font);opacity:.75}.sync-word.active-sung{background-color:var(--primary);color:color-mix(in srgb,var(--primary),var(--bg) 80%);box-shadow:0 0 1rem color-mix(in srgb,var(--primary),transparent 50%)}.sync-word.target{outline-color:currentColor;outline-offset:2px;background-color:color-mix(in srgb,currentColor,var(--bg) 90%);animation:pulse-target 1.2s infinite alternate}@keyframes pulse-target{0%{opacity:.6}to{opacity:1}}.pass-banner{position:absolute;top:0;left:0;right:0;background:#bf5af21a;border-bottom:1px solid var(--sec-color);padding:12px;text-align:center;color:var(--sec-color);font-weight:600;font-size:14px;display:none;z-index:15}.paint-layout{display:flex;flex-direction:row;height:100%;overflow:hidden}.paint-toolbar{display:flex;flex-direction:column;background:var(--card-bg);border:1px solid var(--border);overflow-y:auto;overflow-x:hidden;align-items:stretch;border-radius:1rem;width:min(30rem,30vw);width:min(30rem,30dvw)}.paint-toolbar>div{padding:1rem}.toolbar-section{display:flex;flex-direction:column;gap:10px}#singersList{display:flex;flex-direction:column;gap:.5rem}.singer-dict-row{display:flex;flex-direction:row;gap:.5em;align-items:center}.singer-dict-row .input-group-horizontal{display:grid;grid-template-columns:auto 1fr auto;gap:.25em}.singer-id{width:45px!important;text-align:center}.tool-btn{display:flex;flex:1;min-width:130px;align-items:center;gap:8px;padding:10px 12px;border-radius:6px;background:var(--bg);border:1px solid var(--border);cursor:pointer;color:var(--text-dim);font-size:13px;font-weight:600;transition:.15s}.tool-btn.active{background:#0a84ff1a;border-color:var(--accent);color:var(--accent)}.paint-main{flex:1;padding:1em;overflow-y:auto;font-size:1.25rem;font-weight:calc(var(--font-weight) + 200)}.p-line{margin-bottom:2em;display:flex;flex-wrap:wrap;gap:.5em .5em;align-items:center}.p-word{--singercol: var(--bg);border-radius:.25em;cursor:pointer;position:relative;border:1px solid transparent;padding:.25em;margin:-.125em;color:color-mix(in srgb,var(--singercol),var(--mix) 25%)}.p-word:hover{border-color:var(--border)}.singer-tag{font-size:.5em;margin-right:.75em}.sec-tag{pointer-events:none;font-size:.5em}#tweakPopup{display:none;position:fixed;background:var(--bg-panel);border:1px solid var(--border);padding:8px;border-radius:8px;z-index:100;box-shadow:0 12px 32px #000000b3;gap:6px;align-items:center}#tweakPopup button{padding:4px 10px;font-size:12px}.player-bar{display:flex;align-items:center;gap:20px;padding:14px 40px;background:var(--bg-panel);border-top:1px solid var(--border)}.time-display{font-variant-numeric:tabular-nums;font-family:monospace;font-size:14px;width:70px;text-align:center;color:var(--text)}input[type=range]{flex:1;accent-color:var(--accent);cursor:pointer}.restore-banner{display:none;background:#ff9f0a1a;border:1px solid rgba(255,159,10,.25);padding:12px 24px;border-radius:8px;margin-bottom:20px;justify-content:space-between;align-items:center}.restore-banner span{font-size:13px;color:var(--split-color);font-weight:600}.pass-transition-modal{position:absolute;inset:0;background:#000c;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:50;display:none;flex-direction:column;align-items:center;justify-content:center;text-align:center}
