/* v27: readable mobile catalog + calm sound cards. Loaded after legacy palettes. */
body .ntf-pdf-landing .ntf-pdf-card, body .ntf-pdf-landing a.ntf-pdf-card{box-sizing:border-box!important;min-height:0!important;height:auto!important;padding:19px!important;gap:8px!important;background:#fff!important;color:#1e2945!important;border:1px solid #d9e3ef!important;border-top:3px solid #6357ef!important;opacity:1!important;display:flex!important;flex-direction:column!important;position:relative!important;visibility:visible!important}
body .ntf-pdf-landing .ntf-pdf-card strong,body .ntf-pdf-landing .ntf-pdf-card h2,body .ntf-pdf-landing .ntf-pdf-card h3{color:#152541!important;opacity:1!important;visibility:visible!important;font-weight:800!important;font-size:18px!important;line-height:1.3!important;margin:0!important;position:static!important}
body .ntf-pdf-landing .ntf-pdf-card span:nth-child(3){color:#596981!important;opacity:1!important;font-size:14px!important;line-height:1.5!important;flex:initial!important}
body .ntf-pdf-landing .ntf-pdf-card b{color:#077e80!important;font-size:14px!important;margin-top:5px!important}
body .ntf-pdf-landing .ntf-pdf-symbol{font-size:26px!important;color:#16a9a6!important;position:static!important;opacity:1!important}
body .ntf-pdf-landing .ntf-pdf-card[hidden]{display:none!important}
body .ntf-pdf-landing .ntf-pdf-searchbar input{max-width:100%!important;background:white!important;color:#16253e!important;border:1px solid #b9cce7!important;font-size:16px!important}
@media(max-width:767px){body .ntf-pdf-landing{width:100%!important;max-width:100%!important;padding:12px 14px 30px!important;margin:0 auto!important;box-sizing:border-box!important}body .ntf-pdf-landing .ntf-pdf-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important;padding:0!important;width:100%!important}body .ntf-pdf-landing .ntf-pdf-card{min-height:0!important;height:auto!important;padding:16px 18px!important;border-radius:15px!important;gap:7px!important;transform:none!important;box-shadow:0 4px 13px #19345912!important}body .ntf-pdf-landing .ntf-pdf-card strong{font-size:18px!important}body .ntf-pdf-landing .ntf-pdf-card span:nth-child(3){font-size:14px!important}body .ntf-pdf-landing .ntf-pdf-intro h1{color:#17233e!important;font-size:28px!important}body .ntf-pdf-landing .ntf-pdf-intro p{color:#536581!important}}
/* Relax page is an immersive compact experience with one active sound and themed overlay. */
body .ntf-relax.ntf-relax-v27{max-width:960px!important;margin:22px auto 65px!important;color:#1c2b44!important;padding:0 16px!important;position:relative!important}
body .ntf-relax-v27 .ntf-relax-back{color:#5040bf!important;margin:0 0 14px!important;display:inline-flex!important}
body .ntf-relax-v27 .ntf-relax-hero{padding:25px 28px!important;border-radius:20px!important;background:linear-gradient(112deg,#eae9ff,#e2f5ff 60%,#dcf7eb)!important;min-height:0!important;box-shadow:0 9px 28px #293b6816!important}
body .ntf-relax-v27 .ntf-relax-hero h1{font-size:clamp(26px,3.5vw,36px)!important;color:#172a4a!important;margin:8px 0!important}
body .ntf-relax-v27 .ntf-relax-hero p{font-size:14px!important;line-height:1.6!important;color:#465a77!important;margin:0!important}
body .ntf-relax-v27 .ntf-relax-section-title{font-size:19px!important;color:#1c2b44!important;margin:22px 0 12px!important}
body .ntf-relax-v27 .ntf-relax-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important}
body .ntf-relax-v27 .ntf-sound-card{padding:16px 14px!important;min-height:133px!important;height:auto!important;border-radius:17px!important;background:#fff!important;border:1px solid #dbe3f4!important;box-shadow:0 5px 15px #22335c11!important;color:#1f2d4e!important;text-align:left!important;display:flex!important;flex-direction:column!important;gap:5px!important;opacity:1!important}
body .ntf-relax-v27 .ntf-sound-emoji{font-size:26px!important;margin:0!important}
body .ntf-relax-v27 .ntf-sound-name{font-size:16px!important;line-height:1.3!important;margin:0!important;color:#1d2e4a!important;opacity:1!important}
body .ntf-relax-v27 .ntf-sound-desc{font-size:12px!important;color:#586b84!important;margin:0!important}
body .ntf-relax-v27 .ntf-sound-action{font-size:12px!important;color:#584bd3!important;margin-top:auto!important;padding-top:5px!important}
body .ntf-relax-v27 .ntf-sound-card[aria-pressed=true]{border:2px solid #5146de!important;background:#f0f2ff!important;box-shadow:0 0 0 3px #6258ed18!important}
body .ntf-relax-v27 .ntf-relax-controls{padding:13px 17px!important;margin-top:13px!important;border-radius:15px!important;gap:14px!important;min-height:0!important;box-shadow:0 4px 15px #182c4311!important}
body .ntf-relax-v27 .ntf-relax-stop{padding:10px 15px!important}
body .ntf-relax-v27 .ntf-relax-status{color:#374e70!important;margin-top:12px!important}
body .ntf-relax-v27 .ntf-relax-help{font-size:12px!important;color:#63728b!important}
.ntf-weather-overlay{position:fixed;inset:0;pointer-events:none;z-index:80;overflow:hidden;display:none}
.ntf-weather-overlay[data-effect=rain],.ntf-weather-overlay[data-effect=ocean],.ntf-weather-overlay[data-effect=wind],.ntf-weather-overlay[data-effect=fire]{display:block}
.ntf-weather-overlay[data-effect=rain]{background:linear-gradient(160deg,#b5d9ff13,#c1e4fa12)}
.ntf-weather-drop{position:absolute;top:-35px;width:2px;height:18px;border-radius:50%;background:linear-gradient(transparent,#358bcf70);animation:ntf-rain-fall linear infinite}
@keyframes ntf-rain-fall{to{transform:translate3d(-80px,110vh,0)}}
.ntf-weather-overlay[data-effect=ocean]{background:radial-gradient(ellipse at 20% 100%,#4dbdff29,transparent 68%);animation:ntf-ocean 7s ease-in-out infinite alternate}
.ntf-weather-overlay[data-effect=wind]{background:linear-gradient(100deg,transparent,#95dfc623,transparent);animation:ntf-wind 6s ease-in-out infinite alternate}
.ntf-weather-overlay[data-effect=fire]{background:radial-gradient(ellipse at 85% 100%,#ff9e5430,transparent 50%);animation:ntf-ocean 3s ease-in-out infinite alternate}
@keyframes ntf-ocean{from{opacity:.35;transform:translateX(-5%)}to{opacity:1;transform:translateX(5%)}}
@keyframes ntf-wind{from{transform:translateX(-40%)}to{transform:translateX(40%)}}
@media(max-width:800px){body .ntf-relax-v27 .ntf-relax-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:480px){body .ntf-relax-v27 .ntf-relax-hero{padding:21px!important}body .ntf-relax-v27 .ntf-relax-grid{gap:9px!important}body .ntf-relax-v27 .ntf-sound-card{padding:12px!important;min-height:125px!important}body .ntf-relax-v27 .ntf-relax-controls{align-items:flex-start!important}body .ntf-relax-v27 .ntf-relax-controls input[type=range]{width:125px!important}}
@media(prefers-reduced-motion:reduce){.ntf-weather-drop,.ntf-weather-overlay{animation:none!important}.ntf-weather-overlay{display:none!important}}
/* v28: visible, lightweight animated weather effects for each selected sound. */
.ntf-weather-overlay{isolation:isolate;contain:layout paint}
.ntf-weather-overlay[data-effect=wind]{background:linear-gradient(100deg,transparent,#a5e9d60c,transparent)}
.ntf-wind-leaf{position:absolute;font-style:normal;display:block;color:#50aa86;filter:drop-shadow(0 1px 2px #165b3933);animation:ntf-drift-leaf linear infinite;will-change:transform}
.ntf-wind-streak{position:absolute;width:33%;height:1px;border-radius:100%;background:linear-gradient(90deg,transparent,#46b99c62,transparent);animation:ntf-drift-streak linear infinite;will-change:transform}
@keyframes ntf-drift-leaf{from{transform:translate3d(-70px,0,0) rotate(-20deg)}to{transform:translate3d(calc(100vw + 120px),var(--drift),0) rotate(450deg)}}
@keyframes ntf-drift-streak{from{transform:translateX(-10vw);opacity:0}15%{opacity:.65}85%{opacity:.65}to{transform:translateX(145vw);opacity:0}}
.ntf-weather-overlay[data-effect=ocean]{background:linear-gradient(180deg,transparent 45%,#7dd8ff1f 100%)}
.ntf-ocean-wave{position:absolute;left:-20%;width:140%;height:100px;border:3px solid #42b3df78;border-color:#42b3df78 transparent transparent transparent;border-radius:50% 55% 0 0;animation:ntf-wave-rock ease-in-out infinite alternate;will-change:transform}
.ntf-ocean-bubble{position:absolute;border:1px solid #29a4c788;border-radius:50%;background:#90e9ff20;animation:ntf-bubble-rise linear infinite;will-change:transform}
@keyframes ntf-wave-rock{from{transform:translateX(-5%) translateY(12px) rotate(-1deg)}to{transform:translateX(5%) translateY(-16px) rotate(1deg)}}
@keyframes ntf-bubble-rise{from{transform:translateY(5vh);opacity:0}15%{opacity:.55}80%{opacity:.4}to{transform:translateY(-80vh);opacity:0}}
.ntf-weather-overlay[data-effect=fire]{background:radial-gradient(ellipse at 50% 100%,#ffba6630,transparent 66%)}
.ntf-fire-spark{position:absolute;background:#ffad36;border-radius:50%;box-shadow:0 0 8px 2px #ff792355;animation:ntf-spark-rise ease-out infinite;will-change:transform}
@keyframes ntf-spark-rise{from{transform:translate3d(0,0,0) scale(1);opacity:0}12%{opacity:.8}70%{opacity:.65}to{transform:translate3d(var(--spark-drift),-75vh,0) scale(.2);opacity:0}}
@media(prefers-reduced-motion:reduce){.ntf-wind-leaf,.ntf-wind-streak,.ntf-ocean-wave,.ntf-ocean-bubble,.ntf-fire-spark{display:none!important;animation:none!important}}

/* v31: delicate sound-specific overlays, static layer with independently animated particles. */
.ntf-weather-overlay[data-effect="roof"],.ntf-weather-overlay[data-effect="forest"],
.ntf-weather-overlay[data-effect="stream"],.ntf-weather-overlay[data-effect="crickets"]{display:block}
.ntf-weather-overlay[data-effect]{animation:none!important;transform:none!important;opacity:1!important;}
.ntf-weather-overlay[data-effect="rain"],.ntf-weather-overlay[data-effect="roof"]{background:linear-gradient(170deg,#cfeaff0a,transparent 65%)}
.ntf-weather-overlay[data-effect="wind"],.ntf-weather-overlay[data-effect="forest"]{background:linear-gradient(120deg,#b7f3d10a,transparent 80%)}
.ntf-weather-overlay[data-effect="ocean"],.ntf-weather-overlay[data-effect="stream"]{background:linear-gradient(180deg,transparent 70%,#58c8f112)}
.ntf-weather-overlay[data-effect="fire"]{background:radial-gradient(ellipse at 50% 110%,#ffb95c17,transparent 55%)}
.ntf-weather-overlay[data-effect="crickets"]{background:linear-gradient(170deg,#111d3b05,transparent)}
.ntf-weather-overlay .ntf-wind-leaf{filter:none!important}
.ntf-weather-overlay .ntf-ocean-wave{height:68px;border-width:2px;opacity:.23}
.ntf-roof-drip{position:absolute;width:2px;height:25px;background:linear-gradient(#6eaed300, #6eaed365);border-radius:50%;animation:ntf-roof-drop linear infinite}
@keyframes ntf-roof-drop{0%{transform:translateY(-20px);opacity:0}20%{opacity:.35}100%{transform:translateY(105vh);opacity:0}}
.ntf-forest-glint,.ntf-night-firefly{position:absolute;width:5px;height:5px;border-radius:50%;background:#9ce8b0;box-shadow:0 0 10px #9ce8b088;animation:ntf-ambient-twinkle ease-in-out infinite}
.ntf-night-firefly{background:#e9d879;box-shadow:0 0 9px #e9d87999}
@keyframes ntf-ambient-twinkle{0%,100%{opacity:0;transform:translate(0,0) scale(.5)}50%{opacity:.48;transform:translate(11px,-18px) scale(1.05)}}
.ntf-stream-ripple{position:absolute;border:1px solid #51bbdc80;border-radius:50%;animation:ntf-stream-ripple 5s ease-out infinite}
@keyframes ntf-stream-ripple{0%{transform:scale(.4);opacity:0}30%{opacity:.28}100%{transform:scale(5);opacity:0}}
@media(max-width:700px){.ntf-weather-overlay .ntf-wind-leaf{font-size:12px!important}.ntf-weather-overlay .ntf-ocean-wave{height:50px}}
@media(prefers-reduced-motion:reduce){.ntf-roof-drip,.ntf-night-firefly,.ntf-forest-glint,.ntf-stream-ripple{display:none!important;animation:none!important}}
