.shareable-video { min-width: 0; display: flex; flex-direction: column; gap: .65rem; }
.shareable-video > .video-card { flex: 1; }
.video-share { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.share-button { min-height: 44px; padding: .65rem .85rem; border: 1px solid #427789; border-radius: .8rem; background: #071425; color: #e7faff; font: 600 .8rem/1.25 "Segoe UI", sans-serif; cursor: pointer; }
.share-button:hover { border-color: #19d9ff; background: #10253c; }
.share-button:focus-visible, .share-dialog-close:focus-visible { outline: 2px solid #19d9ff; outline-offset: 3px; }
.replay-controls { flex-wrap: wrap; }
.intro-controls { flex-wrap: wrap; }
.intro-controls > .video-share { flex-basis: 100%; }
.replay-controls > .video-share { flex-basis: 100%; }
.intro-gate, .video-modal { overflow-y: auto; }
.share-status { position: fixed; z-index: 200; left: 50%; bottom: 1rem; transform: translate(-50%, 1rem); padding: .8rem 1.2rem; margin: 0; border: 1px solid #19d9ff; border-radius: .8rem; background: #071425; color: #fff; font: 600 1rem "Segoe UI", sans-serif; opacity: 0; pointer-events: none; }
.share-status.is-visible { opacity: 1; transform: translate(-50%, 0); }
.share-dialog { box-sizing: border-box; width: min(94vw, 660px); max-height: 90dvh; padding: clamp(1.2rem, 4vw, 2rem); border: 1px solid #19d9ff; border-radius: 1.25rem; background: #091124; color: #f8fbff; font-family: "Segoe UI", sans-serif; box-shadow: 0 0 3rem #19d9ff33; }
.share-dialog::backdrop { background: #01030ce8; }
.share-dialog h2 { font-size: 1.8rem; margin: .5rem 0; }
.share-dialog label { display: block; margin: 1.2rem 0 .5rem; font-weight: 700; }
.share-dialog textarea { box-sizing: border-box; display: block; width: 100%; padding: .8rem; border: 1px solid #6494ae; border-radius: .6rem; background: #030813; color: #e7faff; font: .9rem/1.6 monospace; resize: vertical; }
.share-dialog-close { float: right; min-width: 44px; min-height: 44px; border: 0; border-radius: .5rem; background: #17304a; color: #fff; font-size: 1.5rem; cursor: pointer; }
.share-help, .share-video-title { color: #c4c9df; line-height: 1.6; }
.watch-main { width: min(100% - 2rem, 980px); margin: 1rem auto 5rem; }
.watch-main h1 { font-size: clamp(2rem, 5vw, 3.6rem); line-height: 1.1; letter-spacing: -.035em; margin: .5rem 0 1rem; }
.watch-description { max-width: 65ch; color: #c4c9df; line-height: 1.7; margin-bottom: 2rem; }
.standalone-player { overflow: hidden; border: 1px solid #19d9ff88; border-radius: 1rem; background: #02040d; }
.standalone-player video { display: block; width: 100%; max-height: 70vh; object-fit: contain; }
.standalone-player video[hidden], .player-age-check[hidden] { display: none; }
.watch-main > .video-share { margin-top: 1rem; }
.watch-library-link { margin-top: 2rem; color: #19d9ff; }
.player-age-check { padding: clamp(1rem, 4vw, 2rem); max-width: 560px; margin: auto; }
.player-age-check p { line-height: 1.5; }
.player-age-form label { display: block; margin-bottom: .5rem; }
.player-age-message { color: #ff9bb6; }
.error-video-share { justify-content: center; margin: 1rem; }
body.embed-page { min-width: 0; min-height: 100dvh; background: #02040d; background-image: none; display: flex; align-items: center; }
.embed-page main { width: 100%; }
.embed-page .standalone-player { border: 0; border-radius: 0; }
.embed-page .standalone-player video { width: 100%; max-height: calc(100dvh - 2.25rem); }
.embed-credit { display: block; padding: .5rem .75rem; color: #b9eaff; font: .75rem/1.25 "Segoe UI", sans-serif; text-decoration: none; }
.embed-page .player-age-check h2 { margin: .5rem 0; }
@media (max-width: 600px) {
  .share-button { padding-inline: .65rem; }
  .intro-controls, .replay-controls { gap: .8rem; }
  .intro-controls { flex-wrap: wrap; }
  .library-video-shell video { max-height: 54vh; }
}
