.media-composer {
  --mc-rose:#c77399; --mc-deep:#81576e; --mc-soft:#fff4f8; --mc-line:#eedce5;
  color:var(--ink,#413440); text-align:center; padding:4px 0 0;
}
.media-composer .mc-heading h3 {margin:0;font-size:16px;font-weight:580;letter-spacing:-.3px;line-height:1.35;}
.media-composer .mc-heading p {margin:7px auto 0;max-width:310px;font-size:12px;line-height:1.6;color:#997e8d;overflow-wrap:anywhere;}
.media-composer .mc-visual {display:flex;align-items:center;flex-direction:column;margin:18px auto 15px;}
.media-composer .mc-circle {position:relative;width:212px;height:212px;max-width:100%;flex-shrink:0;isolation:isolate;}
.media-composer .mc-empty,.media-composer .mc-waiting {border:1px solid #f2dfe9;border-radius:50%;background:radial-gradient(circle at 35% 25%,#fffdfd 5%,#fff4f8 57%,#f9e8f1);box-shadow:inset 0 0 0 8px #fff9fc,0 14px 32px -24px #bc7a9d65;}
.media-composer .mc-camera-glyph {position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#bd86a1;}
.media-composer .mc-camera-glyph>svg {width:66px;height:66px;filter:drop-shadow(0 4px 8px #c87f9f1a);}
.media-composer .mc-camera-glyph>span {position:absolute;left:calc(50% + 17px);top:calc(50% - 37px);font-size:25px;color:#d193ae;transform:rotate(10deg);}
.media-composer .mc-circle-spark {position:absolute;color:#d6a4bc;line-height:1;}
.media-composer .mc-spark-one {top:41px;right:43px;font-size:21px;}
.media-composer .mc-spark-two {bottom:42px;left:43px;font-size:12px;color:#d6bfd4;}
.media-composer .mc-video {display:block;width:100%;height:100%;object-fit:cover;border-radius:50%;background:#f3e9ef;}
.media-composer .mc-camera-preview {transform:scaleX(-1);}
.media-composer .mc-live {padding:8px;}
.media-composer .mc-progress {position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);pointer-events:none;overflow:visible;}
.media-composer .mc-progress circle {fill:none;stroke-width:3;}
.media-composer .mc-progress-track {stroke:#efdee7;}
.media-composer .mc-progress-value {stroke:var(--mc-rose);stroke-dasharray:100;stroke-dashoffset:100;stroke-linecap:round;}
.media-composer .mc-timer {margin:7px 0 -4px;font-variant-numeric:tabular-nums;font-size:12px;color:var(--mc-deep);letter-spacing:.5px;}
.media-composer .mc-timer-limit {color:#b59aa9;}
.media-composer .mc-playback {padding:6px;border:1px solid var(--mc-line);border-radius:50%;box-shadow:0 12px 27px -22px #9c5c7b80;}
.media-composer .mc-video-mark {position:absolute;right:8px;bottom:14px;width:33px;height:33px;display:grid;place-items:center;background:#fff4f8;color:#b46f92;border:3px solid #fff;border-radius:50%;font-size:20px;box-shadow:0 3px 12px #9c5c7b12;}
.media-composer .mc-actions {display:flex;flex-direction:column;align-items:center;gap:5px;max-width:320px;margin:auto;}
.media-composer .mc-button {display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;min-width:44px;padding:10px 18px;font:inherit;font-size:13px;line-height:1.35;font-weight:520;border:1px solid transparent;border-radius:13px;background:transparent;color:var(--mc-deep);transition:transform .18s ease,background .18s ease,box-shadow .18s ease;touch-action:manipulation;}
.media-composer .mc-button:focus-visible {outline:3px solid #bc82a1;outline-offset:3px;}
.media-composer .mc-button:active:not(:disabled) {transform:scale(.97);}
.media-composer .mc-primary {color:#fff;background:linear-gradient(110deg,#cf82a4,#bd7299);box-shadow:0 6px 16px #bf739826;min-width:190px;}
.media-composer .mc-primary:hover:not(:disabled) {background:linear-gradient(110deg,#c7799d,#b5678e);box-shadow:0 7px 18px #bf739833;}
.media-composer .mc-secondary {color:#a3718d;background:#fff;border-color:#eedee7;}
.media-composer .mc-secondary:hover {background:#fff8fb;}
.media-composer .mc-quiet {color:#a48697;font-weight:450;}
.media-composer .mc-quiet:hover {color:#8d627b;background:#fff7fa;}
.media-composer .mc-play {min-width:125px;font-size:12px;color:#ae6b8e;background:#fbf2f7;min-height:40px;margin-top:-1px;margin-bottom:5px;}
.media-composer .mc-play-symbol {font-size:12px;width:13px;}
.media-composer .mc-action-pair {display:flex;justify-content:center;align-items:center;gap:8px;width:100%;}
.media-composer .mc-action-pair .mc-button {flex:1;min-width:0;padding-inline:10px;}
.media-composer .mc-record-dot {width:13px;height:13px;flex-shrink:0;border:3px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #ffffffb0;background:#edb7cd;}
.media-composer .mc-stop-square {width:11px;height:11px;flex-shrink:0;border-radius:3px;background:#fff;}
.media-composer .mc-error {font-size:12px;line-height:1.6;color:#a84c70;margin:9px auto 0;max-width:330px;}
.media-composer .mc-error:empty {display:none;}
.media-composer .mc-local-note {font-size:10px;line-height:1.6;color:#b39aa8;margin:11px auto 0;max-width:290px;}
.media-composer .mc-file-input,.media-composer .mc-capture-input {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;opacity:0;pointer-events:none;}
.media-composer .mc-file-illustration {position:relative;display:grid;place-items:center;width:112px;height:112px;border:1px solid #f1dfe9;border-radius:32px;background:linear-gradient(135deg,#fff9fc,#f9edf4);color:#bc85a0;transform:rotate(-4deg);}
.media-composer .mc-file-illustration svg {width:43px;height:43px;transform:rotate(4deg);}
.media-composer .mc-file-illustration>span {position:absolute;right:9px;top:6px;font-size:20px;color:#ce91ae;}
.media-composer .mc-photo-preview {width:min(230px,100%);height:176px;padding:5px;background:#fff;border:1px solid #efe0e8;border-radius:19px;box-shadow:0 10px 24px -20px #97658166;}
.media-composer .mc-photo-preview img {display:block;width:100%;height:100%;object-fit:cover;border-radius:14px;}
.media-composer .mc-audio {width:100%;max-width:300px;height:44px;margin:18px auto 0;}
.media-composer .mc-wait-dots {position:absolute;left:0;right:0;bottom:43px;display:flex;justify-content:center;gap:5px;}
.media-composer .mc-wait-dots i {width:4px;height:4px;background:#cf9bb6;border-radius:50%;animation:mc-wait 1.2s ease-in-out infinite;}
.media-composer .mc-wait-dots i:nth-child(2) {animation-delay:.15s;}.media-composer .mc-wait-dots i:nth-child(3) {animation-delay:.3s;}
@keyframes mc-wait {0%,75%,100%{opacity:.35;transform:translateY(0)}35%{opacity:1;transform:translateY(-3px)}}
@media(max-width:600px) {
  .media-composer .mc-heading h3 {font-size:16px;}.media-composer .mc-heading p{font-size:12px;}
  .media-composer .mc-visual{margin-block:15px 12px;}.media-composer .mc-circle{width:202px;height:202px;}
  .media-composer .mc-button{font-size:14px;min-height:46px;}.media-composer .mc-play{font-size:13px;min-height:44px;}
  .media-composer .mc-local-note{font-size:11px;}.media-composer .mc-photo-preview{height:155px;}
}
@media(prefers-reduced-motion:reduce) {.media-composer *{animation:none!important;transition:none!important;}}
/* Voice recording and touch photo framing share the current invitation palette. */
.media-composer{--mc-rose:var(--rose,#c77399);--mc-deep:var(--ink,#81576e);--mc-soft:var(--surface,#fff4f8);--mc-line:var(--line,#eedce5)}
.media-composer .mc-primary{background:var(--cta-gradient,linear-gradient(110deg,#cf82a4,#bd7299));color:var(--cta-ink,#fff)}
.media-composer .mc-voice-orb{width:124px;height:124px;border-radius:50%;display:grid;place-items:center;position:relative;background:var(--mc-soft);color:var(--mc-rose);border:1px solid var(--mc-line);box-shadow:0 12px 44px -22px var(--mc-rose)}
.mc-voice-orb>svg{width:46px;height:46px}.mc-voice-orb.is-recording>svg{opacity:.18}.mc-wave{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:3px;opacity:0}.is-recording .mc-wave{opacity:1}.mc-wave i{width:3px;height:16px;background:currentColor;border-radius:4px;animation:mc-wave .8s ease-in-out infinite alternate}.mc-wave i:nth-child(3n){animation-delay:.25s;height:32px}.mc-wave i:nth-child(3n + 1){animation-delay:.45s;height:24px}@keyframes mc-wave{to{transform:scaleY(.35)}}
.mc-crop-dialog{box-sizing:border-box;width:min(480px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:24px;border:1px solid var(--line,#ead2df);border-radius:26px;background:var(--page,#fff8fb);color:var(--ink,#413440);box-shadow:0 24px 100px #35142d33;overflow:auto}.mc-crop-dialog::backdrop{background:#281b2c88;backdrop-filter:blur(6px)}.mc-crop-dialog form{margin:0}.mc-crop-dialog h2{font:600 25px/1.2 inherit;margin:0 0 8px}.mc-crop-dialog p{font-size:14px;line-height:1.5;color:var(--muted,#997e8d);margin:0 0 18px}.mc-crop-stage{overflow:hidden;border-radius:18px;box-shadow:0 0 0 1px #be95ab33;background:#fff9fb}.mc-crop-stage canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}.mc-crop-stage canvas:active{cursor:grabbing}.mc-crop-zoom{display:grid;gap:10px;margin-top:22px;font-size:14px}.mc-crop-zoom input{width:100%;accent-color:var(--rose,#b65686);min-height:32px}.mc-crop-fit{display:flex;gap:9px;align-items:center;font-size:14px;margin:12px 0 22px;min-height:34px}.mc-crop-fit input{width:20px;height:20px;accent-color:var(--rose,#b65686)}.mc-crop-actions{display:flex;gap:10px}.mc-crop-actions button{flex:1;min-height:50px;border:1px solid var(--line,#ead2df);border-radius:14px;background:white;font:inherit;color:var(--ink,#413440);cursor:pointer}.mc-crop-actions [data-crop-save]{background:var(--rose,#b65686);color:white;border-color:transparent}.mc-crop-dialog .mc-crop-error:empty{display:none}.mc-crop-actions button:disabled{opacity:.6}
@media(prefers-reduced-motion:reduce){.mc-wave i{animation:none}}
