/* V36: scoped additions. Original V35 public composition remains in the HTML. */
.beneathCubePartner{width:148px!important;right:0!important}
.beneathCubePartner .partners{justify-items:end!important;overflow:visible!important}
.beneathCubePartner .partners img{width:67.5px!important;height:35px!important;object-fit:fill!important;object-position:right!important;transform:translateX(9px);clip-path:inset(24% 13.7% 32% 14%)}
@media(min-width:601px){.beneathCubePartner .partners img{width:73.3px!important;height:38px!important;transform:translateX(9.8px)}}
img.fdCropped,.studManifestHero img.fdCropped,#cube .face img.fdCropped{position:absolute!important;inset:auto!important;left:var(--crop-left)!important;top:var(--crop-top)!important;width:var(--crop-w)!important;height:var(--crop-h)!important;max-width:none!important;max-height:none!important;object-fit:fill!important;transform:none!important}
#homeBackdrop img.fdCropped{filter:brightness(var(--home-brightness,.75))!important}
/* Mask the banner viewport so fading remains at its edge after a crop. */
.studCropStage{position:absolute;inset:0;z-index:-2;overflow:hidden;mask-image:linear-gradient(#000 70%,transparent 100%);-webkit-mask-image:linear-gradient(#000 70%,transparent 100%)}
.studManifestHero .studBanner.fdCropped{mask-image:none!important;-webkit-mask-image:none!important}
#adminLayer{--studio-accent:#e9e4bf;--studio-muted:#a9afb8;--studio-border:#ffffff1c;background:#101114!important;color:#f3f1ed!important;overscroll-behavior:contain;scrollbar-gutter:stable}
#adminLayer [hidden],dialog [hidden]{display:none!important}
#adminLayer .studioShell{max-width:800px;min-height:100dvh;margin:auto;padding:0 20px calc(32px + env(safe-area-inset-bottom));font-size:14px}
#adminLayer .studioTop{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(18px + env(safe-area-inset-top)) 0 18px;background:#101114ee;backdrop-filter:blur(16px);border-bottom:1px solid var(--studio-border)}
.studioTop h1{font-size:22px;letter-spacing:-.045em;margin:0}.studioTop small{display:block;margin-top:5px;color:var(--studio-muted);font-size:11px}.studioIntro{color:var(--studio-muted);line-height:1.55;font-size:13px;margin:18px 0 22px}.studioIntro b{color:#eeebdc;font-weight:500}
#adminLayer button,.cropDialog button,.breakPanel button{min-height:44px;border:1px solid #ffffff24;border-radius:12px;background:#ffffff08;color:#f3f1ed;padding:10px 14px;touch-action:manipulation;font:inherit}
#adminLayer button:hover,.cropDialog button:hover{background:#ffffff12}
#adminLayer button:focus-visible,.cropDialog :focus-visible{outline:2px solid #e9e4bf;outline-offset:3px}
#adminLayer .primary,.cropDialog .primary{background:#e9e4bf!important;color:#161713!important;font-weight:650;border-color:transparent}
#adminLayer input,#adminLayer textarea,#adminLayer select{display:block;width:100%;min-width:0;font:inherit;font-size:16px;line-height:1.45;border:1px solid #ffffff24!important;border-radius:10px;background:#191b20!important;color:#f3f1ed!important;padding:12px;accent-color:#e9e4bf}
#adminLayer input[type=range]{height:40px;padding:0;border:0!important;background:transparent!important;touch-action:pan-y}
#adminLayer input[type=checkbox]{display:inline-block;width:22px;height:22px;min-height:0;vertical-align:middle;margin:0 8px 0 0}
#adminLayer input[type=file]{font-size:13px;padding:10px}
#adminLayer input::file-selector-button{border:0;border-radius:6px;background:#e9e4bf;color:#151713;padding:10px;margin-right:12px}
#adminLayer label{display:block;margin:16px 0 7px;font-size:13px;color:#dadce0}
#adminLayer textarea{min-height:120px;resize:vertical}
.studioSection{border-top:1px solid var(--studio-border)}.studioSection:last-of-type{border-bottom:1px solid var(--studio-border)}
.studioSection>summary{list-style:none;display:flex;gap:14px;align-items:center;min-height:76px;padding:18px 0;cursor:pointer;touch-action:manipulation;user-select:none}
.studioSection>summary::-webkit-details-marker{display:none}.studioNumber{font-size:11px;color:#81858c;align-self:center;font-variant-numeric:tabular-nums}.studioSectionTitle{flex:1;font-size:17px;letter-spacing:-.025em}.studioSectionTitle small{display:block;font-size:11px;color:#858b94;margin-top:5px;letter-spacing:0;font-weight:400}.studioChevron{color:#bec0c4;transition:transform .18s;font-size:20px}.studioSection[open]>summary .studioChevron{transform:rotate(90deg)}.studioSection[open]>summary .studioSectionTitle{color:var(--studio-accent)}.studioSectionBody{padding:0 0 24px 28px}.studioHelp{font-size:12px;line-height:1.6;color:var(--studio-muted)}
.studioGroup{padding:16px 0 20px;border-bottom:1px solid var(--studio-border)}.studioGroup:last-child{border-bottom:0}.studioGroup h3{margin:0 0 12px;font-size:15px}.studioButtons{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.studioButtons .danger,.rowMenu .danger{color:#f3b2a9!important}
.studioImage{position:relative;width:100%;height:170px;overflow:hidden;background:#08090b;border:1px solid #ffffff1a;border-radius:12px;margin:10px 0}.studioImage img{width:100%;height:100%;object-fit:cover}.studioImage.card{width:150px;height:200px}.studioImage.square{width:150px;height:150px}.studioImage.background{width:150px;height:220px}.studioImage .miniLogo{position:absolute;width:58%;height:51%;left:21%;top:24.5%;object-fit:contain;filter:drop-shadow(0 3px 6px #0009);pointer-events:none}
.sortList{display:grid;gap:8px}.sortRow{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;gap:4px;background:#181a1f;border:1px solid #ffffff13;border-radius:12px;min-height:66px;padding:5px}
#adminLayer .dragHandle{width:40px;min-height:48px;padding:0;border:0;background:transparent;font-size:23px;color:#999d9f;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;cursor:grab}
#adminLayer .rowOpen{border:0;background:none;text-align:left;font-size:13px;line-height:1.4;padding:8px;overflow-wrap:anywhere}.rowOpen small{display:block;color:#9299a3;font-size:11px;margin-top:3px}.sortRow.dragging{outline:1px solid #e9e4bf;background:#272a2b;opacity:.55}.dragGhost{position:fixed;z-index:20001;pointer-events:none;max-width:75vw;padding:15px 20px;background:#e9e4bf;color:#171914;border-radius:12px;font:600 14px Arial;box-shadow:0 10px 35px #0007}
.rowMenu>summary{list-style:none;cursor:pointer;text-align:center;padding:10px 0;min-height:44px;font-size:22px}.rowMenu>summary::-webkit-details-marker{display:none}.rowMenu[open]{z-index:4}.rowMenuBox{position:absolute;right:6px;top:57px;min-width:190px;padding:12px;background:#25282e;box-shadow:0 12px 28px #0008;border:1px solid #ffffff26;border-radius:12px;z-index:4}.rowMenuBox label{margin-top:0!important}.rowMenuBox button{width:100%;margin-top:8px}.inlineEditor{margin:12px 0 20px;padding:16px;border:1px solid #e9e4bf40;border-radius:14px;background:#16181b}.inlineEditor h3{margin:0 0 10px;font-size:15px}.inlineEditor video{width:100%;max-height:280px;border-radius:10px;background:#000;margin-top:10px}.studioStatus{font-size:12px;color:#bbc8ac;min-height:20px;margin:18px 0;line-height:1.5}.studioStatus.error{color:#ffb7aa}.studioStatus[role=status]{position:sticky;bottom:0;z-index:5;background:#101114ee;padding:12px;border-radius:10px;backdrop-filter:blur(10px)}
.cubeEditorFace{border:1px solid #ffffff1a;border-radius:12px;margin:8px 0;overflow:hidden}.cubeEditorFace>summary{padding:16px;cursor:pointer;font-size:14px}.cubeEditorFace>div{padding:0 16px 18px}.studioEmpty{padding:18px;color:#a2a7af;font-size:13px;text-align:center}.studioToggle{display:flex!important;align-items:center}
.cropDialog{border:1px solid #ffffff25;border-radius:20px;background:#111316;color:#f4f4f0;padding:0;width:min(720px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 20px);margin:auto;overflow:hidden;overscroll-behavior:contain;box-shadow:0 20px 90px #0009}
.cropDialog::backdrop{background:#000c;backdrop-filter:blur(8px)}.cropShell{height:min(800px,calc(100dvh - 22px));display:flex;flex-direction:column;padding:18px;gap:12px}.cropHead{display:flex;align-items:center;justify-content:space-between;gap:10px}.cropHead h2{font:600 18px Arial;margin:0}.cropHead button{font-size:24px;min-width:44px;padding:4px}.cropHint,.cropStatus{font:12px/1.5 Arial;color:#aeb6c1;margin:0}.cropArea{flex:1;min-height:70px;display:flex;align-items:center;justify-content:center;overflow:hidden}.cropViewport{position:relative;overflow:hidden;background:#050506;touch-action:none;user-select:none;-webkit-user-select:none;outline:1px solid #eee8;border-radius:3px}.cropPhoto{position:absolute;max-width:none;max-height:none;pointer-events:none}.cropGrid{position:absolute;inset:0;pointer-events:none;border:1px solid #fff9;background:linear-gradient(to right,transparent 33.1%,#ffffff50 33.3%,transparent 33.5%,transparent 66.4%,#ffffff50 66.6%,transparent 66.8%),linear-gradient(to bottom,transparent 33.1%,#ffffff50 33.3%,transparent 33.5%,transparent 66.4%,#ffffff50 66.6%,transparent 66.8%)}.cropLogo{position:absolute;left:21%;top:24.5%;width:58%;height:51%;object-fit:contain;opacity:.75;pointer-events:none}.cropTools{display:flex;gap:8px;justify-content:center;align-items:center}.cropTools output{font:12px Arial;min-width:50px;text-align:center}.cropActions{display:flex;justify-content:flex-end;gap:8px;padding-bottom:env(safe-area-inset-bottom)}
@media(max-width:480px){#adminLayer .studioShell{padding-left:16px;padding-right:16px}.studioSectionBody{padding-left:0}.studioSectionTitle{font-size:16px}.cropShell{padding:14px;gap:10px}.cropDialog{width:100vw;height:100dvh;max-height:none;border:0;border-radius:0}.cropShell{height:100dvh;padding-top:calc(12px + env(safe-area-inset-top));padding-bottom:12px}}
@media(prefers-reduced-motion:reduce){.studioChevron{transition:none}}
.breakPanel{max-width:680px;margin:0 auto;padding:0 12px 16px;position:relative;z-index:16;background:linear-gradient(180deg,#080b0ed9,#06080bc9);border-radius:16px}.breakPanel[hidden]{display:none!important}.breakActive .carouselWrap>.rail,.breakActive .carouselWrap>.captionArea{display:none!important}.breakHeader{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 0}.breakHeader>span{font:11px Arial;letter-spacing:.16em}.breakHeader>div{display:flex;gap:6px}.breakHeader button{font:11px Arial;min-height:36px;padding:8px 10px;border-radius:20px}.breakHud{display:flex;justify-content:space-between;font:10px Arial;letter-spacing:.08em;color:#aab8be}.breakPanel canvas{display:block;width:100%;height:clamp(230px,37vh,360px);touch-action:none;outline:none}.breakPanel canvas:focus-visible{outline:1px solid #eeead4;border-radius:8px}.breakPanel p{font:11px/1.4 Arial;text-align:center;margin:6px 0;color:#b8c1c7}.breakActive .carouselWrap{min-height:340px!important}
/* V37: drag preview never changes the capture owner's DOM ancestry. */
.sortList{position:relative}
.dropMarker{position:absolute;left:0;right:0;height:3px;pointer-events:none;background:#e9e4bf;border-radius:4px;box-shadow:0 0 12px #e9e4bf55;z-index:4}
.dropMarker:before{content:'';position:absolute;left:-3px;top:-3px;width:9px;height:9px;border-radius:50%;background:#e9e4bf}
body.studioDragging{cursor:grabbing;user-select:none;-webkit-user-select:none}
.dragGhost{max-width:min(270px,72vw);padding:12px 15px;font-size:12px;line-height:1.4;overflow-wrap:anywhere}
/* V37: its own full-height scene, outside the carousel's stacking context. */
.breakPanel{position:fixed;inset:0;z-index:1000;width:100%;height:100vh;height:100dvh;max-width:none;margin:0;padding:0;border-radius:0;overflow:hidden;background:#070b0e;color:#e9e6ce;overscroll-behavior:none}
.breakShell{width:100%;box-sizing:border-box;max-width:650px;height:100%;margin:0 auto;display:flex;flex-direction:column;padding:env(safe-area-inset-top) max(12px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(12px,env(safe-area-inset-left))}
.breakHeader{flex:0 0 auto;min-height:62px;padding:8px 2px 7px;gap:10px}
.breakHeader>span{font:11px Arial;letter-spacing:.17em;color:#eeead3}
.breakHeader small{display:block;color:#7f9293;font:8px Arial;letter-spacing:.12em;margin-top:7px}
.breakHeader button{min-height:44px;min-width:62px;font-size:12px;padding:10px 12px;border-color:#b8c9c52a;border-radius:24px}
.breakHud{padding:3px 5px 10px;flex:0 0 auto;font:10px Arial;font-variant-numeric:tabular-nums;color:#a3b6b5}
.breakStage{position:relative;flex:1 1 0;min-height:0;width:100%}
.breakPanel canvas{width:100%;height:100%;display:block;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.breakPanel p{flex:0 0 auto;font:11px/1.4 Arial;min-height:29px;margin:0;padding:7px 0 6px;color:#acb7ae}
.breakPanel button:focus-visible,.breakPanel canvas:focus-visible{outline:2px solid #e9e4bf;outline-offset:-2px}
.breakActive .app{visibility:hidden}
@media(max-height:470px){.breakHeader{min-height:48px;padding:2px 0}.breakHeader small{display:none}.breakHud{padding-bottom:4px}.breakPanel p{min-height:22px;padding:4px 0;font-size:10px}}
