/* Optional category/project identities. All positioning belongs to this layer. */
.catalogScene{position:absolute;left:0;right:0;top:0;z-index:1;pointer-events:none;opacity:0;transition:opacity 620ms ease;overflow:hidden;color:#f6f7fa}
.catalogScene.active{opacity:1}
.catalogArt{position:absolute;inset:0;overflow:hidden;mask-image:linear-gradient(to bottom,transparent 0%,#000 15%,#000 59%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 15%,#000 59%,transparent 100%)}
.catalogArtFrame{position:absolute;inset:0;opacity:0;transition:opacity 680ms ease;overflow:hidden}
.catalogArtFrame.visible{opacity:1}
.catalogArtFrame img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 42%}
.catalogArt:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#02020338 0%,#0202030a 25%,#02020399 66%,#02020340 100%),linear-gradient(90deg,#02020350,transparent 75%)}
.catalogCopy{position:absolute;left:max(26px,env(safe-area-inset-left));right:max(26px,env(safe-area-inset-right));max-width:620px;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;text-shadow:0 2px 16px #000,0 1px 3px #000;pointer-events:none}
.catalogBreadcrumb{display:flex;flex-wrap:wrap;gap:3px 18px;pointer-events:auto}
.catalogBreadcrumb button{display:inline-block;border:0;background:none;color:#f2f1eb;padding:8px 0;min-height:44px;max-width:100%;text-align:left;font-size:11px;line-height:1.4;letter-spacing:.06em;touch-action:manipulation;text-shadow:inherit}
.catalogBreadcrumb button:focus-visible{outline:2px solid #f4db31;outline-offset:4px}
/* Reuse the existing caption band; its height and the rail remain unchanged. */
.captionArea{position:relative}
.catalogIdentityTitle{position:absolute;bottom:0;left:18px;right:18px;margin:0;max-width:100%;font-family:Arial,Helvetica,sans-serif;font-size:11px;line-height:1.6;font-weight:400;letter-spacing:.25em;text-transform:uppercase;text-align:center;color:#f5f7ff;text-shadow:0 1px 8px #0008;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;opacity:0;transform:translateY(3px);transition:opacity 180ms ease,transform 280ms ease}
.catalogIdentityTitle.active{opacity:1;transform:none}
.catalogUniverse .captionArea #title{visibility:hidden}
.app:has(#rail.catalogChanging) .catalogIdentityTitle{opacity:0;transform:translateY(3px)}
.catalogDescription{max-width:44ch;margin:0 0 8px;font-size:14px;line-height:1.5;white-space:pre-line;overflow-wrap:anywhere}
.catalogCount{font-size:10px;line-height:1.5;letter-spacing:.09em;margin:3px 0 0;color:#f0ede6}
.catalogCopy [hidden]{display:none}
.app #cubeScene{transition:opacity 620ms ease}
.app.catalogUniverse #cubeScene{opacity:0;pointer-events:none}
.breakActive .app.catalogUniverse #cubeScene{opacity:1}
.breakActive .catalogScene{opacity:0;pointer-events:none}
.breakActive .catalogBreadcrumb{pointer-events:none}
.catalogScene:not(.active) .catalogBreadcrumb{pointer-events:none}
@media(min-width:601px){.catalogCopy{left:clamp(40px,9vw,180px);right:40px;max-width:min(600px,70vw)}}
@media(max-width:600px){.catalogIdentityTitle{font-size:10px}.catalogDescription{font-size:13px;line-height:1.45}.catalogScene.compact .catalogDescription{font-size:12px;line-height:1.35}.catalogScene.compact .catalogBreadcrumb button{font-size:10px}}
@media(prefers-reduced-motion:reduce){.catalogScene,.catalogArtFrame,.app #cubeScene,.catalogIdentityTitle{transition-duration:1ms}}
.identitySettings{margin:10px 0;border-top:1px solid #ffffff20;padding-top:8px}.identitySettings>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-size:13px}
.studioImage.universe{width:min(100%,234px);height:382px;border-radius:4px}.studioImage.universe:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 50%,#090b0d 100%)}
.conflictNotice{margin:12px 0;padding:14px;border:1px solid #ecd07080;border-radius:10px;background:#ecd0700c;font-size:13px;line-height:1.5}.conflictNotice p{margin:0 0 8px}.conflictNotice[hidden]{display:none}
.conflictComparison{padding:12px 0;border-top:1px solid #ccc;overflow-wrap:anywhere}.conflictComparison pre{max-height:180px;overflow:auto;font:12px/1.5 monospace}.conflictComparison label{padding:8px 0}.conflictComparison select{max-width:100%;min-height:44px;padding:8px;background:#fffdf4;color:#171612}

.catalogDescription{min-height:0;overflow:auto;pointer-events:auto;scrollbar-width:thin;overscroll-behavior:contain}.catalogBreadcrumb,.catalogCount{flex-shrink:0}.projectIntroduction{max-width:50ch;margin:18px auto;white-space:pre-line;line-height:1.6}

#adminLayer #studioConflictShortcut{font-size:11px;padding:6px 10px;margin-top:6px;min-height:44px;border-color:#ecd07080;color:#f3e3a1}#studioConflictShortcut[hidden]{display:none}
