/* Fotos Memórias V117 - novo modo música com fotos */
body.fm117-open #main-content{padding:0!important;max-width:none!important;width:100%!important}body.fm117-open{overflow:hidden}body.fm117-open #app>footer{display:none}
.fm117-shell{position:fixed;inset:0;z-index:1250;display:flex;flex-direction:column;background:linear-gradient(160deg,#fef5f9,#f2e6f7 63%,#f8ebee);color:#30243b;font-family:system-ui,-apple-system,sans-serif;overflow:hidden}
.fm117-head{padding:calc(env(safe-area-inset-top, 0px) + 14px) 14px 13px;background:#25203c;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:12px;box-shadow:0 6px 23px #2c19402c}
.fm117-head>button{border:1px solid #ffffff52;background:#ffffff13;color:white;border-radius:24px;padding:10px 14px;min-height:42px;font:600 14px system-ui}.fm117-head>div{display:flex;flex-direction:column;line-height:1.25}.fm117-head span{color:#e4bfd5;font-size:12px;letter-spacing:.05em}.fm117-head strong{font-size:18px}
.fm117-body{overflow:auto;overscroll-behavior:contain;padding:13px 13px 110px;flex:1;scrollbar-width:thin}.fm117-progress{display:flex;align-items:center;justify-content:center;gap:4px;margin-bottom:16px}.fm117-progress>span{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;font-size:10px;color:#867991;text-align:center;max-width:110px}.fm117-progress b{height:29px;width:29px;border:1px solid #dcc6dc;border-radius:50%;display:grid;place-items:center;background:white}.fm117-progress .active b{background:#884f8c;color:white;border-color:#884f8c}.fm117-progress .done b{background:#dbb2d4}
.fm117-card{max-width:540px;margin:0 auto;background:#fff;border-radius:27px;padding:23px 20px;box-shadow:0 8px 28px #50314d12;display:flex;flex-direction:column;gap:14px}.fm117-kicker{font-size:11px;color:#9a6492;letter-spacing:.12em;font-weight:750}.fm117-card h1{font:700 clamp(23px,5vw,30px)/1.19 system-ui;margin:0;color:#32223d}.fm117-card p{font:400 14px/1.55 system-ui;color:#6b596f;margin:0}.fm117-card label:not(.fm117-upload){display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:700;color:#41314b}.fm117-card input:not([type=file]),.fm117-card textarea{box-sizing:border-box;width:100%;padding:13px;border-radius:14px;border:1px solid #d9cbd8;background:#fffafc;font:400 15px/1.45 system-ui;color:#30243b;resize:vertical}.fm117-card input:focus,.fm117-card textarea:focus{outline:2px solid #ae68a1;outline-offset:1px}.fm117-card textarea{min-height:90px}
.fm117-genres{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.fm117-genres button{border:1px solid #dacbda;border-radius:17px;padding:13px 10px;background:#fbf8fa;color:#513a54;font-weight:600}.fm117-genres button.chosen{background:#7f4e83;color:white;border-color:#7f4e83}.fm117-lyrics-head{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13px}.fm117-lyrics-head button{border:0;background:#f5e5f2;color:#70416e;border-radius:12px;padding:7px 10px;font-size:12px;font-weight:700}.fm117-card .fm117-lyric-edit{min-height:265px;font-size:14px}.fm117-card small{font-size:11px;color:#88798d}
.fm117-upload{border:2px dashed #cdaac8;border-radius:17px;text-align:center;padding:18px;background:#fff9fc;display:flex;flex-direction:column;gap:4px;color:#684b69;cursor:pointer}.fm117-upload span{font-size:15px;font-weight:700}.fm117-upload input{max-width:100%;font-size:12px;color:#57435d}.fm117-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.fm117-thumb{height:106px;position:relative;border-radius:13px;overflow:hidden;background:#efe4ec}.fm117-thumb img{width:100%;height:100%;object-fit:cover}.fm117-thumb button{position:absolute;right:4px;top:4px;width:28px;height:28px;border-radius:50%;border:0;background:#212023df;color:white;font-weight:bold}.fm117-note{font-size:12px!important}
.fm117-stage-wrap{margin:0 auto;max-width:286px;width:100%;border-radius:18px;overflow:hidden;box-shadow:0 10px 30px #2213253b;background:#1c1322;aspect-ratio:9/16}.fm117-stage-wrap canvas{width:100%;height:100%;display:block}.fm117-controls{display:grid;grid-template-columns:1fr 1fr;gap:9px}.fm117-controls button,.fm117-ai button{border:0;border-radius:14px;background:#774a7e;color:#fff;padding:13px 10px;min-height:48px;font-weight:750;font-size:13px}.fm117-controls button:last-child{background:#efe2ee;color:#704175}.fm117-ai{padding:16px;border:1px solid #e7d9e8;background:#fbf6fa;border-radius:19px;display:flex;flex-direction:column;gap:8px}.fm117-ai strong{font-size:14px}.fm117-ai small{line-height:1.5}.fm117-ai button:disabled,.fm117-controls button:disabled{opacity:.55}.fm117-lyric-read{background:#faf5f9;border-radius:18px;padding:14px}.fm117-lyric-read strong{font-size:11px;color:#7a587b;letter-spacing:.12em}.fm117-lyric-read p{margin:11px 0 0;line-height:1.7!important}
.fm117-foot{background:#fff;border-top:1px solid #eddfed;display:flex;gap:12px;padding:12px 15px calc(env(safe-area-inset-bottom, 0px) + 15px);box-shadow:0 -5px 15px #210a1911}.fm117-foot button{flex:1;border-radius:18px;min-height:48px;border:1px solid #d9c4d9;background:white;color:#66436b;font:700 15px system-ui}.fm117-foot #fm117-next{flex:2;background:#7c4c82;color:white;border:0}.fm117-foot [hidden]{display:none}#fm117-notice{font:500 13px/1.5 system-ui;color:#5b5260;max-width:540px;margin:12px auto;text-align:center}#fm117-notice.error{color:#b23b4a}
@media(min-width:800px){.fm117-head{padding-top:19px}.fm117-card{padding:28px 35px}.fm117-body{padding-top:24px}.fm117-stage-wrap{max-width:300px}}
@media(max-width:390px){.fm117-card{padding:20px 15px}.fm117-head strong{font-size:16px}.fm117-progress>span{font-size:9px}}
@media(prefers-reduced-motion:reduce){.fm117-shell *{scroll-behavior:auto!important;animation:none!important}}

.fm117-home-music{grid-column:1/-1;display:flex;align-items:center;gap:16px;max-width:100%;padding:19px 23px;background:linear-gradient(110deg,#fff2f8,#fbf7ff);border:1px solid #edd7e8;border-radius:25px;box-shadow:0 7px 22px #572f5013;color:#46304f}.fm117-home-icon{font-size:46px;flex-shrink:0}.fm117-home-music>div:nth-child(2){flex:1}.fm117-home-music span{font-size:11px;letter-spacing:.08em;color:#8f628b;font-weight:bold}.fm117-home-music h3{font-size:23px;color:#56345b;margin:5px 0}.fm117-home-music p{font-size:13px;line-height:1.5;color:#6b556d;margin:0}.fm117-home-music button{border:0;background:#7c4c82;color:white;font-weight:bold;border-radius:14px;padding:14px;max-width:210px;cursor:pointer}@media(max-width:650px){.fm117-home-music{flex-wrap:wrap;padding:19px}.fm117-home-music>div:nth-child(2){flex:1;min-width:65%}.fm117-home-music button{width:100%;max-width:none}}

/* V118: resultado da geracao visivel junto aos controles, não oculto depois da letra. */
.fm118-audio-state{display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 12px;border-radius:13px;background:#f4ebf3;color:#6a506c;text-align:center;font:700 13px/1.4 system-ui;border:1px solid #eadbe7}
.fm118-audio-state.ready{background:#edf8f0;color:#286c46;border-color:#c5e8cf}
.fm118-status{padding:14px;border-radius:14px;background:#ecf5ee;color:#276546;font:650 13px/1.5 system-ui!important;white-space:normal;overflow-wrap:anywhere;margin:0!important;border:1px solid #cce8d3}
.fm118-status.error{background:#fff0ee;color:#a33448;border-color:#edc1c6}
.fm118-status[hidden]{display:none!important}
.fm117-controls button:disabled{opacity:.52;cursor:not-allowed;filter:grayscale(.25)}
.fm117-studio .fm117-lyric-read{max-height:220px;overflow:auto;overscroll-behavior:contain}
.fm117-studio .fm117-ai{padding:14px;gap:7px}
