/* The carousel is a gallery of architectural apertures. */
html:not(.no-js) main>#selected-detail,html:not(.no-js) body>.site-footer{display:none}
html:not(.no-js) body[data-initial-room="true"]:not([data-ready="true"])>.site-header,html:not(.no-js) body[data-initial-room="true"]:not([data-ready="true"])>main{visibility:hidden}
body[data-site="appdock"] .app-carousel{height:calc(100svh - 78px);min-height:min(590px,calc(100svh - 78px));max-height:none}
.app-carousel .hero-bottom{bottom:53px}
body[data-site="appdock"] .app-carousel .hero-copy{bottom:126px}
.home-colophon{position:absolute;bottom:12px;left:var(--pad);right:var(--pad);display:flex;align-items:center;justify-content:space-between;color:#737575;font-size:8px}
.home-colophon .registration{margin:0;gap:16px;font-size:8px}
.home-colophon .registration img{width:10px;height:10px;filter:grayscale(1);opacity:.65}
.no-js .home-colophon{display:none}
.app-carousel .hero-top h1{font-family:inherit;letter-spacing:-.055em;font-weight:550}
.app-carousel .hero-top .eyebrow{letter-spacing:.14em}
.app-carousel .hero-top>span{max-width:220px}
.app-carousel .carousel-coordinate{top:126px}
.room-entry-hint{position:absolute;top:var(--room-hint-top,60%);left:50%;transform:translateX(-50%);pointer-events:none;color:#a8a0b0;font-size:9px;letter-spacing:.1em;display:flex;align-items:center;gap:9px;white-space:nowrap}
.room-entry-hint::before{content:'';width:4px;height:4px;border-radius:50%;background:#b9859d}
.app-carousel .hero-copy{z-index:2}
.carousel-actions #hero-explore{border-radius:100px;padding-inline:24px;background:#f0e7da;color:#28231e;border-color:#f0e7da;gap:28px}
.carousel-actions #hero-explore:hover{background:#ddc7ad;border-color:#ddc7ad;color:#101011}
.app-carousel .carousel-caption{border-color:#53505766}
.app-carousel canvas{touch-action:pan-y}
.app-carousel .hero-canvas{background:radial-gradient(ellipse at 50% 43%,#2c26322e,transparent 62%)}
.app-carousel .hero-canvas::after{opacity:.13}
.app-carousel .hero-tabs button{background:#17151a;border-bottom-color:#37333e;transition:background .3s,border-color .3s,color .3s}
.app-carousel .hero-tabs button[aria-pressed="true"]{background:#262029;border-color:#c49b83}
.app-carousel .carousel-controls>.icon-button{background:#17151a;border-color:#37333e}

/* Interaction lives above the gallery; native controls keep their own cursor. */
.home-interaction{position:fixed;inset:0;z-index:30;pointer-events:none;overflow:hidden}
.home-cursor,.home-trail,.home-pulse{display:block;position:absolute;top:0;left:0;opacity:0;pointer-events:none}
.home-cursor{width:32px;height:32px;border:1px solid #c6b1ca70;border-radius:50%;box-shadow:0 0 20px #b188b318;transition:border-color .25s,opacity .2s;will-change:transform}
.home-cursor::after{content:'';position:absolute;width:3px;height:3px;left:calc(50% - 1.5px);top:calc(50% - 1.5px);border-radius:50%;background:#dfd1df;box-shadow:0 0 8px #c6a8c5}
.home-cursor[data-mode="link"]{border-color:#d4a9c2a0;background:#c3a7c308}
.home-trail{width:3px;height:3px;margin:-1.5px;border-radius:50%;background:#d7c6d7;box-shadow:0 0 10px #bb91b8;will-change:transform,opacity}
.home-pulse{width:112px;height:112px;border-radius:50%;border:1px solid #d5bacb8a;background:radial-gradient(circle,transparent 48%,#cba9c81a 69%,transparent 72%);box-shadow:0 0 25px #c49abe14,inset 0 0 20px #c49abe0d}
.home-pulse::after{content:'';position:absolute;inset:13%;border-radius:inherit;border:1px solid #d5bacb24}
body[data-view="room"] .home-cursor,body[data-view="room"] .home-trail,body[data-paused="true"] .home-interaction{display:none}
@media(hover:none),(pointer:coarse){.home-cursor,.home-trail{display:none}}
@media(prefers-reduced-motion:reduce){.home-interaction{display:none}}

.app-room{--room-accent:#d1b7c4;--room-shade:.26;inset:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;border:0;background:#131216;color:#efedf0;overflow:hidden}
.app-room::backdrop{background:#101011}
.app-room .room-world{position:absolute;inset:0;width:100%;height:100svh;pointer-events:none}
.room-world canvas{display:block;width:100%;height:100%}
.room-world::after{content:'';position:absolute;inset:0;background:#111014;opacity:var(--room-shade);transition:opacity .7s ease}
.app-room[data-phase="entering"] .room-world::after,.app-room[data-phase="leaving"] .room-world::after{opacity:0}
.room-toolbar{position:absolute;inset:0 0 auto;z-index:4;height:86px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #ffffff18;background:linear-gradient(#141318bd,#14131840);backdrop-filter:blur(15px);transition:opacity .5s ease;--accent:var(--room-accent)}
.room-toolbar button{display:flex;align-items:center;gap:11px;font:inherit;font-size:11px;color:inherit;border:0;background:transparent;cursor:pointer;padding:12px 0}
.room-toolbar button:hover{color:var(--room-accent)}
.room-toolbar svg{width:17px;height:17px}
.room-toolbar .room-number{font-size:10px;color:var(--room-accent);letter-spacing:.14em}
.room-toolbar h2{font-size:14px;font-weight:450;margin:0}
.room-toolbar-title{display:flex;align-items:center;gap:24px}
.room-toolbar-aside{display:flex;align-items:center;gap:25px;font-size:11px}
.room-language{color:#b9b5bf}
.room-language:hover{color:var(--room-accent)}
.room-product-name{font-size:11px;color:#ded9e1}
.room-scroll{position:relative;z-index:2;height:100%;overflow-y:auto;overscroll-behavior:contain;scroll-behavior:smooth;scrollbar-color:var(--room-accent) #25232b;transition:opacity .6s ease,transform .8s cubic-bezier(.2,.7,.2,1);scroll-padding-top:108px;outline:none}
.app-room[data-phase="entering"] .room-scroll,.app-room[data-phase="leaving"] .room-scroll{opacity:0;transform:translateY(24px);pointer-events:none}
.app-room[data-phase="entering"] .room-toolbar,.app-room[data-phase="leaving"] .room-toolbar{opacity:0;pointer-events:none}
.app-room[data-phase="leaving"] .room-scroll,.app-room[data-phase="leaving"] .room-toolbar{transition-duration:.2s}
.app-room .site-footer{display:block;background:#151419}
.app-room #selected-detail{--accent:var(--room-accent);--fg:#f0edf1;--muted:#bcb7c1;--line:#ffffff24;background:transparent}
.app-room .selected-strip{display:none}
.app-room .detail-opening{min-height:100svh;box-sizing:border-box;padding-top:150px;padding-bottom:90px;align-items:center;gap:8%;background:linear-gradient(90deg,#141218bd 0%,#14121870 47%,#14121800 80%)}
.app-room .detail-opening-copy{max-width:570px;text-shadow:0 2px 24px #14101888}
.app-room .detail-opening .section-kicker{color:var(--room-accent);letter-spacing:.12em}
.app-room .detail-opening h2{font-size:clamp(30px,3.65vw,58px);font-family:inherit;line-height:1.35;letter-spacing:-.045em;font-weight:450}
.app-room .detail-app-name{font-size:13px;color:#e4dfe7;margin-bottom:22px}
.app-room .detail-description{color:#d6d0da;font-size:14px;line-height:1.95;max-width:39ch}
.app-room .detail-opening .preview-note{color:#ccc4d0}
.app-room .detail-opening .media-frame{background:#211d27ba;border-color:#e5deeb2b;box-shadow:0 24px 90px #0005;backdrop-filter:blur(16px);transform:none}
.app-room .detail-visual{background:transparent;min-height:210px}
.app-room .detail-opening .visual-caption{color:#d4cdd9}
.app-room .detail-opening .scene-orbit{opacity:.3}
.app-room .detail-features,.app-room .selected-story-intro,.app-room .selected-story,.app-room .detail-screenshots,.app-room .selected-download,.app-room .selected-faq,.app-room .selected-ending{background:#151419f5}
.app-room .detail-features{border-top:1px solid #e8e8df24}
.app-room .story-pin{top:86px;min-height:calc(100svh - 86px)}
.app-room .detail-section,.app-room .selected-faq,.app-room .selected-ending{--detail-rule:#ffffff25}
.app-room .story-mobile-chapters{display:block;padding:0 var(--pad)}
.app-room .selected-story{height:auto;min-height:0}
.app-room .selected-story>.story-pin{display:none}
.app-room .story-mobile-chapters article{min-height:75svh;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8%;padding:80px 0;border-bottom:1px solid #ffffff20}
.app-room .story-mobile-chapters article>div{min-width:0}
.app-room .story-mobile-chapters article:nth-child(even)>div:first-child{order:2}
.app-room .story-mobile-chapters .story-copy h3{font-size:clamp(28px,3vw,46px);font-family:inherit;letter-spacing:-.04em}
.app-room .selected-story .story-mobile-chapters .selected-chapter-visual{width:100%;height:auto;aspect-ratio:1.2;max-height:600px}
.app-room .selected-story .story-mobile-chapters .story-copy p{font-size:13px}
.app-room .selected-ending .text-link{color:var(--room-accent)}
.app-room :focus-visible{outline:2px solid var(--room-accent);outline-offset:5px}
.app-room[data-product="pick"]{--room-accent:#d1b7c4}
.app-room[data-product="aura"]{--room-accent:#bfc4d5}
.app-room[data-product="stone"]{--room-accent:#cec6bd}
.app-room[data-product="pond"]{--room-accent:#bbc9c7}
.app-room[data-product="binarow"]{--room-accent:#c4c8bd}
@media(max-width:700px){
  body[data-site="appdock"] .app-carousel{height:calc(100svh - 65px);min-height:min(425px,calc(100svh - 65px))}
  .app-carousel .hero-top>span{font-size:8px;max-width:120px}
  .app-carousel .carousel-coordinate{display:none}
  .room-entry-hint{font-size:8px;letter-spacing:.06em}
  .carousel-actions #hero-explore{height:29px;padding:0 13px;font-size:10px}
  .room-toolbar{height:66px;padding-inline:20px;gap:10px}
  .room-toolbar button{font-size:10px;gap:7px}
  .room-toolbar h2{font-size:12px}
  .room-toolbar-title{gap:10px}
  .room-toolbar .room-number{font-size:8px}
  .room-product-name{display:none}
  .room-toolbar-aside{font-size:10px;gap:0}
  .home-colophon{justify-content:center;bottom:9px}
  .home-colophon>span{display:none}
  .home-colophon .registration{gap:9px;font-size:7px}
  .app-carousel .hero-bottom{bottom:42px}
  body[data-site="appdock"] .app-carousel .hero-copy{bottom:118px}
  .room-scroll{scroll-padding-top:90px}
  .app-room .detail-opening{padding-top:115px;padding-bottom:55px;gap:35px;min-height:100svh;background:linear-gradient(0deg,#151219dc,#15121955)}
  .app-room .detail-opening h2{font-size:33px;max-width:15ch}
  .app-room .detail-opening .detail-description{font-size:12px;max-width:35ch}
  .app-room .detail-app-name{margin-bottom:15px;font-size:11px}
  .app-room .detail-opening .media-frame{transform:none;max-width:420px;margin:auto}
  .app-room .detail-visual{height:240px;min-height:160px}
  .app-room .story-mobile-chapters article{display:flex;flex-direction:column;gap:28px;padding:55px 0;min-height:0;align-items:stretch}
  .app-room .story-mobile-chapters article:nth-child(even)>div:first-child{order:0}
  .app-room .story-mobile-chapters .story-copy h3{font-size:27px}
  .app-room .selected-story .story-mobile-chapters .selected-chapter-visual{height:300px;max-height:none}
  .app-room .selected-story .story-mobile-chapters .story-copy p{font-size:12px}
}
@media(prefers-reduced-motion:reduce){.room-scroll{scroll-behavior:auto}.room-world::after,.room-toolbar,.room-scroll{transition:none}}
