/* Pearl atmosphere: visible CSS motion, with optional transparent particle detail. */
:root,:root[data-theme=porcelain]{--paper:#fafaf9;--panel:#eef0f3c7;--card:#ffffffdb;--ink:#272935;--muted:#747684;--line:#43445620}
body{isolation:isolate}
#page-shell{position:relative;z-index:1}
.pearl-atmosphere{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;background:var(--paper)}
.pearl-atmosphere:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 60%,#fff9 0,transparent 58%);z-index:2}
.pearl-cloud{position:absolute;border-radius:50%;filter:blur(55px);will-change:transform;opacity:.8}
.cloud-one{left:-40%;top:-53%;width:125%;height:140%;background:radial-gradient(ellipse,#d7d0eae6 0,#e4e4f0a6 34%,transparent 67%);animation:pearlCloudOne 11s ease-in-out infinite alternate}
.cloud-two{right:-45%;bottom:-60%;width:120%;height:140%;background:radial-gradient(ellipse,#cbdde9d9 0,#e6dde7bf 36%,transparent 69%);animation:pearlCloudTwo 13s ease-in-out infinite alternate}
.pearl-sweep{position:absolute;border-radius:50%;will-change:transform;filter:blur(5px)}
.sweep-one{width:160%;height:82%;left:-35%;top:2%;border-top:3px solid #ffffffed;border-bottom:48px solid #bfc7d52e;box-shadow:0 18px 38px #bfc9d326,inset 0 -9px 28px #fff9;transform:rotate(-18deg);animation:pearlSweepOne 9s ease-in-out infinite alternate}
.sweep-two{width:175%;height:100%;left:-48%;top:-26%;border-top:24px solid #e3dae54d;border-bottom:2px solid #fff;box-shadow:0 15px 28px #bfc3d51c;animation:pearlSweepTwo 12s ease-in-out infinite alternate}
.pearl-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none}
:root[data-theme=graphite] .pearl-cloud{opacity:.12}
:root[data-theme=graphite] .pearl-sweep{opacity:.18}
:root[data-theme=graphite] .pearl-atmosphere:before{opacity:.02}
:root[data-theme=iris] .pearl-cloud{opacity:.55}
.get-app{background:#ffffff40;backdrop-filter:blur(12px)}
.menu-panel{backdrop-filter:blur(25px)}
.theme-swatch[data-set-theme=porcelain]{background:linear-gradient(135deg,#fff,#d5d4e3 55%,#d9e8eb)}
.particle-presence{top:-12px;width:min(52vh,535px);height:min(52vh,535px);display:block;overflow:visible;aspect-ratio:1;pointer-events:none}
.particle-presence:after{display:none}
.orb-entrance,.orb-float,.pocket-orb-art{display:block;width:100%;height:100%}
.orb-float{animation:pocketFloat 6s ease-in-out infinite}
.pocket-orb-art{animation:pocketTurn 80s linear infinite;overflow:visible}
.orb-floor{display:block;position:absolute;left:31%;bottom:-5%;width:38%;height:3%;border-radius:50%;background:#7a819330;filter:blur(15px);animation:pocketShadow 6s ease-in-out infinite}
.home-stage.intro-playing .orb-entrance{animation:pocketArrive 2.1s cubic-bezier(.16,.75,.22,1) both}
.home-stage.intro-playing .home-copy{animation:pocketCopyArrive .8s ease both;animation-delay:.95s}
.home-stage.intro-playing .orb-floor{animation:pocketFloorArrive 2.1s ease both}
.home-footer .footer-controls .motion-toggle{display:inline-block}
@keyframes pearlCloudOne{from{transform:translate3d(-6%,-2%,0) rotate(-8deg) scale(.97)}to{transform:translate3d(18%,12%,0) rotate(11deg) scale(1.1)}}
@keyframes pearlCloudTwo{from{transform:translate3d(9%,4%,0) scale(1.08)}to{transform:translate3d(-17%,-13%,0) rotate(-13deg) scale(.97)}}
@keyframes pearlSweepOne{from{transform:translate3d(-4%,-7%,0) rotate(-19deg)}to{transform:translate3d(6%,11%,0) rotate(-4deg)}}
@keyframes pearlSweepTwo{from{transform:translate3d(3%,-4%,0) rotate(21deg)}to{transform:translate3d(-9%,9%,0) rotate(5deg)}}
@keyframes pocketFloat{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-14px) scale(1.025)}}
@keyframes pocketTurn{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes pocketShadow{0%,100%{transform:scaleX(1);opacity:.8}50%{transform:scaleX(.84);opacity:.5}}
@keyframes pocketArrive{0%{transform:scale(.08) rotate(-65deg);opacity:0;filter:blur(15px)}18%{opacity:1}68%{transform:scale(1.07) rotate(4deg);filter:blur(0)}100%{transform:scale(1) rotate(0);opacity:1;filter:blur(0)}}
@keyframes pocketCopyArrive{from{opacity:0;transform:translateY(16px);filter:blur(6px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes pocketFloorArrive{from{opacity:0;transform:scaleX(.05)}to{opacity:.8;transform:scaleX(1)}}
:root[data-theme=graphite] .pocket-orb-art{filter:brightness(2.5)}
@media(max-width:1100px){.particle-presence{width:min(49vh,480px);height:min(49vh,480px);top:-2px}}
@media(max-width:760px){.particle-presence{width:min(86vw,420px);height:min(86vw,420px);top:20px}.pearl-cloud{filter:blur(30px)}.sweep-one{border-bottom-width:32px}.home-footer{height:100px;grid-template-columns:1fr;gap:0;padding:14px 0}.home-footer .availability{max-width:none;align-self:center}.home-footer .footer-controls{width:100%;justify-content:space-between;gap:20px}.home-footer .motion-toggle,.home-footer .replay-intro{font-size:9px}.home-stage{height:calc(100svh - 180px)}.home-footer>.theme-controls{display:none}}
@media(max-width:380px){.particle-presence{width:88vw;height:88vw;top:22px}}
@media(prefers-reduced-motion:reduce){body:not(.motion-enabled) .pearl-cloud,body:not(.motion-enabled) .pearl-sweep,body:not(.motion-enabled) .orb-float,body:not(.motion-enabled) .pocket-orb-art,body:not(.motion-enabled) .orb-floor{animation:none}body:not(.motion-enabled) .intro-playing .orb-entrance,body:not(.motion-enabled) .intro-playing .home-copy{animation:none;opacity:1;transform:none;filter:none}}
