/* A gallery-led layout inspired by the official Rebirth of Souls character index. */
:root{--bg:#101010;--panel:#171717;--line:#353535;--muted:#929292;--purple:#ef3b32;--mint:#f0f0ec;--nav-width:180px}body{background:#101010;color:#f2f2ed;font-family:Arial,'Microsoft YaHei',sans-serif;background-image:none}main{margin-left:180px;margin-right:0;padding:0 44px 80px;max-width:none}.sidebar{width:180px;background:#090909;border-right:1px solid #292929;padding:28px 17px}.brand{font-size:21px;gap:9px}.brand small{font-size:6px;color:#777}.brand-mark{width:35px;height:35px}.nav-caption{margin-top:45px;border:0;padding:0;font-size:9px;letter-spacing:3px}.sidebar .nav[data-library],.sidebar #historyNav{clip-path:none;padding:16px 10px;margin-bottom:5px;border:0;color:#999;font-size:12px;background:none}.sidebar .nav.active{background:#efefea;color:#111;box-shadow:inset 3px 0 #e53930}.sidebar .nav:hover{color:#e53930}.sidebar-bottom{font-size:10px}.sidebar-bottom .live-dot{background:#e53930}header{height:76px;border-bottom:1px solid #383838;color:#929292;gap:16px}.breadcrumb{font-size:10px;letter-spacing:1px}.edition{display:none!important}.owner-toolbar{display:flex;align-items:center;gap:9px;margin-left:auto;flex-wrap:wrap}.owner-toolbar:empty{display:none}.owner-toolbar button{border:1px solid #555;background:transparent;color:#eee;padding:10px 17px;font-size:12px;cursor:pointer}.owner-toolbar .primary-action{background:#e83a31;border-color:#e83a31;color:white}.owner-toolbar .upload-action{background:#eee;color:#171717;border-color:#eee}.workspace-state{font-size:10px;color:#929292;margin-right:7px}.hero{min-height:0;padding:35px 0 26px;border:0;display:block;position:relative}.hero:before,.hero:after{display:none}.hero .eyebrow{font-size:8px;letter-spacing:3px;color:#888}.hero-word{font-family:Impact,'Arial Narrow',sans-serif;font-size:62px!important;line-height:1;letter-spacing:1px;color:#f6f5ef;opacity:1;position:static;margin:12px 0 8px;transform:none}.hero h1{font-size:15px;font-weight:500;letter-spacing:5px;line-height:1.4;margin:0;color:#999}.hero h1 em{color:#aaa}.hero h1 br{display:none}.hero p,.sound-art{display:none!important}.hero-stats{position:absolute;right:0;bottom:29px;color:#888;font-size:10px;margin:0}.hero-stats b{color:#f2f2ed;font-size:21px;margin-right:7px}.library-controls{padding:0 0 22px;border:0;border-bottom:1px solid #393939;background:none}.library-filters{margin-top:0;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.library-filters>.filter-field:nth-child(n){grid-column:auto}.filter-field>span,.person-picker>label{font-size:10px;color:#999;font-weight:400}.filter-field select,.person-input{background:#191919;border:1px solid #454545;color:#eee;border-radius:0;height:42px}.person-input input{color:#eee}.person-input button{color:#999}.person-options{background:#171717;border-color:#555;box-shadow:0 12px 28px #0008}.person-option{color:#ddd;border-bottom-color:#333}.person-option:hover,.person-option:focus-visible,.person-option[aria-selected=true]{background:#292929;color:#f34a3d}.person-option small,.person-empty{color:#888}.person-hint{color:#ccc}.library-controls>.search{border-color:#444;background:#181818;box-shadow:none;margin-bottom:18px}.library-controls .search input{color:#eee}.search-heading{color:#bbb}.search-heading small{color:#777}.category-tabs{gap:20px;border-bottom:1px solid #333;padding-bottom:13px;margin:20px 0}.category-tabs button{border:0;border-radius:0;clip-path:none;padding:5px 0;background:none;color:#8d8d8d}.category-tabs button.active{background:none;color:#f24439;box-shadow:0 2px #f24439}.results-line{font-size:10px;margin:20px 0 16px;color:#999}.text-button{color:#d4d4cc}.active-filter{background:#242424;border-color:#555;color:#ddd}.visual-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:24px 18px}.visual-card{padding:0;border:0;background:none;min-width:0;position:relative;transition:transform .15s}.visual-card:hover{transform:translateY(-3px)}.visual-card>img{height:auto;width:100%;aspect-ratio:4/3;object-fit:cover;background:#eae9e4;display:block;border-bottom:3px solid transparent;transition:border-color .15s}.visual-card:hover>img{border-color:#e83a31}.visual-card .voice-title{font-size:12px;color:#eee;line-height:1.5;margin:12px 0 4px;white-space:normal;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:36px}.visual-card p{font-size:9px;line-height:1.6;color:#777;margin:0 0 10px}.visual-card>button{margin:0 10px 0 0;border:0;background:none;color:#a5a5a0;font-size:10px;padding:6px 0;border-bottom:1px solid #505050;border-radius:0}.visual-card>button:hover{color:#ef453b;border-color:#ef453b}.visual-card .add{color:#eee}.visual-card .add.added{background:none;color:#e83a31}.visual-card .local-card-edit{position:absolute;top:8px;right:8px;margin:0;padding:6px 9px;background:#111d;color:white;border:1px solid #fff4;font-size:10px}.visual-card.local-dirty>img{border-bottom-color:#e83a31}.visual-card .draft-badge{font-size:9px;color:#ef4b41;position:absolute;top:11px;left:9px;background:#111e;padding:5px}.table-head{background:#202020;border:0;clip-path:none;color:#aaa}.voice-row{background:none;border-bottom:1px solid #333}.voice-row:nth-child(even){background:#ffffff03}.voice-row:hover{background:#1e1e1e}.voice-row.selected{background:#35211f}.voice-title{color:#eee}.voice-meta .tag{background:#252525;color:#aaa;border:0}.voice-row .play{background:none;border-color:#777;color:#eee}.voice-row .add{color:#ddd;border-color:#555;border-radius:0}.duration{color:#999}.pagination button{background:none;border-color:#444;color:#bbb;border-radius:0}.empty{background:none;border:1px dashed #333;color:#777;margin-top:25px}.cart{display:none;width:min(420px,100vw);inset:0 0 0 auto;background:#171717;border-left:1px solid #444;z-index:40;color:#eee;padding:25px 22px;height:100dvh}.cart-open .cart{display:flex}.cart-open{overflow:hidden}.cart-backdrop{z-index:39}.mobile-cart-button{display:block;left:auto;right:24px;bottom:22px;z-index:32;padding:14px 23px;background:#ecece7;color:#161616;border:0;box-shadow:3px 3px 0 #e83a31;font-size:12px}.mobile-cart-button span{background:#171717;color:#fff;border-radius:0}#closeCart{display:block}.cart-heading{border-color:#555}.cart h2,.cart strong{color:#eee}.cart .eyebrow,.cart-note,.cart-item small{color:#999}.cart-item{border-color:#333}.cart-edit,.cart select{background:#222;border-color:#555;color:#ddd}.cart .download{background:#e83a31;border:0;color:white;clip-path:none}.cart-summary{border-top-color:#555}.gain-control label,.export-label{color:#bbb}.gain-control p{color:#888}.cart-empty{color:#999}.cart-empty .empty-icon{color:#bbb}footer{border-top:1px solid #333;margin-top:35px;padding-top:20px;color:#686868;font-size:9px}.owner-dialog,.image-viewer{background:#191919;color:#eaeae5;border:1px solid #555;padding:27px;box-shadow:0 25px 100px #000a;max-width:min(620px,94vw);max-height:90vh}.owner-dialog::backdrop,.image-viewer::backdrop{background:#000b}.owner-dialog h2{font-size:22px;color:#eee}.owner-dialog p{color:#999;line-height:1.8;font-size:12px}.owner-dialog input,.owner-dialog select{display:block;width:100%;max-width:none;background:#242424;color:#eee;border:1px solid #555;padding:11px;margin-top:7px;border-radius:0}.owner-dialog label{display:block;margin:15px 0;color:#aaa;font-size:12px}.owner-dialog button{border:1px solid #666;background:none;color:#eee;padding:10px 18px;margin:10px 8px 0 0}.owner-dialog .primary-action{background:#e83a31;border-color:#e83a31}.dialog-actions{display:flex;justify-content:flex-end;margin-top:20px}.edit-preview{width:100%;height:180px;object-fit:contain;background:#eee}.workspace-note{border-left:2px solid #e83a31;padding-left:10px;font-size:10px;color:#888}.upload-summary{max-height:160px;overflow:auto;font-size:11px;color:#999}.sync-panel{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid #333;font-size:11px;color:#aaa}.sync-panel a{color:#ef493e;text-decoration:underline}.history-card{background:#191919;border-color:#444}.history-day,.section-heading h2{color:#eee}.history-entry{border-color:#333}.history-entry p,.history-entry small{color:#999}#toast{background:#e9e9e1;color:#111;z-index:60}#processingStatus{display:none!important}
@media(min-width:1750px){.visual-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:27px 22px}}
@media(max-width:1199px){main{margin-left:155px;padding:0 28px 80px}.sidebar{width:155px}.visual-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-word{font-size:52px!important}}
@media(max-width:999px){.sidebar{position:sticky;top:0;display:flex;width:100%;height:62px;min-height:62px;padding:0 15px;gap:8px;border-right:0;border-bottom:1px solid #333;z-index:35}.sidebar .brand{margin-right:auto;font-size:18px;flex:none}.sidebar .nav[data-library],.sidebar #historyNav{padding:11px 9px;margin:0;font-size:11px}.nav-caption,.sidebar-bottom,.brand small{display:none}main{margin:0;padding:0 25px 90px}.visual-grid{grid-template-columns:repeat(3,minmax(0,1fr))}header{height:auto;min-height:66px;padding:13px 0;flex-wrap:wrap}.hero{padding:26px 0 20px}.hero-word{font-size:48px!important}.owner-toolbar{gap:7px}.owner-toolbar button{font-size:11px;padding:9px 12px}.hero-stats{bottom:24px;font-size:9px}}
@media(max-width:599px){.sidebar{padding:0 10px;gap:5px}.brand>span:last-child{display:none}.sidebar .nav span{display:none}.sidebar .nav[data-library]{padding:10px}.sidebar #historyNav{font-size:10px;padding:10px 5px}main{padding:0 16px 90px}.breadcrumb{font-size:9px}.owner-toolbar{width:100%;justify-content:flex-start;margin:0}.workspace-state{display:none}.hero-word{font-size:40px!important}.hero h1{font-size:12px;letter-spacing:3px}.hero-stats{position:static;margin-top:13px;font-size:9px}.hero-stats b{font-size:15px}.library-controls{padding-bottom:15px}.library-filters{grid-template-columns:1fr 1fr}.library-filters>.filter-field:nth-child(1){grid-column:1/-1}body[data-library=image] .library-filters,body[data-library=sprite] .library-filters{grid-template-columns:1fr 1fr}.filter-field select,.person-input{height:40px}.visual-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 12px}.visual-card .voice-title{font-size:11px;margin-top:9px;min-height:33px}.visual-card p{font-size:8px}.visual-card>button{font-size:9px;margin-right:8px}.visual-card>button:first-of-type{display:none}.visual-card .local-card-edit{display:block!important;font-size:9px;padding:5px}.category-tabs{gap:14px}.category-tabs button{font-size:11px}.mobile-cart-button{left:auto;right:17px;bottom:18px;font-size:11px;padding:13px 18px}.owner-dialog{padding:20px}.owner-dialog h2{font-size:20px}.hero .eyebrow{font-size:7px}.voice-row{padding-left:7px;padding-right:7px}.sync-panel{align-items:flex-start;flex-direction:column;gap:5px}}
.visual-card>img{object-position:center 22%}.hero h1{font-family:Arial,'Microsoft YaHei',sans-serif}.owner-dialog .eyebrow{font-size:8px;color:#777;letter-spacing:3px}.local-workspace .visual-card .voice-title{font-weight:500}
.image-viewer{width:min(900px,calc(100vw - 32px));min-width:0;max-width:calc(100vw - 32px);max-height:90dvh;overflow:auto;box-sizing:border-box}.image-viewer h2{font-size:18px;overflow-wrap:anywhere;max-width:100%;line-height:1.5}.image-viewer>button{background:#222;color:#eee;border:1px solid #777;padding:9px 16px;z-index:3}.image-viewer p{font-size:11px;color:#aaa}.image-viewer img{display:block;max-width:none}.owner-dialog{width:560px;min-width:0;max-width:calc(100vw - 32px);overflow:auto;box-sizing:border-box}@media(max-width:599px){.sidebar .nav[data-library]{padding:9px 6px}.sidebar .nav[data-library] svg{width:21px;height:21px}.sidebar .brand-mark{width:28px;height:28px}.sidebar #historyNav{font-size:9px;padding:9px 4px}body[data-library=image] .library-filters>.filter-field:nth-child(1),body[data-library=sprite] .library-filters>.filter-field:nth-child(1){grid-column:1/-1}.image-viewer{padding:15px}.image-viewer h2{font-size:14px}}
/* Drawer trigger remains fixed even above the former mobile breakpoint. */
.mobile-cart-button{position:fixed;z-index:32}
@media(max-width:599px){.library-filters .person-options{left:0!important;right:auto!important;width:calc(200% + 12px)!important;max-width:calc(100vw - 32px);min-width:0}}
.cart-list{flex:0 0 auto;min-height:0;max-height:40dvh;overflow-y:auto}.cart-empty{height:140px}.cart-heading{position:sticky;top:0;background:#171717;z-index:2}.cart-summary{flex:0 0 auto}
/* Keep the first row of assets visible on small phones. */
@media(max-width:599px){header{height:58px;min-height:58px;padding:10px 0;flex-wrap:nowrap}.breadcrumb{display:none}.owner-toolbar{width:auto;gap:8px}.hero{padding:20px 0 16px}.hero .eyebrow{display:none}.hero-word{font-size:32px!important;margin:0 0 5px}.hero h1{font-size:11px;line-height:1.4}.hero-stats{margin-top:8px}.results-line{margin:15px 0 12px}}

@media(max-width:599px){.library-filters .person-picker{grid-column:1/-1}.library-filters .person-options{width:100%!important}}

.image-lightbox{position:fixed;inset:0;box-sizing:border-box;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:24px 36px;border:0;background:transparent;color:#fff;overflow:hidden;grid-template-rows:auto minmax(0,1fr) auto;gap:14px}.image-lightbox[open]{display:grid}.image-lightbox::backdrop{background:rgba(0,0,0,.83)}.lightbox-header{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;min-width:0}.lightbox-info{min-width:0}.lightbox-info h2{font-size:17px;line-height:1.4;margin:0 0 7px;overflow-wrap:anywhere;color:#fff}.lightbox-info p,.lightbox-info small{display:block;font-size:11px;line-height:1.6;margin:0;color:#ccc;overflow-wrap:anywhere}.lightbox-info small{color:#999}.image-lightbox button{background:#181818a6;border:1px solid #777;color:#fff;padding:9px 15px;cursor:pointer;white-space:nowrap}.image-lightbox button:hover{background:#444}.image-lightbox button:focus-visible{outline:2px solid #f34a3f;outline-offset:3px}.image-lightbox button:disabled{opacity:.35;cursor:default}.lightbox-close{flex:none}.lightbox-stage{position:relative;min-height:0;overflow:hidden;touch-action:none;user-select:none;background:transparent}.lightbox-stage img{position:absolute;left:50%;top:50%;display:block;max-width:none;max-height:none;object-fit:contain;background:transparent;pointer-events:none}.lightbox-stage.zoomed{cursor:grab}.lightbox-stage.dragging{cursor:grabbing}.lightbox-tools{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap}.lightbox-ratio{min-width:64px;text-align:center;font-size:13px;font-variant-numeric:tabular-nums}.lightbox-hint{font-size:11px;color:#aaa;margin-left:12px}.lightbox-error{position:absolute;inset:40% 0;text-align:center;color:#fff}@media(max-width:599px){.image-lightbox{padding:16px 14px;gap:10px}.lightbox-info h2{font-size:13px}.lightbox-info p,.lightbox-info small{font-size:9px}.lightbox-header{gap:10px}.image-lightbox button{padding:8px 10px;font-size:11px}.lightbox-hint{width:100%;text-align:center;margin:0;font-size:9px}.lightbox-tools{gap:6px}}
.image-lightbox,.image-lightbox *{text-transform:none}.image-lightbox .lightbox-header{padding:0 0 10px;margin:0;background:transparent;border-bottom:1px solid #ffffff25}.image-lightbox .lightbox-tools{position:relative;z-index:1}

.editor-field{margin:17px 0}.owner-dialog .editor-field>label{margin:0 0 7px}.editor-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px;max-height:132px;overflow:auto}.owner-dialog .editor-tag{font-size:11px;margin:0;padding:6px 9px;border:1px solid #555;background:#252525;color:#ccc;max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:left}.owner-dialog .editor-tag:hover,.owner-dialog .editor-tag.selected{border-color:#ed4b40;background:#ed4b401b;color:#fff}.editor-tag-note{display:block;margin-top:7px;font-size:10px;color:#999;line-height:1.5}

.editor-tag-group{flex-basis:100%;font-size:10px;color:#aaa;padding-top:5px}.editor-tags:has(.editor-tag-group){max-height:210px}

.editor-selected{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}.editor-selected .editor-tag{border-color:#eb493e;background:#ed4b4020}

.editor-field:has(.editor-role-options){position:relative}.editor-role-options{position:absolute;top:70px;left:0;right:0;z-index:5;display:block;max-height:240px!important;overflow-y:auto;margin:0;padding:4px;background:#202020;border:1px solid #777;box-shadow:0 12px 28px #0008}.editor-role-options[hidden]{display:none}.owner-dialog .editor-role-options .editor-tag{display:block;width:100%;border:0;border-bottom:1px solid #ffffff10;background:none;padding:10px 12px;margin:0}.owner-dialog .editor-role-options .editor-tag:hover,.owner-dialog .editor-role-options .editor-tag:focus{background:#e8493325;outline:none}

.actor-editor>label{margin-bottom:8px}.actor-search-results{max-height:220px;overflow:auto;border:1px solid #666;background:#222;padding:5px}.actor-search-results[hidden]{display:none}.owner-dialog .actor-search-results button{display:block;width:100%;text-align:left;border:0;padding:10px;margin:0;background:transparent}.actor-version-group{border:1px solid #494949;padding:13px;margin-top:14px;background:#ffffff03}.actor-group-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.actor-group-heading strong{color:#eee;font-size:13px}.actor-version-group .editor-tags{max-height:180px}.actor-version-group .editor-selected{min-height:24px}.actor-version-group input{margin-top:14px}

.visual-card .local-delete{color:#ed695e;font-size:10px;border:0;background:none;padding:0;margin-top:8px;cursor:pointer}.visual-card .local-delete:disabled{opacity:.4}.owner-dialog .danger-action{background:#ab3028;border-color:#e9574b}.trash-item{padding:14px 0;border-bottom:1px solid #444}.trash-item strong,.trash-item small{display:block;overflow-wrap:anywhere}.trash-item small{color:#999;margin-top:6px}
.visual-card>img,.owner-dialog .edit-preview{background:#292929;background-image:none}
.visual-card>img,.owner-dialog .edit-preview{background:#191919;background-image:none}

.cart-types{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}.cart-types span{font-size:10px;color:#bbb;border:1px solid #444;padding:5px 8px}.cart-item .cart-preview{width:58px;height:68px;min-width:0;border:1px solid #444;padding:0;background:#191919;overflow:hidden;cursor:zoom-in}.cart-preview img{display:block;width:100%;height:100%;object-fit:contain;background:#191919}.cart-item>div{min-width:0}.cart-item strong,.cart-item small{overflow-wrap:anywhere}.cart-item{grid-template-columns:58px minmax(0,1fr) 26px}.cart-item .cart-play{justify-self:center}.cart-note{line-height:1.7}
/* Library headings stay in normal flow at every viewport size. */
.hero{height:auto;max-height:none;overflow:visible}
.hero>div:first-child{width:100%;height:auto;min-width:0}
.hero h1{transform:none;position:static;height:auto;max-height:none;overflow:visible;padding:3px 0;line-height:1.6}
.hero-word{height:auto;max-width:100%;overflow-wrap:anywhere;line-height:1.12}
.hero-stats{position:static;display:flex;align-items:baseline;flex-wrap:wrap;gap:5px;margin-top:14px;line-height:1.8}
