:root{color-scheme:dark;--bg:#101114;--panel:#191b20;--soft:#202329;--line:#2c2f36;--text:#f3f0ef;--muted:#979ba7;--accent:#ee8ba2;--green:#b6d7bc;font-family:Inter,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:14px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{outline-offset:4px}button:focus-visible,a:focus-visible{outline:2px solid var(--accent)}button{cursor:pointer;border:1px solid var(--line);background:var(--soft);color:var(--text);border-radius:7px;padding:9px 16px}button:hover{border-color:#7a6c74;background:#303038}button:disabled{cursor:wait;opacity:.55}.primary{background:var(--accent);border-color:var(--accent);color:#24151b;font-weight:700}.primary:hover{background:#f4a1b4;color:#24151b}.text-button{background:none;border:0;color:var(--muted);padding:4px 6px}header{height:88px;display:flex;align-items:center;gap:56px;padding:0 4.5vw;border-bottom:1px solid var(--line);background:#131418}.brand{display:flex;gap:12px;align-items:center}.brand-mark{background:var(--accent);color:#24151b;width:40px;height:40px;display:grid;place-items:center;font-size:24px;font-weight:900;border-radius:10px}.brand b{font-size:20px;letter-spacing:2px}.brand b span{font-size:10px;display:block;letter-spacing:1px;color:var(--muted);font-weight:400}nav{display:flex;gap:30px;height:100%;align-items:center}nav a{position:relative;color:var(--muted);height:100%;display:flex;align-items:center}nav a.active{color:var(--text)}nav a.active:after{content:"";position:absolute;bottom:0;height:3px;background:var(--accent);width:24px;left:calc(50% - 12px)}#account{margin-left:auto;display:flex;align-items:center;gap:12px}.user-name{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}main{max-width:1680px;margin:auto;padding:40px 4.5vw 70px;min-height:calc(100vh - 180px)}h1{font-size:30px;line-height:1.3;letter-spacing:-.8px;margin:5px 0 10px}h2{font-size:21px;margin:0 0 16px}h3{font-size:17px;margin:0 0 8px}p{margin:0 0 15px}.muted{color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--accent);font-weight:700}.topline{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}.count{font-size:13px;color:var(--muted);font-weight:400;margin-left:12px;letter-spacing:0}.search{width:300px;max-width:100%;background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:11px 16px;color:var(--text)}.filters{display:flex;gap:9px;align-items:center;margin:0 0 24px}.filters button{background:transparent;padding:6px 16px;border-radius:20px;font-size:12px}.filters button.selected{background:#ef8ba21b;border-color:#9c5d6d;color:var(--accent)}.membership-strip{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid #544049;border-radius:9px;padding:17px 22px;margin-bottom:30px;background:linear-gradient(100deg,#251b24,#191b20 80%)}.membership-strip strong{font-size:14px;display:block}.membership-strip small{color:#b8adb6}.role-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.role-card{aspect-ratio:16/9;display:grid;grid-template-columns:42.1875% 1fr;overflow:hidden;border:1px solid var(--line);border-radius:9px;background:var(--panel);cursor:pointer;transition:border-color .15s,transform .15s}.role-card:hover{border-color:#8c6877;transform:translateY(-2px)}.portrait{position:relative;aspect-ratio:3/4;overflow:hidden;background:#25272e}.portrait img{height:100%;width:100%;object-fit:cover;object-position:20% center}.portrait .badge{position:absolute;left:10px;bottom:10px;background:#111b}.placeholder{height:100%;display:grid;place-content:center;text-align:center;gap:8px;color:#b9a7b2;background:linear-gradient(145deg,#29232a,#18191e)}.placeholder strong{font-size:28px}.placeholder small{font-size:10px;letter-spacing:2px}.role-info{padding:17px 16px 12px;display:flex;flex-direction:column;min-width:0}.role-info h3{font-size:19px;margin-bottom:7px}.role-info p{font-size:12px;color:var(--muted);line-height:1.65;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:8px}.role-info .drama{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#d6cdd2}.role-bottom{margin-top:auto;display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--muted);padding-top:8px;border-top:1px solid var(--line)}.badge{font-size:10px;border:1px solid #ffffff20;border-radius:4px;padding:2px 7px;color:#e0d4da;white-space:nowrap}.badge.member{color:#e9b4c3;background:#ee8ba218}.badge.free{color:var(--green)}.workflow-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.workflow-card{border-bottom:1px solid var(--line);padding-bottom:18px;cursor:pointer}.workflow-card .cover{aspect-ratio:16/10;border-radius:8px;overflow:hidden;margin-bottom:13px;background:var(--panel)}.cover img{width:100%;height:100%;object-fit:cover}.workflow-card h3{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workflow-card p{font-size:12px;margin:5px 0;color:var(--muted)}.crumb{color:var(--muted);display:flex;align-items:center;gap:12px;margin-bottom:24px}.detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:30px}.detail-head h1{font-size:36px}.detail-summary{max-width:700px;color:var(--muted);white-space:pre-wrap}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:32px}.detail-sidebar{border-left:1px solid var(--line);padding-left:26px}.detail-sidebar section{margin-bottom:28px}.detail-sidebar p{font-size:13px;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere}.asset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.asset-card{background:var(--panel);border:1px solid var(--line);border-radius:8px;overflow:hidden}.asset-card img,.asset-card video{width:100%;height:270px;object-fit:contain;background:#141518;display:block}.asset-card audio{width:100%;margin:25px 0}.asset-foot{padding:13px 16px;display:flex;gap:12px;align-items:center;justify-content:space-between}.asset-foot span{font-size:12px;color:var(--muted)}.asset-foot button{font-size:12px;padding:6px 12px}.viewer{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);gap:24px}.video-stage{border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#08090b}.video-stage video{width:100%;height:480px;display:block}.prompt-panel{background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:24px}.prompt-panel pre{font:13px/1.9 inherit;white-space:pre-wrap;overflow-wrap:anywhere;max-height:340px;overflow:auto;color:#cfced4}.prompt-panel{min-width:0}.reference-row{display:flex;flex-wrap:wrap;align-items:stretch;gap:12px;overflow-x:auto;margin-top:14px;padding-bottom:8px;max-width:100%}.reference-card{flex-shrink:0;min-width:0;border:1px solid var(--line);border-radius:7px;background:var(--soft);overflow:hidden}.reference-visual{flex-basis:124px;width:124px;padding:8px;text-align:left}.reference-row .reference-visual img,.reference-placeholder{display:block;width:106px;height:90px;object-fit:contain;background:var(--bg);border-radius:4px}.reference-placeholder{display:grid;place-items:center;font-size:12px;color:var(--muted)}.reference-type{display:block;color:var(--muted);font-size:11px;margin-top:6px}.reference-title{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reference-audio{flex-basis:260px;width:260px;max-width:100%;padding:12px}.reference-label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:var(--muted)}.reference-label button{font-size:11px;padding:0 4px}.reference-audio strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px;font-weight:500;margin:8px 0 12px}.reference-audio audio{display:block;width:100%;min-width:0;height:40px}.filmstrip{display:flex;gap:12px;overflow:auto;margin-top:22px;padding-bottom:15px}.clip{flex:0 0 150px;padding:0;overflow:hidden;text-align:left}.clip.active{border-color:var(--accent)}.clip img{width:150px;height:85px;object-fit:cover}.clip span{display:block;padding:7px 10px;font-size:12px}.empty{padding:80px 20px;text-align:center;color:var(--muted)}footer{padding:22px 4.5vw;border-top:1px solid var(--line);display:flex;gap:30px;color:var(--muted);font-size:11px}footer button{margin-left:auto}dialog{width:480px;max-width:calc(100vw - 28px);max-height:90vh;background:#1c1e24;color:var(--text);border:1px solid #494049;border-radius:14px;padding:36px;box-shadow:0 30px 100px #0008}dialog::backdrop{background:#090a0de0;backdrop-filter:blur(5px)}dialog h2{font-size:25px;margin-top:4px}dialog .close{position:absolute;right:13px;top:10px;font-size:25px;padding:0 8px;background:none;border:none;color:var(--muted)}dialog p{color:var(--muted);font-size:13px}dialog ul{padding-left:20px;color:#d8d6dc;line-height:2.1;font-size:13px}label{display:block;font-size:12px;color:var(--muted);margin:14px 0 5px}input,textarea,select{width:100%;border:1px solid var(--line);border-radius:6px;padding:11px 12px;background:#111317;color:var(--text)}textarea{resize:vertical;min-height:110px}form .primary,.full{width:100%;margin-top:20px}.form-switch{text-align:center;margin-top:15px}.error{color:#ffa2ad;margin:8px 0}.benefit{border:1px solid #58414a;border-radius:8px;padding:16px;margin:20px 0}.benefit strong{font-size:28px;color:var(--accent)}.benefit small{display:block;color:var(--muted);font-size:12px}.address{overflow-wrap:anywhere;word-break:break-all;background:#101114;padding:12px;border-radius:5px;font-family:monospace;font-size:12px}.qr{display:block;margin:18px auto;width:180px;height:180px;background:white;border:10px solid white}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}td,th{text-align:left;padding:14px;border-bottom:1px solid var(--line);white-space:nowrap}th{color:var(--muted);font-weight:400}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.management{display:flex;gap:12px;align-items:center;margin-bottom:24px}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#ece4e7;color:#231b20;padding:12px 24px;border-radius:7px;z-index:999;display:none;max-width:85vw}.section-label{display:flex;align-items:center;justify-content:space-between;margin:26px 0 14px}.checkbox{width:auto;margin-right:8px}.meta-line{font-size:12px;color:var(--muted)}@media(min-width:1500px){.role-info{padding:22px}.role-info h3{font-size:23px}}@media(max-width:1100px){header{gap:25px}nav{gap:20px}.role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workflow-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.viewer{grid-template-columns:1fr}.detail-layout{grid-template-columns:minmax(0,1fr) 230px}.user-name{display:none}}@media(max-width:700px){header{height:auto;min-height:80px;padding:17px 20px;flex-wrap:wrap;gap:16px}.brand b{font-size:17px}.brand b span{font-size:9px}nav{order:3;width:100%;height:38px;justify-content:space-around}#account{gap:7px}#account button{font-size:11px;padding:7px 10px}main{padding:28px 18px 50px}.topline{align-items:flex-start;flex-direction:column;gap:14px}.search{width:100%}h1{font-size:26px}.role-grid{grid-template-columns:1fr;gap:15px}.role-info{padding:20px}.role-info h3{font-size:22px}.membership-strip{padding:16px;align-items:flex-start}.membership-strip small{font-size:10px}.membership-strip button{font-size:11px;padding:8px;white-space:nowrap}.workflow-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.detail-layout{display:flex;flex-direction:column}.detail-sidebar{border-left:0;border-top:1px solid var(--line);padding:22px 0 0}.asset-grid{grid-template-columns:1fr}.detail-head h1{font-size:28px}.video-stage video{height:300px}.prompt-panel{padding:18px}footer{padding:20px;flex-wrap:wrap;gap:10px}footer span:nth-child(2){display:none}dialog{padding:30px 22px}}

/* Library layout and membership feature switch */
[hidden],.membership-off [data-action="rights"]{display:none!important}
.topline{margin-bottom:24px}.topline h1{display:flex;align-items:baseline;gap:12px}.topline .count{margin-left:0;white-space:nowrap}.topline p{margin-bottom:0}.filters{flex-wrap:wrap;gap:8px}.role-info{overflow:hidden}.role-info h3{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-bottom>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drama{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-info [data-listen]{padding:4px 6px;font-size:12px;align-self:flex-start}.detail-head h1{overflow-wrap:anywhere}.viewer{align-items:start}.viewer>div{min-width:0}.prompt-panel .section-label:first-child{margin-top:0}.video-stage video{height:auto;aspect-ratio:16/9;max-height:65vh;background:#08090b}.prompt-panel pre{font-family:inherit;font-size:13px;line-height:1.85}.management{flex-wrap:wrap;padding-bottom:20px;border-bottom:1px solid var(--line)}.management h2{margin:0 auto 0 0}.system-switch{display:flex;align-items:center;justify-content:space-between;padding:16px;border:1px solid var(--line);border-radius:8px;font-size:14px;color:var(--text)}.system-switch input{width:20px;height:20px;accent-color:var(--accent)}
@media(max-width:700px){.detail-head{flex-direction:column;gap:12px}.viewer{gap:16px}.asset-foot{flex-wrap:wrap}.role-info{padding:12px}.role-info h3{font-size:19px;margin-bottom:4px}.role-info p{-webkit-line-clamp:2;font-size:11px;margin-bottom:6px}.role-info .drama{font-size:11px}.role-bottom{padding-top:5px}.role-info [data-listen]{font-size:11px;padding:2px 0}.topline h1{flex-wrap:wrap}.filters button{padding:6px 12px}.filmstrip{gap:8px}.clip{flex-basis:128px}.clip img{width:128px;height:72px}.management{gap:8px}.management h2{width:100%}}

.asset-masonry{columns:2;column-gap:20px}.asset-masonry .asset-card,.removed-asset{break-inside:avoid;margin:0 0 20px;position:relative}.asset-masonry .asset-card img,.asset-masonry .asset-card video{width:100%;height:auto;max-height:none;object-fit:contain;display:block}.asset-selected{outline:2px solid var(--accent);outline-offset:2px}.asset-select{position:absolute;top:10px;left:10px;z-index:1;font-size:11px;padding:5px 10px;background:#17181deb}.asset-masonry .asset-foot{flex-wrap:wrap}.asset-masonry .asset-foot span{overflow-wrap:anywhere;min-width:0}.role-materials>.section-label{margin-top:0}.role-drop{width:100%;padding:24px;margin-bottom:20px;border:1px dashed #70646d;background:#ee8ba208;display:grid;gap:6px;text-align:center}.role-drop span{font-size:12px;color:var(--muted)}.role-drop.drag-over{background:#ee8ba229;border-color:var(--accent)}.asset-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px;min-height:42px;color:var(--muted);font-size:12px}.asset-tools input{flex:1;min-width:140px;width:auto;padding:7px}.asset-tools button{font-size:12px;padding:7px 12px}.inline-field{background:transparent;border:1px solid transparent;padding:8px;margin-left:-8px;resize:vertical;min-height:0;font:inherit;color:var(--text);width:calc(100% + 8px)}.inline-field:hover{border-color:var(--line)}.inline-field:focus{background:var(--bg);border-color:var(--accent);outline:none}.role-head>div:first-child{flex:1;min-width:0}.role-head input.inline-field{font-size:32px;font-weight:700}.role-head textarea{color:var(--muted);max-width:720px;min-height:64px}.detail-sidebar .inline-field{font-size:13px;line-height:1.8;color:#ccc}.role-save-area{display:flex;align-items:center;gap:12px;position:sticky;top:16px;z-index:3}.role-save-area span{font-size:12px}.save-ready{background:#aad8b6!important;color:#163d22!important;border-color:#aad8b6!important;font-weight:700}.removed-asset{border:1px dashed var(--line);padding:16px;color:var(--muted);font-size:12px;display:grid;gap:8px}.saving-role .inline-field,.saving-role .role-materials,.saving-role .inline-settings{pointer-events:none;opacity:.65}.inline-settings select{margin-top:8px}@media(min-width:1600px){.asset-masonry{columns:3}}@media(max-width:700px){.asset-masonry{columns:1}.role-save-area{width:100%;justify-content:space-between}.role-drop strong{font-size:13px}.role-head input.inline-field{font-size:26px}}

.role-voices{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}.voice-assets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.voice-card{min-width:0}.voice-card .asset-foot strong{font-size:13px;overflow-wrap:anywhere}.voice-card audio{width:calc(100% - 32px);margin:8px 16px 16px;display:block}.voice-empty{color:var(--muted);font-size:13px;padding:16px 0}.asset-tools{position:sticky;top:0;z-index:4;background:var(--bg);padding:10px 0}@media(max-width:700px){.voice-assets{grid-template-columns:1fr}}

.maintenance-button{background:var(--accent);border-color:var(--accent);color:#24151b;font-weight:700;box-shadow:0 3px 14px #ee8ba21f}.maintenance-button:hover{background:#f4a1b4;border-color:#f4a1b4}.role-save-area{flex-wrap:wrap}

.zoomable{cursor:zoom-in}.zoomable:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}dialog.image-lightbox{width:min(1400px,96vw);max-width:96vw;max-height:94vh;padding:22px;background:#121317}.lightbox-heading{display:flex;align-items:center;gap:16px;padding:0 35px 16px 0}.lightbox-heading strong{overflow-wrap:anywhere;font-size:14px}.lightbox-heading span{color:var(--muted);font-size:12px;white-space:nowrap}.lightbox-image{display:flex;justify-content:center;align-items:center}.lightbox-image img{display:block;max-width:100%;max-height:calc(94vh - 110px);width:auto;height:auto;object-fit:contain}.image-lightbox .close{z-index:2;background:#282a31;border-radius:5px}@media(max-width:700px){dialog.image-lightbox{padding:14px}.lightbox-heading{gap:8px}.lightbox-image img{max-height:calc(94vh - 100px)}}

.lightbox-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}.lightbox-nav span{font-size:12px;color:var(--muted)}.lightbox-nav button:disabled{cursor:default}.lightbox-image img{max-height:calc(94vh - 170px)}@media(max-width:700px){.lightbox-nav span{display:none}.lightbox-nav button{font-size:12px}.lightbox-image img{max-height:calc(94vh - 160px)}}

.lightbox-thumbnails{display:flex;gap:10px;overflow-x:auto;padding:10px 3px 6px;margin-top:10px;scrollbar-width:thin}.lightbox-thumb{position:relative;flex:0 0 80px;width:80px;height:66px;padding:4px;border:2px solid transparent;background:var(--soft);border-radius:6px}.lightbox-thumb img{width:100%;height:100%;object-fit:contain;display:block}.lightbox-thumb.active{border-color:var(--accent);background:#ee8ba220}.lightbox-thumb span{position:absolute;right:4px;bottom:3px;background:#111d;color:#fff;font-size:10px;padding:0 4px;border-radius:3px}.lightbox-image img{max-height:calc(94vh - 260px)}@media(max-width:700px){.lightbox-thumb{flex-basis:64px;width:64px;height:54px}.lightbox-thumbnails{gap:7px}.lightbox-image img{max-height:calc(94vh - 235px)}}

.my-uploads-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 13px;border:1px solid #66515b;border-radius:7px;background:#ee8ba212;color:#f2b5c5;font-size:13px;font-weight:500;white-space:nowrap;transition:background .15s,border-color .15s}.my-uploads-button svg{flex-shrink:0}.my-uploads-button:hover{background:#ee8ba225;border-color:var(--accent)}@media(max-width:700px){.my-uploads-button{padding:7px 9px;gap:6px;font-size:11px}}

.danger-button{color:#ffacb5;border-color:#87434f;background:#46252d}.danger-button:hover{background:#62303c;border-color:#d66b7e}.delete-confirm-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}

.brand{flex-shrink:0}.brand-logo{display:block;width:190px;height:auto;max-height:70px;object-fit:contain}@media(max-width:700px){.brand-logo{width:155px;max-height:56px}}

.cover-badge{display:inline-block;color:var(--accent,#e8b5c7);font-size:12px;font-weight:600;margin-right:6px}#set-cover{border-color:var(--accent,#e8b5c7);color:var(--accent,#e8b5c7)}

#role-assets img[draggable="true"]{cursor:grab}#role-assets img[draggable="true"]:active{cursor:grabbing}.asset-dragging{opacity:.45}.asset-drop-target{outline:3px solid var(--accent,#e8b5c7);outline-offset:3px}

.role-categories{display:flex;align-items:center;gap:8px;margin:0 0 24px;padding-bottom:12px;border-bottom:1px solid var(--line)}.role-categories a{display:flex;align-items:center;gap:6px;padding:8px 18px;border:1px solid transparent;border-radius:7px;color:var(--muted);font-size:14px}.role-categories a:hover{color:var(--text);background:var(--soft)}.role-categories a.active{color:var(--accent);border-color:#ee8ba240;background:#ee8ba210}.role-card-heading{display:flex;align-items:flex-start;gap:8px;justify-content:space-between;min-width:0}.role-card-heading h3{flex:1;min-width:0;margin-right:0}.role-recommend{flex:none;display:flex;align-items:center;gap:4px;white-space:nowrap;padding:5px 8px;font-size:11px;line-height:1.6;border-color:#ee8ba236;background:#ee8ba20c;color:var(--accent);border-radius:5px}.role-recommend:hover{border-color:var(--accent);background:#ee8ba21c}.role-recommend.is-featured{color:#e7c278;border-color:#e7c27855;background:#e7c27812}.role-recommend:disabled{cursor:default;opacity:.75}.role-recommend [aria-hidden]{font-size:14px;line-height:1.2}@media(max-width:700px){.role-card-heading{gap:4px}.role-recommend{font-size:10px;padding:3px 6px}.role-card-heading h3{font-size:18px}.role-categories a{padding:7px 14px}}

/* Flat reference galleries preserve full image proportions. */
.upload-tabs{display:flex;gap:4px;padding:4px;background:var(--soft);border:1px solid var(--line);border-radius:8px}.upload-tabs a{min-width:72px;text-align:center;padding:8px 16px;border-radius:5px;color:var(--muted)}.upload-tabs a.active{background:#ee8ba21c;color:var(--accent);box-shadow:inset 0 0 0 1px #ee8ba245}.upload-tabs a:focus-visible,.gallery-open:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:24px 0 16px}.gallery-toolbar .search{width:min(440px,100%)}.gallery-size-label{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px;white-space:nowrap}.gallery-size-label input{width:130px;accent-color:var(--accent);padding:0}.gallery-categories{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}.gallery-categories button{padding:7px 14px;font-size:13px}.gallery-categories button.active{border-color:#ee8ba260;color:var(--accent);background:#ee8ba218}.gallery-categories small{opacity:.65;margin-left:7px}.gallery-drop{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;width:100%;border:1px dashed #70646d;background:#ee8ba208;padding:18px;margin-bottom:24px;color:var(--text)}.gallery-drop>span{font-size:22px;color:var(--accent)}.gallery-drop small{color:var(--muted);font-size:12px}.gallery-dragging .gallery-drop{outline:3px solid var(--accent);background:#ee8ba225}.gallery-grid{display:grid;grid-template-columns:repeat(var(--gallery-columns,4),minmax(0,1fr));gap:20px}.gallery-column{min-width:0}.gallery-grid>.empty{grid-column:1/-1}.gallery-card{break-inside:avoid;display:inline-block;vertical-align:top;width:100%;margin:0 0 20px;background:var(--soft);border:1px solid var(--line);border-radius:9px;overflow:hidden}.gallery-open{display:block;position:relative;width:100%;padding:0;border:0;border-radius:0;background:#14151a;cursor:zoom-in}.gallery-open img{width:100%;height:auto;display:block;object-fit:contain}.gallery-caption{padding:12px 14px}.gallery-caption strong{display:block;font-size:13px;font-weight:500;overflow-wrap:anywhere;line-height:1.6}.gallery-caption>div{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px}.gallery-caption span{color:var(--muted);font-size:11px;overflow-wrap:anywhere}.gallery-caption button{padding:2px 8px;flex:none}.gallery-audio{padding:32px 16px;font-size:36px;color:var(--accent)}.gallery-audio span{display:block;font-size:12px;color:var(--muted)}.gallery-media-label{position:absolute;left:12px;bottom:12px;padding:4px 8px;background:#101114dd;border-radius:4px;color:var(--text);font-size:12px}.gallery-upload-files{max-height:35vh;overflow:auto;margin:20px 0}.gallery-upload-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.gallery-upload-row img{width:52px;height:60px;object-fit:contain;flex:none;background:var(--soft)}.gallery-upload-row>span{flex:1;min-width:0;overflow-wrap:anywhere;font-size:13px}.gallery-upload-row small{display:block;margin-top:4px;font-size:11px}.gallery-upload-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px}#gallery-new-category{margin-top:12px}#gallery-upload-error,#gallery-edit-error,#gallery-delete-error{overflow-wrap:anywhere}.image-lightbox video{max-width:100%;max-height:60vh}.image-lightbox audio{width:min(600px,90%)}
@media(max-width:700px){.gallery-toolbar{flex-direction:column;align-items:stretch;gap:14px}.gallery-toolbar .search{width:100%}.gallery-size-label{justify-content:space-between}.gallery-size-label input{width:45%}.gallery-grid{column-gap:12px}.gallery-card{margin-bottom:12px}.gallery-drop{padding:14px;font-size:12px;gap:8px}.gallery-drop small{width:100%;text-align:center}.gallery-caption{padding:10px}.upload-tabs{width:100%}.upload-tabs a{flex:1;min-width:0}.gallery-upload-actions{flex-wrap:wrap}.gallery-upload-actions .primary{flex:1}.gallery-categories button{font-size:12px;padding:7px 10px}}
.gallery-card img{min-height:1px}

.gallery-hover-video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:var(--bg);pointer-events:none;opacity:0}.gallery-hover-video.is-ready{opacity:1}

.asset-card img.image-pending,.asset-card img.image-failed{background:var(--soft);color:var(--muted);min-height:120px}.asset-card img.image-pending{visibility:hidden}

.catalog-topline{flex-wrap:wrap}.catalog-topline>div:first-child{flex:1;min-width:300px}.catalog-topline>.search{margin-left:auto}#catalog-ad{position:relative;flex:0 1 480px;width:480px;aspect-ratio:3/1;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--soft)}#catalog-ad[hidden]{display:none}.ad-visual,.ad-visual img{display:block;width:100%;height:100%}.ad-visual img{object-fit:cover}.ad-dots{position:absolute;bottom:6px;right:10px;display:flex;gap:6px}.ad-dots button{width:18px;height:5px;padding:0;border:0;border-radius:4px;background:#ffffff66}.ad-dots button[aria-pressed=true]{background:var(--accent)}dialog.promotion-dialog{padding:0;width:480px;max-width:calc(100vw - 64px);max-height:calc(100dvh - 128px);overflow:visible;background:var(--bg)}dialog.promotion-dialog #modal-content{max-height:calc(100dvh - 130px);overflow:auto;border-radius:inherit;scrollbar-width:thin}.promo-art{display:block;width:100%;max-height:56vh;object-fit:contain}.promotion-dialog .close{top:auto;right:auto;bottom:-52px;left:50%;transform:translateX(-50%);z-index:2;display:grid;place-items:center;box-sizing:border-box;width:40px;min-width:40px;max-width:40px;height:40px;min-height:40px;max-height:40px;padding:0;border:1px solid #66515b;background:#101114;border-radius:50%;color:white;font-size:28px;line-height:1;box-shadow:0 4px 16px #0006}.promotion-dialog .close:hover{background:#29232a;border-color:var(--accent)}.promo-copy{padding:20px 24px}.promo-copy h2{font-size:22px;margin:0}.promo-copy p{font-size:13px;line-height:1.8;margin:10px 0 16px}.promo-copy>.primary{width:100%}.promo-copy>.text-button{display:block;margin:8px auto 0;font-size:12px}@media(max-width:700px){.catalog-topline>div:first-child{min-width:0;width:100%}#catalog-ad{flex-basis:auto;width:100%}.catalog-topline>.search{width:100%}.promo-copy{padding:18px}}

/* Keep the advertisement centered independently of the heading and search widths. */
.catalog-topline:has(#catalog-ad:not([hidden])){display:grid;grid-template-columns:minmax(0,1fr) 480px minmax(0,1fr)}.catalog-topline:has(#catalog-ad:not([hidden]))>div:first-child{min-width:0}.catalog-topline:has(#catalog-ad:not([hidden]))>.search{justify-self:end;width:300px;min-width:0}.catalog-topline #catalog-ad{justify-self:center;max-width:100%}@media(max-width:1399px){.catalog-topline:has(#catalog-ad:not([hidden])){grid-template-columns:minmax(0,1fr) minmax(0,300px)}.catalog-topline #catalog-ad{grid-column:1/-1;grid-row:2}.catalog-topline:has(#catalog-ad:not([hidden]))>.search{grid-column:2;grid-row:1}}@media(max-width:700px){.catalog-topline:has(#catalog-ad:not([hidden])){grid-template-columns:minmax(0,1fr)}.catalog-topline:has(#catalog-ad:not([hidden]))>.search{grid-column:1;grid-row:3;width:100%}.catalog-topline #catalog-ad{width:min(480px,100%)}}

.telegram-page{max-width:800px;margin:auto}.telegram-page>.eyebrow{display:block;margin:24px 0 8px}.telegram-benefits{display:grid;gap:20px;margin:32px 0}.telegram-benefits strong{color:var(--accent)}.telegram-benefits p{color:var(--muted);font-size:14px;margin-top:8px}.telegram-account{padding:24px 0;border-top:1px solid var(--line)}.telegram-consent{display:flex;align-items:flex-start;gap:10px;font-size:13px;margin:16px 0}.telegram-consent input{width:auto;flex:none;margin-top:5px}.telegram-account form{display:grid;gap:12px;max-width:400px}.member-success{color:#8ccbaa}

.promotion-toolbar{flex-wrap:wrap;align-items:flex-end;gap:16px}.gallery-dimension-filters{display:flex;align-items:flex-end;flex-wrap:wrap;gap:10px;flex:1}.gallery-dimension-filters label{display:grid;gap:6px;font-size:12px;color:var(--muted)}.gallery-dimension-filters select,.gallery-dimension-filters input{margin:0;padding:9px 10px;height:40px}.gallery-dimension-filters select{min-width:160px;max-width:100%}.gallery-dimension-filters input{width:90px}.gallery-dimension-filters>span{align-self:flex-end;padding:8px 0}.gallery-dimension-filters button{height:40px;white-space:nowrap;font-size:12px}.gallery-format-note,.gallery-image-dimensions{color:var(--muted);font-size:12px}.gallery-image-dimensions{display:block;margin-top:6px}nav a{white-space:nowrap}.upload-tabs{flex-wrap:wrap}@media(min-width:701px) and (max-width:1100px){header{gap:22px}nav{gap:18px}.brand-logo{width:155px}}@media(max-width:700px){.promotion-toolbar>.search{width:100%}.gallery-dimension-filters{flex-basis:100%;gap:8px}.gallery-dimension-filters select{min-width:140px}.gallery-dimension-filters input{width:72px}.promotion-toolbar .gallery-size-label{width:100%;justify-content:space-between}nav{gap:12px;justify-content:space-between;font-size:13px}.management{flex-wrap:wrap}.upload-tabs a{min-width:56px;padding:7px 10px}}

@media(min-width:701px) and (max-width:1100px){header{height:auto;flex-wrap:wrap;padding-top:16px;padding-bottom:12px;gap:16px}header nav{order:3;width:100%;height:38px;justify-content:center;gap:32px}header #account{margin-left:auto}}

.upload-tabs a{white-space:nowrap;flex-shrink:0}

/* The role has a real, playable storyboard canvas. */
.role-canvas-note{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;gap:8px;align-self:flex-start;max-width:100%;min-height:38px;margin-top:auto;margin-bottom:10px;padding:7px 12px;border:1px solid #ee8ba26b;border-radius:7px;background:linear-gradient(115deg,#ee8ba225,#ee8ba20c);box-shadow:inset 0 1px 0 #ffffff0c;color:#ffb4c7;font-size:14px;font-weight:600;line-height:1.45;flex-shrink:0}.role-canvas-note::before{content:"";position:absolute;z-index:-1;inset:-35% auto -35% 0;width:65%;background:linear-gradient(100deg,transparent,#ffd3df33,transparent);transform:translateX(-180%) skewX(-18deg);pointer-events:none;animation:role-canvas-shimmer 4.8s ease-in-out infinite}.role-canvas-note svg{flex:none;width:18px;height:18px}.role-canvas-note span{min-width:0;overflow-wrap:anywhere}.role-canvas-note .role-canvas-copy{display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px;min-width:0;text-align:left}.role-canvas-note .role-canvas-label,.role-canvas-note .role-canvas-count{white-space:nowrap;overflow-wrap:normal}.role-canvas-count{font-variant-numeric:tabular-nums;font-weight:700}.role-canvas-note+.role-bottom{margin-top:0}.role-canvas-note:hover{border-color:#ffb4c7;background:linear-gradient(115deg,#ee8ba23d,#ee8ba218)}.role-canvas-note:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.role-card:has(.role-canvas-note) .role-info>p,.role-card:has(.role-canvas-note) .role-info>.drama{flex-shrink:0}.role-card:has(.role-canvas-note){min-width:0;width:100%;min-height:222px}.role-card:has(.role-canvas-note) .portrait{align-self:center}@keyframes role-canvas-shimmer{0%,48%{transform:translateX(-180%) skewX(-18deg);opacity:0}55%{opacity:1}82%,100%{transform:translateX(280%) skewX(-18deg);opacity:0}}@media(max-width:700px){.role-canvas-note{gap:6px;min-height:32px;padding:5px 8px;margin-bottom:7px;font-size:12px}.role-canvas-note svg{width:16px;height:16px}.role-card:has(.role-canvas-note){min-height:194px}}@media(prefers-reduced-motion:reduce){.role-canvas-note::before{animation:none;display:none}}

.role-card:has(.role-canvas-count){min-height:256px}@media(max-width:700px){.role-card:has(.role-canvas-count){min-height:220px}}

/* Transparent artwork uses the same backdrop as the library page. */
.gallery-open,.gallery-open:hover,.gallery-upload-row img,dialog.image-lightbox .lightbox-image,.lightbox-thumb{background:var(--bg)}

.gallery-categories-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 12px}.gallery-categories-heading>span{color:var(--muted);font-size:12px}.category-manage-button{display:inline-flex;align-items:center;gap:6px;border-color:#ee8ba260;background:#ee8ba218;color:var(--accent);font-weight:600;padding:7px 12px;font-size:13px;white-space:nowrap}.category-manage-button:hover{background:#ee8ba22c;border-color:var(--accent)}.category-add-form{padding:16px 0;border-bottom:1px solid var(--line);margin-bottom:12px}.category-add-form>div{display:flex;gap:10px}.category-add-form input{margin:0;min-width:0;flex:1}.category-add-form button{flex:none;white-space:nowrap}.category-edit-list{max-height:46dvh;overflow:auto;scrollbar-width:thin;padding-right:5px}.category-edit-row{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.category-edit-row input{margin:0;min-width:0;flex:1;padding:8px 10px}.category-edit-row>span,.category-edit-row>small{font-size:12px;color:var(--muted);white-space:nowrap}.category-edit-row button{flex:none;white-space:nowrap;padding:7px 12px}header nav{min-width:0}header nav a{flex-shrink:0}@media(max-width:700px){header nav{overflow-x:auto;justify-content:flex-start;gap:22px;scrollbar-width:thin}.category-add-form>div{gap:8px}.category-add-form button{padding:8px 10px}.category-edit-row{gap:6px}.category-edit-row input{font-size:13px}.category-edit-row button{padding:7px 10px}.upload-tabs{max-width:100%}}
.category-edit-row .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:700px){header nav{gap:clamp(8px,2.5vw,16px);font-size:clamp(11px,3.1vw,13px);justify-content:space-between}}
@media(max-width:700px){header #account{max-width:100%;flex-wrap:wrap;justify-content:flex-end}}
.category-add-form>div{align-items:center}.category-add-form .primary{width:auto;margin-top:0}.category-add-form input{height:40px}

.category-edit-row input{flex:1 1 120px}.category-edit-row .danger-button{font-size:12px}.category-delete-confirm{width:440px}.category-delete-confirm p{overflow-wrap:anywhere}.category-delete-confirm strong{color:var(--accent)}@media(max-width:700px){.category-edit-row{flex-wrap:wrap;justify-content:flex-end}.category-edit-row input{flex-basis:100%}.category-edit-row>span{margin-right:auto}.category-delete-confirm .delete-confirm-actions{flex-wrap:wrap}.category-delete-confirm .delete-confirm-actions button{white-space:nowrap}}
