/* Canonical geometry and opaque brand colors; reflections exist only in motion. */
.branded-ending{background:radial-gradient(ellipse at 50% 28%,#24372c33,transparent 48%),#080503!important;isolation:isolate}
.brand-assembly{position:absolute;left:50%;top:21%;width:500px;height:500px;transform:translate(-50%,-50%) scale(.4);perspective:1400px;transform-style:preserve-3d;pointer-events:none}
.brand-stack{position:absolute;inset:0;transform-style:preserve-3d}
.brand-layer{position:absolute;inset:0;transform-origin:center;filter:none;will-change:transform,opacity}
.brand-layer>img,.brand-canonical{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:none}
.brand-layer[data-layer=c4]{z-index:1}.brand-layer[data-layer=c3]{z-index:2}.brand-layer[data-layer=c2]{z-index:3}.brand-layer[data-layer=c1]{z-index:4}
.brand-reflection{position:absolute;inset:0;background:linear-gradient(125deg,transparent 25%,#fff9 43%,transparent 60%);mask-image:var(--layer-mask);mask-size:contain;mask-repeat:no-repeat;opacity:0;pointer-events:none}
.brand-canonical{visibility:visible}
.ending-brand-name{position:absolute;top:calc(21% + 92px);left:0;width:100%;font:600 25px var(--ui);color:#f2e5d3;letter-spacing:-.035em}.ending-brand-name span{color:#ffae5c}
.branded-ending .ending-copy{top:43%;left:88px;width:1264px;text-align:center}
.branded-ending h2{font-size:80px;line-height:1.08;max-width:1100px;color:#f2e5d3;margin-bottom:24px}
.branded-ending p{font-size:22px;margin-bottom:34px;color:#c9ae96}
.branded-ending .ending-actions{justify-content:center}
.branded-ending .ending-actions a:active{transform:scale(.97)}
.branded-ending>.motion-replay{top:40px;right:88px}
.m-start{position:relative;background:radial-gradient(ellipse at 50% 20%,#17232180,transparent 65%),#080503!important}
.m-start .brand-assembly{position:relative;left:auto;top:auto;width:160px;height:160px;margin:0 auto 30px;transform:none;perspective:1000px}
.m-start .motion-replay{top:45px;right:24px}
.ending-inspector{position:absolute;left:50%;top:30px;transform:translateX(-50%);display:flex;gap:6px;z-index:30}
.ending-inspector button{background:#201911;border:1px solid #f2e5d344;border-radius:4px;color:#f2e5d3;padding:8px;font:12px var(--mono);cursor:pointer}
@media(max-width:960px){.ending-inspector{top:6px;gap:2px;width:max-content}.ending-inspector button{font-size:10px;padding:5px}}
@media(prefers-reduced-motion:reduce){.brand-layer{will-change:auto}.brand-reflection{display:none}}

.ending-reference{position:absolute;left:100px;top:21%;margin:0;transform:translateY(-50%);width:200px;text-align:center}.ending-reference img{display:block;width:200px;height:200px}.ending-reference figcaption{position:absolute;top:205px;left:0;right:0;font:12px var(--mono);color:#bca68e}

.ending-compact .ending-copy{top:41%}.ending-compact h2{font-size:68px}.ending-compact p{font-size:20px}.ending-compact .ending-actions a{height:56px;min-height:56px}.ending-compact footer{bottom:45px}
/* The ending replaces the filename surface in its existing pinned viewport. */
.filename-story.captive #start{z-index:12;pointer-events:none}
.filename-story.captive #start .ending-actions{pointer-events:auto}
.branded-ending{background:transparent!important}
.branded-ending::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 28%,#24372c33,transparent 48%),#080503;opacity:var(--closing-cover,1);pointer-events:none}
.filename-story.captive #filenames .scene-inner>.node{transform-origin:50% 50%}
