/* Phones (html.phone, set by boot.js): keep the look, drop the expensive parts.
   Blur layers, full-screen filters and endless decorative animations are what made scrolling stutter and pushed
   memory high enough for the browser to reload the tab. */
html.phone *,html.phone *::before,html.phone *::after{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
html.phone{--card:rgba(16,22,54,.92)}
html.phone .grain,html.phone .vignette{display:none!important}
html.phone .aurora{animation:none!important;transform:none!important;filter:none!important}
html.phone #sky,html.phone .orn{transform:none!important}
html.phone .card::after,html.phone .card::before{animation:none!important}
html.phone .comet,html.phone .cur-ring,html.phone .cur-dot{display:none!important}
html.phone #pattern i:nth-child(n+8){display:none}
html.phone .hero-cover img{filter:none}
html.phone .shelf,html.phone .box,html.phone .lf{box-shadow:none}
/* sections far off screen are not laid out or painted until they come near */
html.phone main>section:not(.hero):not(#forever){content-visibility:auto;contain-intrinsic-size:auto 900px}
html.phone .card::after,html.phone .box::after,html.phone .qz-box::after,html.phone .chapter2::after,html.phone .st2::after,html.phone .city::after,html.phone .moon-card::after,html.phone .cw::after,html.phone .meet::after,html.phone .rp::after,html.phone .jar::after{animation:none!important}
/* sealed photos: a dimmed photo behind the lock instead of a 14px blur on every image */
html.phone.sealed .m .pics img,html.phone.sealed .polaroid img{filter:none!important;transform:none!important;opacity:.07}
html.phone.sealed .m .pics figure,html.phone.sealed .polaroid .ph{background:linear-gradient(160deg,#1a2350,#0a1030)}
html.phone .ambi,html.phone .duo-map .arc.glow{display:none!important}
html.phone .kin .w{filter:none!important}
/* no permanent GPU layers per card on phones (each one held a full copy of the card and its photos in memory) */
html.phone .card,html.phone .stats>div,html.phone .polaroid,html.phone .term.big,html.phone .orb{will-change:auto!important}
html.phone .film{animation-duration:calc(var(--n,10) * 4s)}
.gate.skip{transition:none!important}
/* calm mode (all devices): fewer moving decorations */
html.calm #petals,html.calm #fireflies,html.calm .grain,html.calm #catch,html.calm .comet,html.calm .cur-ring,html.calm .cur-dot,html.calm .wxfx{display:none!important}
html.calm .aurora{animation:none!important;transform:none!important}
html.calm #sky,html.calm .orn{transform:none!important}
html.calm .vignette{opacity:1!important}
html.calm .card::after,html.calm .box::after,html.calm .qz-box::after,html.calm .chapter2::after,html.calm .st2::after,html.calm .city::after,html.calm .moon-card::after,html.calm .cw::after,html.calm .meet::after,html.calm .rp::after,html.calm .jar::after{animation:none!important}
