.catalog-screen { background: #080a10; }
.catalog-header { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: start; }
.catalog-header > * { min-width: 0; }
.catalog-brand-row { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; padding-top: 12px; }
.catalog-brand-row .catalog-logo-link { flex: 0 0 116px; margin: 0; }
.catalog-brand-row .library-updates-button { margin: 0; }
.catalog-actions { justify-self: end; }
.catalog-center-controls { display: flex; justify-content: center; align-items: center; gap: 8px; padding-top: 22px; }
.library-tabs, .model-media-tabs { display: flex; gap: 10px; }
.library-tabs { justify-content: center; padding-top: 0; }
.library-tabs button, .model-media-tabs button { min-height: 48px; background: #23242c; border: 1px solid #45454e; border-radius: 6px; color: #c9c9d0; padding: 0 22px; font: inherit; cursor: pointer; }
.library-tabs button[aria-selected="true"], .model-media-tabs button[aria-selected="true"] { background: #392432; border-color: #a3547b; color: #ffcee4; }
.models-intro { max-width: 980px; margin: 6px auto 30px; padding: 24px 0 26px; border-bottom: 1px solid #3b3540; text-align: center; }
.models-intro-topline { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 12px; margin-bottom: 10px; }
.models-intro-kicker { margin: 0; color: #d38caf; font-size: 12px; font-weight: 800; }
.models-intro-language { display: inline-flex; gap: 4px; }
.models-intro-language button { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 48px; width: 48px; height: 48px; padding: 0; box-sizing: border-box; border: 1px solid #45454e; border-radius: 6px; background: #23242c; color: #bcb7c0; font: inherit; font-size: 13px; line-height: 1; font-weight: 700; cursor: pointer; }
.models-intro-language button[aria-pressed="true"] { background: #392432; border-color: #a3547b; color: #ffcee4; }
.models-intro-language button:focus-visible { outline: 2px solid #eab5ce; outline-offset: 2px; }
.models-intro h2 { margin: 0 0 12px; color: #f5f2f5; font-size: 28px; line-height: 1.2; letter-spacing: 0; }
.models-intro > p:not(.models-intro-kicker) { max-width: 780px; margin: 0 auto; color: #bbb5bf; font-size: 15px; line-height: 1.65; }
.models-intro .models-intro-access { margin-top: 12px; color: #e3a8c7; font-size: 13px; font-weight: 700; }
.models-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; align-items: start; }
.model-tile { display: grid; width: 100%; gap: 0; grid-template-rows: auto minmax(44px,auto); align-content: start; border: 1px solid #303035; border-radius: 4px; overflow: hidden; background: #151519; color: #eeeef2; padding: 0; text-align: left; cursor: pointer; min-width: 0; box-sizing: border-box; }
.model-tile:hover, .model-tile:focus-visible, .model-tile[aria-pressed="true"] { border-color: #ae7592; }
.model-tile:disabled { cursor: wait; opacity: .7; }
.model-tile strong { font-size: 15px; line-height: 1.3; font-weight: 700; overflow-wrap: anywhere; }
.model-tile small { font-size: 13px; }
.model-portrait { display: block; width: 100%; justify-self: stretch; aspect-ratio: 3 / 4; object-fit: cover; border-radius: 0; background: #23242b; }
.model-tile:hover .model-portrait { outline: 1px solid #bd7296; }
.model-tile-portrait-frame { position: relative; display: block; width: 100%; aspect-ratio: 3 / 4; overflow: hidden; }
.model-tile-portrait-frame .model-portrait { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.model-tile-caption { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 44px; padding: 9px 13px; box-sizing: border-box; background: #24202a; border-top: 1px solid #403646; }
.model-tile-caption small { color: #cf91b1; }
.model-dialog, .comments-dialog { width: min(1040px, calc(100% - 32px)); max-height: calc(100dvh - 32px); padding: 24px; box-sizing: border-box; overflow: auto; background: #12141c; color: #eeeeF2; border: 1px solid #4b4650; border-radius: 8px; }
.model-dialog::backdrop, .comments-dialog::backdrop { background: #000b; }
.model-dialog [hidden], #catalogScreen [hidden], .comments-dialog [hidden] { display: none !important; }
.model-dialog-header, .comments-header { display: flex; align-items: start; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.model-dialog h2, .comments-dialog h2 { margin: 0; font-size: 23px; line-height: 1.35; overflow-wrap: anywhere; }
.model-dialog h3 { font-size: 18px; }
.model-dialog p { line-height: 1.5; overflow-wrap: anywhere; }
.model-dialog button, .comments-dialog button { font: inherit; background: #292b35; border: 1px solid #50515d; color: #f0edf2; border-radius: 6px; padding: 10px 16px; cursor: pointer; }
.model-dialog button:disabled { opacity: .38; cursor: default; }
.model-dialog .models-intro-language button { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 36px; width: 36px; height: 30px; padding: 0; box-sizing: border-box; font-size: 11px; line-height: 1; text-align: center; }
.model-dialog .models-intro-language button[aria-pressed="true"] { background: #392432; border-color: #a3547b; color: #ffcee4; }
.model-dialog .model-icon { width: 40px; height: 40px; padding: 0; flex-shrink: 0; font-size: 24px; }
.model-media-tabs { margin-bottom: 20px; }
.model-media-tabs button { flex: 1; padding: 11px 8px; }
.model-dialog .model-primary { background: #4a283d; border-color: #ba719b; color: #ffe0ee; }
.model-dialog.model-profile { width: calc(100% - 32px); max-width: none; min-height: calc(100dvh - 32px); max-height: calc(100dvh - 32px); padding: 28px 38px 46px; border-radius: 4px; }
.model-profile .model-dialog-header { position: sticky; top: -28px; z-index: 5; align-items: center; padding: 16px 0; background: #12141cf5; }
.model-profile .model-dialog-header h2 { font-size: 14px; color: #aaa4ae; text-transform: uppercase; }
.model-profile-switcher { display: grid; grid-template-columns: 44px minmax(0,1fr) 44px; align-items: center; gap: 14px; margin: 4px 0 22px; }
.model-profile-switcher span { text-align: center; font-size: 30px; line-height: 1.2; }
.model-profile-hero { display: grid; grid-template-columns: minmax(260px,32%) minmax(0,1fr); align-items: stretch; gap: 56px; min-height: 400px; margin-bottom: 30px; padding-bottom: 30px; border-bottom: 1px solid #3d3842; }
.model-profile-portrait { position: relative; min-height: 0; align-self: start; background: #090a0e; overflow: hidden; }
.model-profile-portrait img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; max-height: none; object-fit: cover; }
.model-profile-info { display: flex; flex-direction: column; align-self: stretch; min-width: 0; min-height: 0; padding: 10px 0 0; overflow: hidden; }
.model-profile-topline { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.model-breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; color: #d38caf; font-size: 12px; }
.model-dialog .model-breadcrumbs button { border: 0; background: transparent; padding: 0; color: #d38caf; font-size: inherit; }
.model-breadcrumbs > span:last-child { color: #ebe6ed; }
.model-section-links { display: flex; flex-wrap: wrap; gap: 22px; margin: 12px 0 12px; }
.model-section-links a { color: #bfb7c5; font-size: 14px; text-decoration: none; padding: 6px 0; border-bottom: 1px solid transparent; }
.model-section-links a:hover, .model-section-links a[aria-current] { color: #d38caf; border-color: #d38caf; }
.model-content-section { padding: 24px 0; border-top: 1px solid #36313b; scroll-margin-top: 76px; }
.model-content-section > h3 { margin: 0 0 16px; font-size: 22px; font-weight: 500; }
.model-content-section .model-photo-tile { aspect-ratio: 1 !important; }
.model-release-row { display: grid; grid-auto-flow: column; grid-auto-columns: calc(25% - 3px); gap: 4px; overflow-x: auto; padding-bottom: 12px; }
.model-release-row .model-publication { position: relative; width: 100%; aspect-ratio: 16 / 9; display: block; overflow: hidden; }
.model-release-row .model-publication img { display: block; width: 100%; height: 100%; aspect-ratio: 16 / 9; border-radius: 0; object-fit: cover; }
.model-release-row .model-video-item { border-radius: 0; }
.model-dialog .model-library-link { display: block; margin: 18px auto 0; background: #392432; border-color: #a3547b; color: #ffcee4; }
.model-profile-info > .models-intro-language { margin-bottom: 12px; }
.model-profile-info h3 { margin: 8px 0 6px; font-size: 42px; line-height: 1.1; font-weight: 500; }
.model-profile-kicker { margin: 0; color: #d38caf; font-size: 12px; letter-spacing: 0; }
.model-profile .model-media-tabs { width: fit-content; max-width: 100%; flex-wrap: wrap; margin: 24px 0 0; gap: 8px; }
.model-profile .model-media-tabs button { flex: 0 0 auto; padding: 9px 16px; font-size: 13px; }
.model-profile .model-media-tabs button[aria-selected="true"] { background: #d38caf; border-color: #d38caf; color: #20151d; }
.model-profile .model-media-panel { flex: 1 1 0; width: 100%; min-height: 0; margin: 4px 0 0; overflow: hidden; }
.model-media-panel { container-type: inline-size; scroll-margin-top: 80px; }
.model-mixed-media { position: relative; width: 100%; height: 100%; min-height: 0; }
.model-media-mosaic { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); grid-template-rows: repeat(3,minmax(0,1fr)); width: 100%; max-width: 100%; height: 100%; aspect-ratio: 2 / 1; min-height: 0; gap: 4px; }
.model-dialog .model-media-mosaic > * { position: relative; min-width: 0; min-height: 0; width: 100%; height: 100%; padding: 0; border: 0; border-radius: 0; overflow: hidden; background: #12141c; box-sizing: border-box; box-shadow: inset 0 0 0 1px #39343e; }
.model-mosaic-placeholder { display: grid; place-items: center; color: #a6a0ac; font-size: 13px; }
.model-media-mosaic > button > img { display: block; width: 100%; height: 100%; object-fit: cover; }
.model-media-mosaic > .model-mosaic-photo > img { filter: brightness(.5) saturate(.5); transform: scale(1); transition: filter 180ms ease, transform 180ms ease; }
.model-media-mosaic > .model-mosaic-photo:hover > img,
.model-media-mosaic > .model-mosaic-photo:focus-visible > img { filter: brightness(1) saturate(1); transform: scale(1.035); }
.model-media-mosaic > .model-mosaic-video > img { object-position: center 35%; }
.model-dialog .model-media-mosaic .model-mosaic-feature { grid-column: span 3; grid-row: span 2; }
.model-dialog .model-media-mosaic .model-mosaic-photo { aspect-ratio: auto; }
.model-mosaic-play { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: #100e17a6; color: #ef7195; font-size: 32px; padding-left: 4px; box-sizing: border-box; }
.model-media-mosaic > button:hover { outline: 2px solid #b77698; outline-offset: -2px; }
.model-dialog .model-mosaic-arrow { position: absolute; z-index: 3; top: 50%; display: grid; place-items: center; width: 38px; height: 52px; padding: 0; transform: translateY(-50%); border-color: #8f657b; background: #12141cdb; color: #ffd6e9; font-size: 30px; line-height: 1; }
.model-dialog .model-mosaic-previous { left: 8px; }
.model-dialog .model-mosaic-next { right: 8px; }
.model-dialog .model-show-more { display: block; margin: 18px auto 0; min-width: 160px; background: transparent; border-color: #62505c; color: #eab5ce; }
.model-show-more::after { content: ''; display: block; width: 10px; height: 10px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); margin: 4px auto; }
.model-photo-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: start; gap: 12px; min-height: 240px; }
.model-dialog .model-photo-tile { aspect-ratio: 1; padding: 0; overflow: hidden; border: 0; background: #242630; }
.model-photo-tile img { display: block; width: 100%; height: 100%; object-fit: cover; }
.model-image-missing { display: grid; place-content: center; color: #acabb5; font-size: 13px; text-align: center; }
.model-publications { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.model-publications { align-items: start; }
.model-video-item { border: 1px solid #343239; border-radius: 6px; overflow: hidden; background: #18181c; }
.model-release-actions { display: flex; align-items: center; justify-content: space-between; padding: 12px; gap: 8px; background: #24202a; min-height: 64px; box-sizing: border-box; }
.model-release-title { font-size: 14px; line-height: 1.4; min-width: 0; overflow-wrap: anywhere; }
.model-release-actions .model-details { flex-shrink: 0; }
.model-dialog .model-publication { display: flex; flex-direction: column; gap: 10px; text-align: left; padding: 0; border: 0; background: transparent; }
.model-publication img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 6px; }
.model-publication strong { padding: 0 12px; font-size: 14px; line-height: 1.5; min-height: 63px; overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.model-publication-cover { display: block; width: 100%; max-height: 50dvh; object-fit: contain; }
.model-publication-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 20px; }
.model-description { white-space: pre-wrap; }
.model-notice { color: #b2acb8; }
.model-empty { padding: 60px 12px; text-align: center; color: #b2acb8; }
.model-pagination { display: flex; justify-content: center; align-items: center; gap: 20px; margin-top: 20px; }
.model-grid-item { position: relative; min-width: 0; }
.model-edit { position: absolute; top: 8px; right: 8px; width: 32px; height: 32px; border: 1px solid #6a5968; border-radius: 6px; background: #17171edf; color: #f7cade; cursor: pointer; }
.model-add { aspect-ratio: 3 / 4; min-height: 0; border: 1px dashed #945b7b; border-radius: 4px; color: #df9ebf; background: #19161d; font-size: 48px; cursor: pointer; }
.model-dialog .model-details { font-size: 12px; padding: 7px 10px; margin-top: 8px; }
.model-editor label { display: grid; gap: 8px; margin: 14px 0; }
.model-editor input, .model-editor select { box-sizing: border-box; width: 100%; min-width: 0; padding: 10px; font: inherit; background: #262730; color: #f4edf2; border: 1px solid #52515d; border-radius: 6px; }
.model-editor .model-bind { display: flex; align-items: center; }
.model-editor .model-bind input { width: 20px; height: 20px; accent-color: #cf7fac; }
.model-editor .model-bind img { width: 56px; height: 56px; object-fit: cover; }
.model-editor .model-edit-gallery { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.model-edit-gallery img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.model-editor-section { border-top: 1px solid #44404a; padding: 16px 0; }
.model-editor-section summary { cursor: pointer; }
.model-editor-footer { position: sticky; bottom: -24px; background: #12141c; padding: 14px 0; display: flex; flex-direction: column; gap: 10px; z-index: 2; border-top: 1px solid #44404a; }
.model-editor .model-edit-gallery { align-items: start; }
.model-edit-photo { min-width: 0; }
.model-crop-frame { position: relative; overflow: hidden; background: #090a0e; touch-action: none; cursor: grab; border-radius: 6px; }
.model-crop-frame:active { cursor: grabbing; }
.model-crop-frame img { position: absolute; inset: 0; width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; pointer-events: none; user-select: none; }
.model-zoom-control { display: grid !important; grid-template-columns: auto minmax(0,1fr) 48px; align-items: center; gap: 8px !important; margin: 8px 0 0 !important; color: #bbb5bf; font-size: 12px; }
.model-editor .model-zoom-control input { height: 28px; padding: 0; accent-color: #c66f9e; }
.model-zoom-control output { text-align: right; color: #f0d4e2; font-variant-numeric: tabular-nums; }
.model-editor .model-photo-add { width: 100%; aspect-ratio: 4 / 3; border: 1px dashed #9b6583; background: #201b22; font-size: 38px; color: #dda5c2; }
.model-drop-target.is-dragover { outline: 3px solid #e9accc; outline-offset: -3px; }
.model-photo-tools { display: grid; grid-template-columns: minmax(0,1fr) 36px 36px; gap: 6px; padding-top: 8px; }
.model-photo-tools button { padding: 0; height: 36px; font-size: 21px; }
.model-photo-tools select { padding: 6px; height: 36px; }
.model-image-dimensions { margin: 8px 0 0; color: #aba7b1; font-size: 12px; line-height: 1.4; }
.model-image-dimensions.is-low-resolution { color: #e3b884; }
.model-video-picker { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.model-editor .model-video-choice { position: relative; display: flex; flex-direction: column; margin: 0; padding: 6px; border: 1px solid #46424b; border-radius: 6px; background: #18181c; cursor: pointer; overflow: hidden; }
.model-video-choice:has(input:checked) { border-color: #da9ebd; background: #33242d; }
.model-editor .model-video-choice input { position: absolute; top: 12px; right: 12px; z-index: 1; width: 20px; height: 20px; accent-color: #b66792; }
.model-video-choice > span { font-size: 12px; line-height: 1.4; overflow-wrap: anywhere; }
.model-video-cover { aspect-ratio: 4 / 3; width: 100%; background: #0b0c11; display: grid; place-items: center; }
.model-video-cover img { width: 100%; height: 100%; object-fit: cover; }
.model-pending-videos > div { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 8px 0; }
.model-pending-videos span { overflow-wrap: anywhere; min-width: 0; }
.model-editor[aria-busy="true"] .model-editor-section { pointer-events: none; }
.model-price { display: block; color: #ffd2e8; font-size: 22px; margin: 16px 0; }
.model-purchase-summary { display: grid; gap: 1px; margin: 16px 0; overflow: hidden; border: 1px solid #44414a; border-radius: 6px; background: #44414a; }
.model-purchase-summary > div { display: grid; grid-template-columns: minmax(100px,.42fr) minmax(0,1fr); gap: 12px; padding: 11px 12px; background: #1c1d25; }
.model-purchase-summary dt { color: #aaa4ad; font-size: 12px; font-weight: 700; }
.model-purchase-summary dd { margin: 0; color: #fff; font-size: 13px; font-weight: 800; overflow-wrap: anywhere; }
.model-discord-action { display: inline-flex; min-height: 40px; align-items: center; justify-content: center; padding: 0 14px; border: 1px solid #526b9c; border-radius: 6px; background: #20283a; color: #cddcff; font-size: 13px; font-weight: 800; text-decoration: none; }
.model-lightbox { width: min(1280px,calc(100% - 24px)); }
.model-photo-stage { height: min(68dvh,800px); position: relative; background: #090a0e; }
.model-photo-stage > img { display: block; width: 100%; height: 100%; object-fit: contain; }
.model-photo-stage canvas { display: block; width: 100%; height: 100%; }
.model-photo-navigation { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 12px; }
.model-photo-caption { text-align: center; font-size: 13px; margin: 0; }
.model-vr-actions { position: absolute; top: 12px; right: 12px; display: flex; gap: 8px; }
.model-vr-status { position: absolute; bottom: 12px; left: 12px; right: 12px; color: #ffcbd0; background: #13151dcc; }
.catalog-comments { display: inline-flex; gap: 8px; align-items: center; background: #21232b; color: #cfcbd1; border: 1px solid #46434b; border-radius: 6px; padding: 8px 12px; cursor: pointer; }
.catalog-comments svg { width: 16px; height: 16px; stroke: currentColor; fill: none; }
.catalog-comments { transition: background-color 160ms ease, border-color 160ms ease; }
.catalog-comments.has-comments { background: #30232e; border-color: #9b527b; color: #f0c4dc; }
.catalog-comments:hover { background: #3b2b38; border-color: #c47aa5; }
.catalog-comment-count { display: inline-grid; place-items: center; min-width: 24px; height: 24px; padding: 0 6px; border-radius: 6px; background: #a84f80; color: #fff; font-size: 12px; line-height: 1; font-variant-numeric: tabular-nums; }
.catalog-comment-count[hidden] { display: none; }
.catalog-comments .comments-chevron { margin-left: auto; transition: transform 160ms ease; }
.catalog-comments[aria-expanded="true"] .comments-chevron { transform: rotate(180deg); }
.comments-inline.comments-dialog { width: 100%; min-width: 0; max-height: none; overflow: visible; box-sizing: border-box; padding: 16px 0 4px; cursor: default; background: transparent; border: 0; border-radius: 0; }
#catalogGrid:has(.catalog-comments[aria-expanded="true"]) > .catalog-card { align-self: start; }
.comment-peach { font-size: 19px; line-height: 1; }
.comments-inline[hidden] { display: none; }
.comments-inline h2 { font-size: 16px; margin: 0; }
.comments-inline .comments-tools { display: flex; gap: 6px; }
.comments-inline #commentsRefresh { width: 36px; height: 36px; padding: 0; display: grid; place-items: center; }
.comments-inline .comments-list { max-height: 400px; }
.comments-inline .comment-composer-toolbar { flex-wrap: wrap; }
.comment-reactions { display: flex; gap: 8px; margin: 10px 0 0 36px; }
.comment-reactions button { display: inline-flex; gap: 6px; align-items: center; justify-content: center; min-width: 52px; height: 32px; padding: 4px 8px; font-size: 13px; border: 1px solid #46434b; border-radius: 6px; background: #21232b; color: #cfcbd1; }
.comment-reactions button[aria-pressed="true"] { background: #30232e; border-color: #9b527b; color: #f0a3ce; }
.comment-reactions button[aria-pressed="true"] svg { fill: currentColor; }
.comments-dialog { width: min(720px, calc(100% - 24px)); padding: 24px; }
.comments-header { margin-bottom: 12px; }
.comments-header p { margin: 8px 0 0; color: #b4afbc; font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
.comments-dialog #commentsClose { width: 36px; height: 36px; flex: 0 0 36px; display: grid; place-items: center; padding: 0; }
.comments-list { max-height: 38dvh; overflow: auto; overscroll-behavior: contain; }
.comments-dialog #commentsStatus { color: #b4afbc; font-size: 14px; line-height: 1.5; margin: 12px 0; }
.comments-dialog #commentForm { border-top: 1px solid #38313b; padding-top: 18px; }
.comment-identity { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; min-width: 0; flex-wrap: wrap; }
.comment-identity strong { font-size: 14px; overflow-wrap: anywhere; }
.comment-avatar { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; background: #392432; color: #e8aac8; flex: 0 0 34px; }
.comments-dialog svg { width: 20px; height: 20px; display: block; }
.comment-incognito { margin-left: auto; display: flex; align-items: center; gap: 8px; font-size: 13px; color: #c9c0cc; cursor: pointer; }
.comment-incognito input { accent-color: #d38caf; width: 17px; height: 17px; margin: 0; }
.comment-input-label { display: block; font-size: 14px; margin-bottom: 8px; }
.comments-dialog textarea { display: block; width: 100%; box-sizing: border-box; resize: vertical; min-height: 104px; max-height: 28dvh; background: #1c1e27; color: #f6f0f4; border: 1px solid #55505c; padding: 12px 14px; border-radius: 6px; font: inherit; font-size: 15px; line-height: 1.5; }
.comments-dialog textarea::placeholder { color: #9b94a2; }
.comments-dialog :focus-visible { outline: 2px solid #d38caf; outline-offset: 3px; }
.comment-composer-toolbar { display: flex; align-items: center; gap: 10px; margin-top: 10px; }
.comments-dialog .comment-icon-button { width: 38px; height: 38px; padding: 0; display: grid; place-items: center; flex: 0 0 38px; }
.comments-dialog #commentSubmit { margin-left: auto; display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 40px; background: #6f3054; border-color: #c86b9f; font-size: 14px; }
.comments-dialog button:disabled { opacity: .45; cursor: default; }
#commentLength { font-size: 12px; color: #9b94a2; white-space: nowrap; }
.comment-emojis { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 12px; }
.comments-dialog .comment-emojis button { width: 38px; height: 38px; padding: 0; font-size: 23px; background: transparent; border-color: transparent; }
.comments-dialog .comment-emojis button:hover { background: #392432; }
.comment-row { border-bottom: 1px solid #302c36; padding: 14px 0; }
.comment-row header { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; font-size: 14px; }
.comment-row .comment-avatar { width: 28px; height: 28px; flex-basis: 28px; }
.comment-row p { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.55; font-size: 15px; margin: 8px 0 0 36px; }
.comment-row time { font-size: 12px; color: #aaa0b1; }
.comment-row .comment-delete { margin-left: auto; width: 30px; height: 30px; padding: 0; display: grid; place-items: center; background: transparent; border: 0; color: #bda6b3; }
@media (max-width: 420px) { .comments-dialog { padding: 16px; } .comment-incognito { margin-left: 0; } .comment-row time { font-size: 11px; } #commentLength { display: none; } }
.model-dialog :focus-visible, .library-tabs :focus-visible, .model-tile:focus-visible { outline: 2px solid #eab5ce; outline-offset: 3px; }
@media (max-width: 1100px) {
  .catalog-header { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .catalog-center-controls { grid-row: 2; grid-column: 1 / -1; padding-top: 0; }
  .models-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
  .model-profile-hero { grid-template-columns: minmax(220px,38%) minmax(0,1fr); gap: 26px; }
}
@media (max-width: 600px) {
  .model-release-row { grid-auto-columns: 75%; }
  .model-media-mosaic { grid-template-columns: repeat(3,minmax(0,1fr)); grid-template-rows: none; grid-auto-rows: calc((100cqw - 8px) / 3); width: 100%; height: auto; aspect-ratio: auto; }
  .model-dialog .model-media-mosaic .model-mosaic-feature { grid-column: span 3; grid-row: span 2; }
  .model-mosaic-caption { padding: 8px; font-size: 12px; }
  .models-intro { margin: 0 auto 22px; padding: 18px 4px 22px; }
  .models-intro h2 { font-size: 24px; }
  .models-intro > p:not(.models-intro-kicker) { font-size: 14px; line-height: 1.55; }
  .model-dialog, .comments-dialog { padding: 16px; }
  .model-dialog.model-profile { width: 100%; min-height: 100dvh; max-height: 100dvh; padding: 14px 12px 32px; border: 0; }
  .model-profile .model-dialog-header { top: -14px; padding: 12px 0; }
  .model-dialog h2 { font-size: 20px; }
  .catalog-center-controls { width: 100%; flex-wrap: wrap; }
  .library-tabs { flex: 1 1 260px; }
  .library-tabs button { padding: 12px 10px; font-size: 13px; flex: 1; }
  .models-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px 12px; }
  .model-tile, .model-add { min-height: 0; }
  .model-tile { padding: 0; gap: 0; }
  .model-tile strong { font-size: 14px; }
  .model-tile small { font-size: 11px; }
  .model-tile-caption { min-height: 40px; padding: 8px 9px; }
  .model-profile-switcher { margin-bottom: 14px; }
  .model-profile-switcher span { font-size: 22px; }
  .model-profile-hero { grid-template-columns: 1fr; gap: 16px; min-height: 0; margin-bottom: 20px; padding-bottom: 20px; }
  .model-profile-portrait { min-height: 0; aspect-ratio: 1; }
  .model-profile-portrait img { height: 100%; max-height: none; }
  .model-profile-info { display: block; padding: 4px 0; overflow: visible; }
  .model-profile .model-media-panel { min-height: 0; overflow: visible; }
  .model-profile-info h3 { font-size: 30px; margin: 4px 0 12px; }
  .model-photo-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
  .model-publications { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
  .model-editor .model-edit-gallery, .model-video-picker { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .model-release-actions { padding: 0 6px 8px; flex-wrap: wrap; gap: 4px; }
  .model-publication strong { padding: 0 6px; font-size: 12px; }
  .model-media-tabs { gap: 6px; }
  .model-media-tabs button { font-size: 13px; }
}
.model-editor textarea { box-sizing: border-box; width: 100%; padding: 10px; font: inherit; background: #262730; color: #f4edf2; border: 1px solid #52515d; border-radius: 6px; resize: vertical; }
.model-editor progress { width: 100%; margin: 12px 0; accent-color: #cf7fac; }
.model-pending-videos > div { flex-wrap: wrap; }

.catalog-center-controls {justify-content:flex-start;gap:28px;min-width:0;}
.catalog-header {grid-template-columns:minmax(150px,.7fr) minmax(0,2fr) auto;column-gap:18px;}
.library-tabs {justify-content:flex-start;flex-wrap:wrap;}
.models-intro-language {margin-left:auto;flex-shrink:0;}
.models-intro-language button[data-models-intro-lang="ru"] {background:rgba(116,195,242,.18);border-color:rgba(143,212,255,.5);color:#beeaff;}
.models-intro-language button[data-models-intro-lang="en"] {background:linear-gradient(135deg,rgba(77,111,194,.23) 0 38%,transparent 38%),repeating-linear-gradient(0deg,rgba(201,63,89,.12) 0 4px,rgba(239,236,246,.09) 4px 8px),#23242c;color:#ece6ef;}
.models-intro-language button[aria-pressed="true"] {outline:1px solid #b9b4c5;outline-offset:2px;}
@media(max-width:900px){.catalog-header{grid-template-columns:1fr auto;}.catalog-center-controls{grid-column:1/-1;grid-row:2;width:100%;}.library-tabs{flex:1;}.models-intro-language{margin-left:auto;}}

.library-tabs .tab-testing {display:inline-block;font-size:10px;font-weight:400;opacity:.65;white-space:nowrap;margin-left:5px;}
.catalog-actions > .models-intro-language {align-self:flex-end;margin:0 0 10px auto;}

/* Language controls sit directly beside Models. Solid colors, no flag. */
.catalog-center-controls {justify-content:flex-start;gap:8px;}
.catalog-center-controls > .models-intro-language {margin:0;flex-shrink:0;}
.catalog-center-controls > .library-tabs {flex:0 1 auto;}
.models-intro-language button[data-models-intro-lang="en"] {background:#ad388c;background-image:none;border-color:#d96cb9;color:#fff;opacity:1;}
.models-intro-language button[data-models-intro-lang="ru"] {background:#87cfee;background-image:none;border-color:#a9e0f6;color:#102c40;opacity:1;}
.library-tabs .tab-testing {font-size:10px;font-weight:400;line-height:1;white-space:nowrap;margin-left:4px;}

/* Center the navigation group; retain language buttons directly on its right. */
@media(min-width:1201px){
.catalog-header {grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);}
.catalog-center-controls {justify-self:center;justify-content:center;position:relative;gap:0;}
.catalog-center-controls > .library-tabs {justify-content:center;flex-wrap:nowrap;}
.catalog-center-controls > .models-intro-language {position:absolute;left:calc(100% + 12px);top:22px;margin:0;}
.catalog-actions {padding-top:82px;}
}
@media(max-width:1200px){
.catalog-header {grid-template-columns:minmax(0,1fr) auto;}
.catalog-center-controls {grid-column:1/-1;grid-row:2;justify-self:center;justify-content:center;width:100%;gap:12px;padding-top:8px;flex-wrap:wrap;}
.catalog-center-controls > .library-tabs {justify-content:center;flex:0 1 auto;}
.catalog-center-controls > .models-intro-language {position:static;margin:0;}
}

/* Separate release navigation from screenshot pages. */
.model-gallery-controls{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:12px}
.model-mixed-media .model-media-mosaic{height:auto}
.model-feature-play{position:relative;width:100%;height:100%;padding:0;border:0;background:#080b13}
.model-feature-play img{width:100%;height:100%;object-fit:cover}
.model-inline-player{display:block;width:100%;height:100%;border:0;background:#080b13}
.catalog-screenshots-button{position:absolute;top:12px;right:12px;z-index:3;background:#101629e8;color:#d8ecff;border:1px solid #63708e;border-radius:10px;font-size:24px;min-width:42px;min-height:42px;cursor:pointer}

/* Visible, localized screenshot action below the release title. */
.catalog-card .catalog-screenshots-button{position:static;inset:auto;z-index:auto;display:inline-flex;align-items:center;align-self:flex-start;justify-content:center;gap:9px;width:fit-content;max-width:100%;min-height:40px;margin:10px 0 4px;padding:10px 15px;border:1px solid #c664b5;border-radius:9px;background:linear-gradient(110deg,#a63083,#7747a7);color:#fff;font:600 14px/1.3 inherit;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 3px 12px #b1338b24}
.catalog-screenshots-button svg{width:19px;height:19px;flex-shrink:0}
.catalog-card .catalog-screenshots-button:hover{filter:brightness(1.15)}
.catalog-card .catalog-screenshots-button:focus-visible{outline:2px solid #f5c4ff;outline-offset:3px}

/* Mobile library header: each group has its own full-width row. */
@media (max-width: 900px) {
  .catalog-screen .catalog-header {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
    width: 100%;
  }
  .catalog-header > .catalog-brand,
  .catalog-header > .catalog-actions,
  .catalog-header > .catalog-center-controls { width: 100%; min-width: 0; padding-top: 0; }
  .catalog-header .catalog-brand-row { padding-top: 0; gap: 12px; }
  .catalog-header .catalog-logo-link { flex: 0 0 116px; margin: 0; }
  .catalog-header .library-updates-button {
    flex: 1 1 180px; width: auto; min-width: 0; min-height: 40px;
    padding: 9px 12px; margin: 0; font-size: 13px; line-height: 1.4;
    white-space: normal; overflow-wrap: normal;
  }
  .catalog-header .library-updates-status { width: 100%; font-size: 12px; line-height: 1.45; margin-top: 8px; }
  .catalog-header .catalog-actions { order: 1; display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 8px; }
  .catalog-header #fullArchiveLink { position: static !important; margin: 0 !important; align-self: center !important; max-width: 100%; }
  .catalog-header .catalog-access-email { flex: 1 1 140px; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
  .catalog-header .catalog-action-buttons { flex: 1 1 100%; justify-content: flex-start; flex-wrap: wrap; gap: 8px; }
  .catalog-header .catalog-action-buttons button { min-height: 36px; height: auto; padding: 7px 12px; font-size: 12px; }
  .catalog-header .catalog-center-controls { order: 2; display: flex; flex-direction: column; align-items: stretch; gap: 10px; margin: 0; }
  .catalog-header .catalog-center-controls > .library-tabs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); width: 100%; gap: 6px; flex: none; }
  .catalog-header .library-tabs button { min-width: 0; min-height: 44px; padding: 8px 5px; font-size: 12px; line-height: 1.35; overflow-wrap: normal; }
  .catalog-header .library-tabs .tab-testing { white-space: normal; margin: 2px 0 0; }
  .catalog-header .catalog-center-controls > .models-intro-language { position: static; display: flex; justify-content: flex-end; gap: 6px; margin: 0; }
  .catalog-header .models-intro-language button { min-height: 36px; min-width: 42px; padding: 6px 10px; font-size: 12px; }
}

/* Compact notification toggle, sharing the top row with brand and archive. */
.catalog-header > .catalog-brand { grid-column: 1 / -1; width: 100%; }
.catalog-header .catalog-brand-row { display:flex; flex-wrap:nowrap; align-items:center; gap:10px; padding-top:0; }
.catalog-header .catalog-brand-row .catalog-logo-link { margin-right:auto; flex:0 1 116px; min-width:64px; }
.catalog-header .catalog-brand-row #fullArchiveLink { flex:0 0 auto; margin:0 !important; align-self:center !important; }
.catalog-header .library-updates-button.notification-bell { display:inline-flex; align-items:center; justify-content:center; flex:0 0 36px; width:36px; height:36px; min-height:36px; min-width:36px; padding:7px; margin:0; border:1px solid #676774; border-radius:9px; background:#22242e; color:#a1a3af; }
.notification-bell svg { width:22px; height:22px; flex:none; }
.notification-bell .notification-bell-waves { visibility:hidden; }
.catalog-header .notification-bell[aria-pressed="true"] { background:#48233d; color:#ff74c7; border-color:#cf529e; }
.notification-bell[aria-pressed="true"] .notification-bell-waves { visibility:visible; }
.library-updates-status:empty { display:none; }
@media(max-width:400px){
 .catalog-header .catalog-brand-row {gap:7px;}
 .catalog-header .catalog-brand-row .catalog-logo-link {flex-basis:88px;}
 .catalog-header .catalog-brand-row #fullArchiveLink {font-size:10px !important;padding:6px 7px !important;gap:4px !important;}
 .catalog-header .catalog-brand-row #fullArchiveLink small {font-size:9px !important;}
}
