/* V1.1: additions scoped away from the cube, game and carousel geometry. */
.categoryAnchor{position:absolute;left:0;top:0;width:148px;height:86px;pointer-events:auto}
.categories{position:absolute;inset:0;width:100%;height:86px;display:grid;place-items:center start;background:none;border:0;padding:0 8px;transition:opacity .25s ease;touch-action:manipulation}
/* Same filter as Partners. Source is the supplied black transparent PNG. Its
   full ascender/descender height is respected: no crop, stretch or re-lettering. */
.categories img{width:70.5px;height:auto;opacity:.86;filter:invert(1) brightness(1.7) drop-shadow(0 0 10px rgba(255,255,255,.08)) drop-shadow(4px 4px 0 rgba(244,219,49,.20)) drop-shadow(-2px 2px 0 rgba(255,74,189,.18)) drop-shadow(2px -2px 0 rgba(47,124,255,.18))}
.categoryAnchor.expanded .categories{opacity:0;pointer-events:none}
.categoryPopover{position:absolute;inset:0;width:100%;height:86px;background:transparent;border:0;padding:0}
.compactNames{height:86px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;touch-action:pan-y;-webkit-overflow-scrolling:touch;mask-image:linear-gradient(to bottom,transparent 0%,#000 22%,#000 78%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 22%,#000 78%,transparent 100%);padding:22px 3px;scroll-snap-type:y proximity}
.compactNames::-webkit-scrollbar{display:none}
.compactNames button{display:block;width:100%;min-height:36px;padding:5px 6px;text-align:left;scroll-snap-align:center;color:#f6f7fa;background:transparent;border:0;font-size:13px;letter-spacing:.04em;line-height:1.5;overflow-wrap:anywhere;touch-action:pan-y}
.compactNames button[aria-pressed=true]{color:#f1edcb;text-shadow:0 0 10px #a2e0df65}
.compactNames .categoryBack{font-size:10px;letter-spacing:.02em;color:#aeb7c0}
.categoryPopover[hidden],#languageChoices[hidden]{display:none!important}
.srOnly{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#rail{transition:opacity 180ms ease}
#rail.catalogChanging{opacity:0;pointer-events:none}
/* The existing top area has free margins. These controls do not affect flow. */
.app>.takeBreak{top:calc(env(safe-area-inset-top,0px) + 52px)!important;left:calc(env(safe-area-inset-left,0px) + 10px)!important;height:44px!important;min-width:86px!important;max-width:86px!important;width:86px!important;padding:0 4px!important;z-index:19}
.app>.takeBreak img{width:78px!important;height:auto!important;opacity:.66!important}
.languageWidget{position:absolute;right:calc(env(safe-area-inset-right,0px) + 10px);top:calc(env(safe-area-inset-top,0px) + 52px);z-index:19;color:#e4e6e9}
#languageToggle{display:flex;align-items:center;justify-content:center;width:66px;min-height:44px;border:0;background:transparent;color:inherit;padding:7px;touch-action:manipulation}
#languageDrawing{display:block;width:52px;height:auto;max-height:30px;object-fit:contain;opacity:.86;filter:invert(1) drop-shadow(0 0 5px #ffffff18)}
#languageChoices{position:absolute;right:0;top:47px;min-width:114px;padding:5px;background:#11151bf2;border:1px solid #ffffff24;border-radius:15px;box-shadow:0 12px 28px #0006}
#languageChoices button{display:block;width:100%;min-height:44px;text-align:left;background:none;border:0;color:inherit;font-size:12px;padding:9px}
#languageChoices button[aria-pressed=true]{color:#eee8bf}
.translationFields{margin:10px 0 18px;border-left:1px solid #ffffff25;padding-left:12px}
.translationFields summary{font-size:12px;color:#b5bac4;cursor:pointer;padding:8px 0}
.taxonomyEditor,.preparedImport{margin-bottom:20px;border:1px solid #ffffff1c;border-radius:12px;padding:12px}
.taxonomyEditor>summary,.preparedImport>summary{cursor:pointer;padding:6px;font-size:13px}
.taxonomyProject{border-top:1px solid #ffffff1a;padding:10px 0}
#adminLayer .classification{padding-bottom:12px}
@media(min-width:601px){.categories img{width:76.5px}}
@media(max-width:600px){.categoryAnchor,.categories,.categoryPopover,.compactNames{height:84px}.compactNames button{font-size:12px}.categories{padding-left:3px}.categoryAnchor{width:138px}}
@media(prefers-reduced-motion:reduce){#rail{transition-duration:1ms}.categories{transition-duration:1ms}}

/* Native image retains the former canvas box; float/rotation live on its unchanged parents. */
.brandAnimation{display:block}

/* V1.1.3 — shared ink treatment; original assets and touch targets retained. */
.categories img,#partners img,.app>.takeBreak img,#languageDrawing{filter:invert(var(--fd-ink-invert,1)) brightness(1.7) drop-shadow(0 0 10px #ffffff14) drop-shadow(4px 4px 0 #f4db3133) drop-shadow(-2px 2px 0 #ff4abd2e) drop-shadow(2px -2px 0 #2f7cff2e)!important;opacity:.86!important}
#languageDrawing{width:46px}
.catalogEmpty{position:absolute;top:64px;left:50%;transform:translateX(-50%);width:min(80vw,360px);text-align:center;font-size:13px;line-height:1.7;color:#b9bec8;letter-spacing:.025em}
.editorialPreview{font-family:inherit;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.6;padding:12px;border:1px solid #ffffff25;border-radius:10px}
.editorialReview{max-height:85dvh;overflow:auto}

.app>.takeBreak img{--fd-ink-invert:0}

.editorialReview .studioToggle{display:flex;align-items:center;gap:9px;min-height:44px;line-height:1.5}.editorialReview input[type=checkbox]{flex:0 0 20px;width:20px;height:20px}
.downloadRow{padding:12px 0;border-top:1px solid #0002}.downloadRow h4{margin:0 0 8px}.mediaDownload{display:inline-flex;align-items:center;min-height:44px;line-height:1.4;text-decoration:none}.downloadRow .studioHelp{overflow-wrap:anywhere}

/* V1.1.4: only the five authorised mobile controls move; flow is untouched. */
@media(max-width:600px){
 .hero>.eyebrow{transform:translateY(-8px)}
 .app>.takeBreak,.languageWidget{top:calc(env(safe-area-inset-top,0px) + 44px)!important}
 .categoryAnchor{top:-8px;left:calc(env(safe-area-inset-left,0px) + 10px)}
 .beneathCubePartner{top:-8px!important;right:calc(env(safe-area-inset-right,0px) + 10px)!important}
}
/* V1.1.4-r1: align actual ink, not the transparent file rectangles.
   Categories ink starts at y=23/477; Partners at y=110/420 inside its
   existing clip. Partners grows uniformly by 10%; x compensation preserves
   its visible right edge (x=695/810). Buttons, anchors and menus are unchanged. */
.beneathCubePartner .partners img{width:74.25px!important;height:38.5px!important;transform:translate(9.96px,1.28px)}
@media(min-width:601px){.beneathCubePartner .partners img{width:80.63px!important;height:41.8px!important;transform:translate(10.84px,1.40px)}}

/* New folder imports: no carousel geometry change, no automatic full-original preload. */
#rail .tile .folderPoster{width:100%;height:100%;object-fit:cover;background:#050506;pointer-events:none}
#rail .tile video.landscapePreview{object-fit:cover}
.folderImport{margin:22px 0;padding:16px;border:1px solid #ffffff28;border-radius:12px}
.folderImport progress{width:100%;height:12px}.folderImport ol{padding-left:22px;font:13px/1.6 Arial;overflow-wrap:anywhere}
.folderImport .importActions{display:flex;gap:8px;flex-wrap:wrap}.folderImport [hidden]{display:none!important}

/* Catalogue candidate: only media inside existing cards, project sheet and editor. */
.categoryChecks{border:1px solid #ffffff20;border-radius:10px;padding:10px;margin:12px 0}.categoryChecks>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.categoryChecks legend{font-size:13px}.categoryChecks .studioToggle{min-height:44px}
.projectDetail .layerInner{position:relative;padding-top:max(28px,env(safe-area-inset-top));padding-bottom:max(28px,env(safe-area-inset-bottom))}.projectOriginalCover{display:block;max-width:100%;width:auto;max-height:65svh;margin:20px auto;object-fit:contain}.projectActions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.projectActions button{min-height:44px;padding:10px 16px;border:1px solid #ffffff50;background:transparent;color:inherit;border-radius:6px}
.videoRotateHint{position:absolute;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 76px);transform:translateX(-50%);pointer-events:none;opacity:.6;z-index:4}.videoRotateHint[hidden]{display:none}.videoRotateHint img{display:block;width:44px;height:48px;object-fit:contain;animation:fdSuggestTurn 3s ease-in-out 1}@keyframes fdSuggestTurn{0%,100%{transform:rotate(0)}50%{transform:rotate(-90deg)}}@media(prefers-reduced-motion:reduce){.videoRotateHint img{animation:none}}
.bugReviewRow{border-top:1px solid #ffffff25;padding:12px 0}.bugPosterReview img{display:block;width:min(100%,280px);height:auto;margin:8px 0}
