/* Reference composition scaled as one unit by the existing dialog fit handler. */
.regeneration-membership-panel,.regeneration-membership-button-key { display:none; }
#regeneration-confirm-dialog .is-membership { width:720px; max-width:none; padding:38px 40px 32px; gap:0; border:0; border-radius:19px; background:#fff; color:#091627; font-family:Inter,sans-serif; }
#regeneration-confirm-dialog .is-membership .regeneration-confirm-close { top:28px; right:25px; color:#79818f; }
#regeneration-confirm-dialog .is-membership .regeneration-confirm-head { gap:20px; padding:0; }
#regeneration-confirm-dialog .is-membership .regeneration-confirm-head > span { font:600 16px/1.3 Inter,sans-serif; color:#00b75e; letter-spacing:.4px; }
#regeneration-confirm-dialog .is-membership .regeneration-confirm-head h2 { margin-left:26px; font:700 42px/1.2 Inter,sans-serif; letter-spacing:-1.5px; color:#081523; white-space:nowrap; }
#regeneration-confirm-dialog .is-membership .regeneration-confirm-message { margin:12px 0 22px 26px; font:600 25px/1.35 Inter,sans-serif; color:#7c8494; }
#regeneration-confirm-dialog .is-membership .regeneration-membership-panel { display:grid; justify-items:center; gap:12px; }
.regeneration-locked-ring { width:256px; height:256px; border:18px solid #e5e7eb; border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; position:relative; color:#7f8795; }
.regeneration-locked-ring i { position:absolute; top:-19px; left:calc(50% - 10px); width:21px; height:21px; border-radius:50%; background:#858d99; }
.regeneration-locked-ring .regeneration-lock { width:49px; height:54px; margin:0 0 9px; }
.regeneration-locked-ring strong { font:600 53px/1.1 Inter,sans-serif; }
.regeneration-locked-ring span { font:500 16px/1.5 Inter,sans-serif; }
.regeneration-membership-note { display:flex; gap:28px; width:calc(100% - 24px); padding:20px 29px; border-radius:16px; background:#effbf6; align-items:flex-start; margin-bottom:20px; }
.regeneration-key { display:grid; place-items:center; flex:0 0 81px; height:81px; border-radius:50%; background:#d6f7e9; color:#00a76b; }
.regeneration-key svg { width:46px; height:46px; }
.regeneration-membership-note p { margin:2px 0 10px; font:400 20px/1.4 Inter,sans-serif; color:#091627; }
.regeneration-membership-note p:last-child { margin:0; color:#838b9b; font-size:19px; }
#regeneration-confirm-dialog .is-membership .regeneration-confirm-actions { display:grid; grid-template-columns: .86fr 1fr; gap:16px; margin:0; }
#regeneration-confirm-dialog .is-membership .regeneration-confirm-actions button { height:69px; min-height:69px; border-radius:14px; font:500 19px Inter,sans-serif; gap:20px; }
#regeneration-confirm-dialog .is-membership .regeneration-confirm-cancel { background:#fff; border:1.5px solid #dfe3e9; color:#101b2d; }
#regeneration-confirm-dialog .is-membership .regeneration-confirm-submit:disabled { background:#8bcab0; color:#fff; opacity:1; cursor:not-allowed; box-shadow:none; }
#regeneration-confirm-dialog .is-membership .regeneration-confirm-submit .regeneration-confirm-action-icon { display:none; }
#regeneration-confirm-dialog .is-membership .regeneration-membership-button-key { display:flex; }
.regeneration-membership-button-key svg { width:30px; height:30px; }

.regeneration-voice { display:flex; align-items:center; justify-content:space-between; gap:18px; border:0; border-top:1px solid #e5e8ec; padding:22px 0 16px; margin:8px 0; min-width:0; }
.regeneration-voice legend { display:none; }
.regeneration-voice-copy { display:grid; gap:6px; }
.regeneration-voice-copy strong { font:500 18px/1.3 Inter,sans-serif; color:#1c2831; }
.regeneration-voice-copy > span { font:400 13px/1.4 Inter,sans-serif; color:#7b8692; }
.regeneration-voice-options { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; width:100%; }
.regeneration-voice { flex-wrap:wrap; }
.regeneration-voice-options label { justify-content:center; }
.regeneration-my-voice { width:100%; max-height:220px; overflow:auto; overscroll-behavior:contain; }
.regeneration-my-voice.hidden { display:none; }
.regeneration-voice-options label { position:relative; display:flex; align-items:center; gap:10px; padding:15px 14px; border:1px solid #dce1e7; border-radius:14px; color:#35424b; font:500 15px Inter,sans-serif; cursor:pointer; }
.regeneration-voice-options label:has(:checked) { border-color:#09b76d; color:#009956; background:#eaf9f0; }
.regeneration-voice-options label:has(:focus-visible) { outline:2px solid #009956; outline-offset:3px; }
.regeneration-voice-options input { position:absolute; opacity:0; width:1px; height:1px; }
.regeneration-voice-options svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.regeneration-confirm-sheet.is-membership .regeneration-voice { display:none; }

.regeneration-energy { min-width:0; border:0; padding:0; margin:8px 0 20px; }
.regeneration-energy legend { padding:0; margin-bottom:12px; color:var(--text, #1c2831); font:500 17px/1.3 Inter,sans-serif; }
.regeneration-energy-options { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:4px; border:1px solid #dce1e7; border-radius:14px; padding:5px; background:#f5f8f6; }
.regeneration-energy-options label { position:relative; display:flex; justify-content:center; align-items:center; gap:9px; min-height:48px; padding:8px 5px; border-radius:10px; color:#536159; cursor:pointer; font:500 15px/1.3 Inter,sans-serif; }
.regeneration-energy-options input { position:absolute; width:1px; height:1px; opacity:0; }
.regeneration-energy-dot { width:9px; height:9px; flex:0 0 9px; border-radius:50%; background:#b5c3bb; }
.regeneration-energy-options label:has(:checked) { background:#fff; color:#008e50; box-shadow:0 2px 8px #17382512; }
.regeneration-energy-options label:has(:checked) .regeneration-energy-dot { background:#09b76d; }
.regeneration-energy-options label:has(:focus-visible) { outline:2px solid #009956; outline-offset:1px; }
.regeneration-energy-options label:has(:disabled) { cursor:not-allowed; opacity:.6; }
.regeneration-confirm-sheet.is-membership .regeneration-energy { display:none; }
[data-theme="dark"] .regeneration-energy legend { color:#e6eee9; }
[data-theme="dark"] .regeneration-energy-options { background:#19251f; border-color:#3a4e42; }
[data-theme="dark"] .regeneration-energy-options label { color:#bdcbc3; }
[data-theme="dark"] .regeneration-energy-options label:has(:checked) { background:#2a4234; color:#69e6a5; }

.regeneration-edit-actions,.regeneration-lyrics-editor-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.regeneration-edit-actions button { display:flex; align-items:center; justify-content:center; gap:8px; min-width:0; min-height:48px; padding:10px 12px; font-size:16px; }
.regeneration-edit-actions button svg { width:18px; height:18px; flex:none; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.regeneration-confirm-body { display:contents; }
.regeneration-sheet-grip { display:none; }
.regeneration-edit-actions small { display:block; font-size:11px; font-weight:400; }
.regeneration-edit-actions button:disabled { opacity:.5; cursor:not-allowed; }
.regeneration-confirm-sheet.is-membership .regeneration-edit-actions,
.regeneration-confirm-sheet.is-processing .regeneration-edit-actions { display:none; }
.regeneration-confirm-sheet:is(.is-editing-lyrics,.is-editing-section) { width:min(720px,calc(100vw - 28px)); top:var(--regeneration-editor-center,50%); height:min(760px,calc(var(--regeneration-editor-height,100dvh) - 28px)); max-height:calc(var(--regeneration-editor-height,100dvh) - 28px); grid-template-rows:auto auto minmax(0,1fr); padding:24px; gap:12px; overflow:hidden; }
.regeneration-confirm-sheet:is(.is-editing-lyrics,.is-editing-section) > :not(.regeneration-sheet-grip):not(.regeneration-confirm-close):not(.regeneration-confirm-head):not(.regeneration-confirm-message):not(.regeneration-lyrics-editor):not(.regeneration-section-editor) { display:none; }
.regeneration-confirm-sheet:is(.is-editing-lyrics,.is-editing-section) .regeneration-confirm-head { gap:6px; padding-right:0; }
.regeneration-confirm-sheet:is(.is-editing-lyrics,.is-editing-section) .regeneration-confirm-head h2 { font-size:24px; padding-right:0; }
.regeneration-confirm-sheet:is(.is-editing-lyrics,.is-editing-section) .regeneration-confirm-head > span { font-size:10px; letter-spacing:.06em; }
.regeneration-confirm-sheet:is(.is-editing-lyrics,.is-editing-section) .regeneration-confirm-close { display:none; }
.regeneration-confirm-sheet:is(.is-editing-lyrics,.is-editing-section) .regeneration-confirm-message { font-size:14px; line-height:1.5; }
.regeneration-lyrics-editor { display:flex; flex-direction:column; gap:10px; min-width:0; min-height:0; }
.regeneration-lyrics-editor.hidden { display:none; }
.regeneration-lyrics-panel { flex:1; display:grid; grid-template-rows:minmax(0,1fr) auto; gap:8px; min-height:0; padding:12px; border:1px solid #d9e9df; border-radius:18px; background:linear-gradient(145deg,#f7fbf8,#edf6f0); box-shadow:inset 0 1px 0 #fff,0 8px 24px -20px #12412940; }
.regeneration-lyrics-panel:focus-within { border-color:#78c49d; box-shadow:0 0 0 2px #0a995610; }
.regeneration-lyrics-panel .av-panel-foot { display:flex; align-items:center; justify-content:space-between; gap:8px; min-width:0; }
.regeneration-lyrics-panel .av-field { min-height:0; }
.regeneration-lyrics-editor textarea { display:block; box-sizing:border-box; width:100%; height:100%; min-height:0; margin:0; padding:8px 2px; border:0; border-radius:0; background:transparent; color:#20392d; font:16px/1.45 var(--font-ui),sans-serif; resize:none; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#a3bfae transparent; }
.regeneration-lyrics-editor textarea:focus,.regeneration-lyrics-editor textarea:focus-visible { outline:none; border:0; box-shadow:none; }
.regeneration-lyrics-panel .av-panel-foot { padding-top:8px; border-top:1px solid #dceadf; font-variant-numeric:tabular-nums; }
.regeneration-lyrics-panel .av-count { font-size:11px; color:#61776a; white-space:nowrap; }
.regeneration-lyrics-count,.regeneration-lyrics-status { margin:0; font-size:13px; line-height:1.4; }
.regeneration-lyrics-count { font-size:12px; }
.regeneration-lyrics-status:empty { display:none; }
.regeneration-lyrics-count { color:#087e4b; }
.regeneration-lyrics-count.is-error,.regeneration-lyrics-status { color:#b42318; }
.regeneration-lyrics-editor-actions { flex:none; gap:8px; }
.regeneration-lyrics-editor-actions button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:10px 14px; border-radius:12px; font-size:14px; }
.regeneration-lyrics-editor-actions button svg { width:18px; height:18px; flex:none; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
@media (min-width:601px) {
  .regeneration-confirm-sheet:is(.is-editing-lyrics,.is-editing-section) { width:var(--regeneration-desktop-width,820px); height:var(--regeneration-desktop-height,760px); max-height:none; top:50%; padding:40px 56px; gap:16px; }
  .regeneration-confirm-sheet:is(.is-editing-lyrics,.is-editing-section) .regeneration-confirm-head { gap:12px; }
  .regeneration-confirm-sheet:is(.is-editing-lyrics,.is-editing-section) .regeneration-confirm-head h2 { font-size:2.12rem; }
  .regeneration-confirm-sheet:is(.is-editing-lyrics,.is-editing-section) .regeneration-confirm-head > span { font-size:.92rem; }
  .regeneration-confirm-sheet:is(.is-editing-lyrics,.is-editing-section) .regeneration-confirm-message { font-size:1.02rem; line-height:1.45; }
  .regeneration-lyrics-editor { gap:16px; }
  .regeneration-lyrics-editor-actions { grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:18px; margin-top:4px; }
  .regeneration-lyrics-editor-actions button { min-height:56px; border-radius:13px; font-size:1rem; gap:12px; }
  .regeneration-lyrics-editor-actions button svg { width:22px; height:22px; }
}
@media (max-width:600px) {
  .regeneration-confirm-sheet:is(.is-editing-lyrics,.is-editing-section) { width:calc(100vw - 16px); height:min(720px,calc(var(--regeneration-editor-height,100dvh) - 20px)); max-height:calc(var(--regeneration-editor-height,100dvh) - 20px); padding:14px; gap:10px; border-radius:22px; }
  .regeneration-confirm-sheet:is(.is-editing-lyrics,.is-editing-section) .regeneration-confirm-head { gap:4px; }
  .regeneration-confirm-sheet:is(.is-editing-lyrics,.is-editing-section) .regeneration-confirm-head h2 { font-size:20px; line-height:1.2; }
  .regeneration-confirm-sheet:is(.is-editing-lyrics,.is-editing-section) .regeneration-confirm-message { font-size:12px; line-height:1.4; }
  .regeneration-lyrics-panel { padding:10px; gap:6px; border-radius:14px; }
  .regeneration-lyrics-count,.regeneration-lyrics-panel .av-count { font-size:10px; }
}
[data-theme="dark"] .regeneration-lyrics-panel { background:linear-gradient(145deg,#192e24,#17271f); border-color:#496454; box-shadow:none; }
[data-theme="dark"] .regeneration-confirm-sheet:is(.is-editing-lyrics,.is-editing-section) { background:#14221b; border-color:#3b5144; box-shadow:0 24px 70px #0006; }
[data-theme="dark"] .regeneration-confirm-sheet:is(.is-editing-lyrics,.is-editing-section) .regeneration-confirm-head h2,
[data-theme="dark"] .regeneration-confirm-sheet:is(.is-editing-lyrics,.is-editing-section) .regeneration-confirm-close { color:#e6eee9; }
[data-theme="dark"] .regeneration-confirm-sheet:is(.is-editing-lyrics,.is-editing-section) .regeneration-confirm-message { color:#b1c5ba; }
[data-theme="dark"] .regeneration-lyrics-editor-actions .secondary-button { background:#20352a; color:#c6e7d5; border-color:#496454; }
[data-theme="dark"] .regeneration-lyrics-editor textarea { color:#e6eee9; }
[data-theme="dark"] .regeneration-lyrics-panel .av-count { color:#b1c5ba; }
[data-theme="dark"] .regeneration-lyrics-panel .av-panel-foot { border-color:#3b5144; }
[data-theme="dark"] .regeneration-lyrics-count { color:#69e6a5; }
[data-theme="dark"] .regeneration-lyrics-count.is-error,[data-theme="dark"] .regeneration-lyrics-status { color:#ffaaa2; }

.regeneration-section-editor { display:flex; flex-direction:column; min-height:0; gap:10px; }
.regeneration-section-editor.hidden { display:none; }
.section-editor-body { flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; padding:2px; }
.section-wave-panel { display:grid; gap:12px; padding:16px; border:1px solid #d9e9df; border-radius:16px; background:linear-gradient(145deg,#f8fcf9,#eff7f2); }
.section-wave-heading,.section-timeline,.section-text-footer { display:flex; justify-content:space-between; align-items:center; gap:8px; font-size:12px; color:#507260; }
.section-wave-heading strong { font-size:15px; font-weight:500; color:#244535; }
.section-wave-heading [data-section-selection] { padding:4px 8px; border-radius:6px; background:#07955312; color:#087e4b; font-size:11px; font-weight:500; font-variant-numeric:tabular-nums; white-space:nowrap; }
.section-transport { display:grid; grid-template-columns:44px minmax(0,1fr); align-items:center; gap:12px; }
.section-wave-track { min-width:0; }
.section-wave { position:relative; height:96px; }
.section-wave canvas { width:100%; height:100%; touch-action:none; cursor:crosshair; }
.section-timeline { margin-top:4px; font-size:10px; font-variant-numeric:tabular-nums; }
.section-wave-loading { position:absolute; inset:0; display:grid; place-items:center; font-size:12px; background:#f3f9f5; color:#507260; pointer-events:none; }
.section-wave-loading[hidden] { display:none; }
.section-wave-loading .am-vinyl { --am-vinyl-size:56px; }
.section-wave-loading-label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.section-range-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.section-range-fields label { display:grid; gap:3px; padding:7px 10px; border:1px solid #d5e5db; border-radius:10px; background:#fff; font-size:11px; color:#61776a; }
.section-range-fields label:focus-within { border-color:#079553; box-shadow:0 0 0 2px #07955315; }
.section-range-fields input { width:100%; min-width:0; padding:0; border:0; border-radius:0; outline:none; background:transparent; color:#20392d; font:500 18px/1.4 var(--font-ui),sans-serif; font-variant-numeric:tabular-nums; letter-spacing:.04em; box-shadow:none; }
.section-wave-hint { text-align:center; font-size:11px; color:#61776a; line-height:1.3; }
.section-listen { display:flex; align-items:center; justify-content:center; width:44px; height:44px; min-width:0; padding:0; border:0; border-radius:50%; background:#079553; color:#fff; cursor:pointer; box-shadow:0 4px 12px #07955326; }
.section-listen:hover { background:#087e4b; }
.section-listen:focus-visible { outline:2px solid #079553; outline-offset:3px; }
.section-listen svg { width:22px; height:22px; flex:none; }
.section-listen span { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.section-edit-modes { display:grid; grid-template-columns:1fr 1fr; gap:4px; padding:4px; border-radius:12px; background:#edf4ef; margin:14px 0 10px; }
.section-edit-modes button { min-height:40px; border:0; border-radius:9px; background:transparent; color:#506858; cursor:pointer; font:inherit; font-size:14px; }
.section-edit-modes button[aria-pressed="true"] { background:#fff; color:#07894e; box-shadow:0 2px 6px #193c2210; }
.section-edit-modes button[data-filled="true"]::after { content:' ✓'; color:#07894e; }
.section-text-label { display:block; margin-bottom:8px; color:#244535; font-size:14px; }
.section-editor-body textarea { box-sizing:border-box; width:100%; min-height:105px; padding:12px; border:1px solid #c9ded2; border-radius:12px; background:#f7fbf8; color:#20392d; font:16px/1.45 var(--font-ui),sans-serif; resize:vertical; }
.section-text-footer { margin-top:5px; font-size:11px; align-items:flex-start; }
.section-text-footer > :last-child { white-space:nowrap; }
.section-cost { display:flex; align-items:center; flex-wrap:wrap; gap:5px; font-size:14px; color:#087e4b; }
.section-cost span { margin-left:auto; font-size:11px; color:#61776a; }
.regeneration-section-editor > .regeneration-lyrics-status:empty { display:none; }
.regeneration-section-editor button:disabled { opacity:.5; cursor:not-allowed; }
@media (max-width:600px) {
  .regeneration-section-editor { gap:8px; }
  .section-editor-body { display:grid; grid-template-rows:auto auto auto minmax(0,1fr) auto; gap:6px; overflow:hidden; padding:0; }
  .section-wave-panel { padding:12px; gap:10px; }
  .section-wave { height:76px; }
  .section-wave-heading strong { font-size:13px; }
  .section-transport { gap:10px; }
  .section-edit-modes { margin:0; }
  .section-text-label { margin:0; font-size:13px; }
  .section-editor-body textarea { height:100%; min-height:0; resize:none; padding:10px; }
  .section-text-footer { margin:0; font-size:10px; line-height:1.3; }
  .section-cost { font-size:12px; }
  .section-cost span { font-size:10px; }
  .section-cost,.regeneration-section-editor > .regeneration-lyrics-status { flex:none; }
  @container (max-height:570px) {
    .regeneration-confirm-head > span { display:none; }
    .section-wave { height:48px; }
    .section-wave-loading .am-vinyl { --am-vinyl-size:36px; }
    .section-wave-panel { padding:10px; gap:6px; }
    .section-range-fields label { grid-template-columns:auto minmax(0,1fr); align-items:center; gap:8px; }
    .section-range-fields input { text-align:right; font-size:16px; }
    .section-wave-hint { display:none; }
    .section-edit-modes button { min-height:36px; }
  }
  @container (max-height:420px) {
    .regeneration-confirm-message { display:none; }
    .regeneration-confirm-head { grid-row:1; }
    .regeneration-section-editor { grid-row:2 / 4; gap:5px; }
    .section-wave { height:32px; }
    .section-wave-loading .am-vinyl { --am-vinyl-size:26px; }
    .section-wave-panel { gap:5px; padding:8px; }
    .section-text-footer [data-section-help],.section-cost > span { display:none; }
    .section-range-fields label { padding:5px 7px; }
    .section-edit-modes { padding:2px; }
    .section-edit-modes button { min-height:32px; }
    .section-text-label { font-size:12px; }
    .section-text-footer { justify-content:flex-end; }
  }
}
[data-theme="dark"] .section-wave-panel,[data-theme="dark"] .section-wave-loading,[data-theme="dark"] .section-editor-body textarea { background:#192e24; color:#c6e7d5; border-color:#496454; }
[data-theme="dark"] .section-wave-heading strong,[data-theme="dark"] .section-text-label { color:#e6eee9; }
[data-theme="dark"] .section-range-fields label,[data-theme="dark"] .section-timeline,[data-theme="dark"] .section-wave-heading,[data-theme="dark"] .section-text-footer,[data-theme="dark"] .section-cost span,[data-theme="dark"] .section-wave-hint { color:#b1c5ba; }
[data-theme="dark"] .section-edit-modes { background:#192e24; }
[data-theme="dark"] .section-edit-modes button { color:#b1c5ba; }
[data-theme="dark"] .section-edit-modes button[aria-pressed="true"],[data-theme="dark"] .section-range-fields label { background:#2a4234; color:#e6eee9; border-color:#496454; }
[data-theme="dark"] .section-range-fields input { color:#e6eee9; }
[data-theme="dark"] .section-wave-heading [data-section-selection] { background:#69e6a515; color:#69e6a5; }

/* A shared mobile frame: changing steps never resizes or repositions the sheet. */
@media (max-width:600px) {
  #regeneration-confirm-dialog .regeneration-confirm-sheet {
    display:flex; flex-direction:column; box-sizing:border-box; left:0;
    top:calc(var(--regeneration-editor-center,50dvh) - var(--regeneration-editor-height,100dvh) / 2);
    width:100%; height:var(--regeneration-editor-height,100dvh); max-height:none;
    transform:translateY(var(--regeneration-sheet-drag,0px));
    padding:calc(40px + env(safe-area-inset-top)) 14px max(12px,env(safe-area-inset-bottom));
    gap:8px; border:0; border-radius:20px 20px 0 0; overflow:hidden; container-type:size;
  }
  #regeneration-confirm-dialog .regeneration-sheet-grip { display:flex; position:absolute; top:env(safe-area-inset-top); left:0; width:100%; height:36px; align-items:center; justify-content:center; padding:0; border:0; background:transparent; touch-action:none; cursor:grab; }
  .regeneration-sheet-grip:active { cursor:grabbing; }
  .regeneration-sheet-grip span { width:40px; height:4px; border-radius:4px; background:#a3baad; }
  .regeneration-sheet-grip:focus-visible { outline:2px solid #079553; outline-offset:-5px; border-radius:20px; }
  #regeneration-confirm-dialog .regeneration-confirm-sheet .regeneration-confirm-head { flex:none; gap:4px; padding:0; }
  #regeneration-confirm-dialog .regeneration-confirm-sheet .regeneration-confirm-head > span { font-size:10px; line-height:1.4; letter-spacing:.06em; }
  #regeneration-confirm-dialog .regeneration-confirm-sheet .regeneration-confirm-head h2 { margin:0; padding:0; font-size:20px; line-height:1.2; white-space:normal; }
  #regeneration-confirm-dialog .regeneration-confirm-sheet .regeneration-confirm-message { flex:none; margin:0; font-size:12px; line-height:1.4; }
  #regeneration-confirm-dialog .regeneration-confirm-sheet .regeneration-confirm-close { display:none; }
  #regeneration-confirm-dialog .regeneration-confirm-sheet:not(.is-editing-lyrics):not(.is-editing-section) .regeneration-confirm-head { padding-right:0; }
  #regeneration-confirm-dialog .regeneration-confirm-body { display:flex; flex:1; flex-direction:column; min-height:0; gap:10px; overflow:visible; padding:4px 1px; }
  #regeneration-confirm-dialog .regeneration-confirm-body > * { flex-shrink:0; }
  #regeneration-confirm-dialog .regeneration-confirm-sheet:is(.is-editing-lyrics,.is-editing-section) .regeneration-confirm-body { display:none; }
  #regeneration-confirm-dialog :is(.regeneration-section-editor,.regeneration-lyrics-editor) { flex:1; min-height:0; gap:8px; }
  #regeneration-confirm-dialog :is(.regeneration-section-editor,.regeneration-lyrics-editor).hidden { display:none; }
  #regeneration-confirm-dialog .regeneration-confirm-sheet :is(.regeneration-confirm-actions,.regeneration-lyrics-editor-actions) { flex:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:0; }
  #regeneration-confirm-dialog .regeneration-confirm-sheet :is(.regeneration-confirm-actions,.regeneration-lyrics-editor-actions) button { min-width:0; min-height:48px; height:48px; padding:10px; border-radius:12px; font:500 14px/1.2 var(--font-ui),sans-serif; gap:8px; }
  #regeneration-confirm-dialog .regeneration-confirm-sheet:is(.is-editing-lyrics,.is-editing-section) > .regeneration-confirm-actions { display:none; }
  #regeneration-confirm-dialog :is(.regeneration-confirm-action-icon,.regeneration-lyrics-editor-actions button svg) { width:18px; height:18px; flex:none; }
  #regeneration-confirm-dialog :is(.regeneration-confirm-cost,.regeneration-confirm-notice) { flex:none; font-size:12px; margin:0; }
  #regeneration-confirm-dialog .regeneration-edit-actions { gap:8px; }
  #regeneration-confirm-dialog .regeneration-edit-actions button { min-height:48px; height:48px; padding:8px; border-radius:12px; font:500 12px/1.3 var(--font-ui),sans-serif; }
  .regeneration-voice { gap:10px; padding:12px 0 0; margin:0; }
  .regeneration-voice-copy { gap:3px; }
  .regeneration-voice-copy strong { font-size:14px; }
  .regeneration-voice-copy > span { font-size:11px; }
  .regeneration-voice-options { grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
  .regeneration-voice-options label { min-height:44px; padding:8px; gap:8px; font-size:13px; border-radius:10px; }
  .regeneration-voice-options svg { width:18px; height:18px; }
  .regeneration-voice-options label span,.regeneration-energy-options label span { font:inherit; }
  .regeneration-my-voice { flex:none; max-height:none; overflow:visible; margin-top:0; }
  .regeneration-energy { flex:none; margin:0; }
  .regeneration-energy legend { font-size:14px; margin-bottom:8px; }
  .regeneration-energy-options { padding:3px; border-radius:12px; }
  .regeneration-energy-options label { min-height:40px; padding:6px 2px; font-size:12px; gap:6px; }
  .regeneration-energy-dot { width:6px; height:6px; flex-basis:6px; }
  #regeneration-confirm-dialog .regeneration-confirm-free-panel { flex:none; grid-template-columns:96px minmax(0,1fr); align-items:center; gap:14px; padding:6px 0; }
  .regeneration-confirm-free-ring { width:96px; margin:0; }
  .regeneration-confirm-free-ring::before { inset:8px; }
  .regeneration-confirm-free-ring-dot { width:12px; height:12px; }
  .regeneration-confirm-free-ring-copy strong { font-size:26px; }
  .regeneration-confirm-free-ring-copy span { font-size:10px; margin-top:3px; }
  .regeneration-confirm-free-after { font-size:12px; line-height:1.4; max-width:270px; text-align:left; }
  .regeneration-confirm-usage-ring { width:130px; height:130px; }
  .regeneration-confirm-paid-rings { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; width:100%; margin:0; }
  .regeneration-confirm-usage-ring { justify-self:center; max-width:100%; }
  .regeneration-confirm-usage-ring-copy strong { font-size:28px; }
  .regeneration-confirm-usage-ring-copy span,.regeneration-confirm-usage-ring-copy em { font-size:10px; }
  .regeneration-locked-ring { width:140px; height:140px; border-width:10px; }
  .regeneration-locked-ring strong { font-size:30px; }
  .regeneration-locked-ring span { font-size:11px; }
  .regeneration-locked-ring .regeneration-lock { width:28px; height:30px; margin:0; }
  .regeneration-locked-ring i { top:-10px; width:12px; height:12px; left:calc(50% - 6px); }
  .regeneration-membership-note { padding:14px; gap:12px; margin:0; width:100%; }
  .regeneration-key { flex-basis:36px; height:36px; }
  .regeneration-key svg { width:22px; height:22px; }
  .regeneration-membership-note p,.regeneration-membership-note p:last-child { font-size:13px; }
  @container (max-height:620px) {
    #regeneration-confirm-dialog .regeneration-confirm-body { gap:8px; padding:0; }
    #regeneration-confirm-dialog .regeneration-confirm-free-panel { grid-template-columns:64px minmax(0,1fr); padding:0; gap:10px; }
    .regeneration-confirm-free-ring { width:64px; }
    .regeneration-confirm-free-ring::before { inset:5px; }
    .regeneration-confirm-free-ring-dot { width:8px; height:8px; }
    .regeneration-confirm-free-ring-copy strong { font-size:22px; }
    .regeneration-confirm-free-ring-copy span { display:none; }
    .regeneration-confirm-free-after { text-align:left; }
    .regeneration-voice { gap:6px; padding:6px 0 0; }
    .regeneration-voice-copy > span { display:none; }
    .regeneration-voice-options { grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px; }
    .regeneration-voice-options label { flex-direction:column; gap:3px; padding:5px 1px; font-size:10px; }
    .regeneration-voice-options svg { width:16px; height:16px; }
    .regeneration-energy legend { font-size:12px; margin-bottom:4px; }
    .regeneration-energy-options label { min-height:36px; font-size:11px; }
    #regeneration-confirm-dialog .regeneration-confirm-cost { min-height:28px; padding:4px 8px; }
    .regeneration-voice:has(.regeneration-my-voice:not(.hidden)) .regeneration-voice-copy { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
    .regeneration-confirm-usage-ring { width:100%; height:auto; aspect-ratio:auto; padding:8px; border-radius:10px; background:#eff8f2; }
    .regeneration-confirm-usage-ring::before,.regeneration-confirm-usage-ring-dot,.regeneration-confirm-usage-ring-copy em { display:none; }
    .regeneration-confirm-usage-ring-copy { display:flex; align-items:center; gap:6px; }
    .regeneration-confirm-usage-ring-copy strong { font-size:20px; }
    .regeneration-confirm-usage-ring-copy span { margin:0; font-size:10px; text-align:left; }
  }
  @container (max-height:420px) {
    #regeneration-confirm-dialog .regeneration-section-editor { gap:5px; }
    #regeneration-confirm-dialog .section-editor-body { gap:4px; }
    #regeneration-confirm-dialog .section-timeline { display:none; }
    #regeneration-confirm-dialog .regeneration-confirm-body { gap:5px; }
    #regeneration-confirm-dialog .regeneration-confirm-free-panel { grid-template-columns:44px minmax(0,1fr); }
    .regeneration-confirm-free-ring { width:44px; }
    .regeneration-confirm-free-ring-copy strong { font-size:16px; }
    .regeneration-confirm-free-after { font-size:11px; }
    .regeneration-voice { padding:0; gap:5px; border:0; }
    .regeneration-voice-copy,.regeneration-energy legend { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
    .regeneration-my-voice.mv-card { padding:0; border:0; }
    .regeneration-my-voice .mv-compact-row { gap:5px; }
    .regeneration-my-voice :is(select,.mv-compact-manage) { min-height:36px; padding:4px 6px; }
  }
}
