/* Home-Nest v28 — animated PWA launch screen. Only enabled in standalone mode. */
.hn-splash{display:none;position:fixed;inset:0;z-index:2147483000;overflow:hidden;isolation:isolate;align-items:center;justify-content:center;flex-direction:column;background:radial-gradient(ellipse 82% 54% at 51% 45%,rgba(110,151,119,.28),transparent 74%),linear-gradient(147deg,#163c35 5%,#1c4138 48%,#0b2421 100%);color:#f4f8f0;user-select:none;-webkit-user-select:none;touch-action:none;contain:layout paint;}
html.hn-splash-mode .hn-splash{display:flex;}
.hn-splash::before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(238,251,236,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(238,251,236,.035) 1px,transparent 1px);background-size:53px 53px;mask-image:linear-gradient(0deg,transparent 0%,#000 28%,#000 70%,transparent 100%);-webkit-mask-image:linear-gradient(0deg,transparent 0%,#000 28%,#000 70%,transparent 100%);pointer-events:none;}
.hn-splash::after{content:"";position:absolute;inset:auto -25% -36% -25%;height:67%;border-radius:50%;background:radial-gradient(ellipse,rgba(134,172,136,.14),transparent 68%);pointer-events:none;}
.hn-splash-shine{position:absolute;inset:-30% auto auto -32%;width:94vmin;height:94vmin;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.075),transparent 67%);pointer-events:none;}
.hn-splash-top{z-index:3;position:absolute;top:max(42px,env(safe-area-inset-top) + 25px);left:0;right:0;text-align:center;letter-spacing:.35em;font-size:10px;font-weight:700;color:#c3dcc6;opacity:0;animation:hn-splash-soft-in .7s ease .5s forwards;}
.hn-splash-top::before{content:"✧";display:block;font-size:22px;line-height:1.3;letter-spacing:0;color:#c0dba7;margin-bottom:9px;}
.hn-splash-days{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none;}
.hn-splash-day{position:absolute;top:-130px;left:var(--x);width:66px;height:80px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.88);border-radius:12px;background:linear-gradient(165deg,#fdfcf7,#e7eee5);color:#244b3c;box-shadow:0 18px 30px #001a142a,0 2px 2px #fff inset;opacity:0;transform:translate3d(0,-100px,0) rotate(-15deg);animation:hn-splash-leaf var(--duration,3s) cubic-bezier(.25,.55,.47,1) var(--delay,0s) both;will-change:transform,opacity;}
.hn-splash-day:before{content:"";position:absolute;top:0;left:0;right:0;height:18px;border-radius:11px 11px 0 0;background:#cadace;}
.hn-splash-day:after{content:"";position:absolute;top:4px;left:15px;right:15px;height:9px;border-left:4px solid #54765e;border-right:4px solid #54765e;}
.hn-splash-day span{font-size:8px;letter-spacing:.13em;font-weight:800;margin-top:16px;}
.hn-splash-day strong{font-family:Manrope,"DM Sans",sans-serif;font-size:27px;line-height:1.15;font-weight:800;}
.hn-splash-day.is-accent{background:linear-gradient(165deg,#edf3d8,#cfdcc3);}
.hn-splash-day.is-accent:before{background:#9dbda6;}
.hn-splash-center{isolation:isolate;position:relative;z-index:4;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 24px;margin-top:-18px;animation:hn-splash-center-in 1.05s cubic-bezier(.18,.8,.25,1) .16s both;}
.hn-splash-logo-shell{position:relative;width:152px;height:152px;display:grid;place-items:center;border-radius:41px;border:1px solid rgba(237,255,239,.34);background:linear-gradient(140deg,rgba(255,255,255,.21),rgba(255,255,255,.065));box-shadow:0 18px 55px rgba(0,0,0,.19),inset 0 1px 0 rgba(255,255,255,.28);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);}
.hn-splash-logo-shell:before,.hn-splash-logo-shell:after{content:"";position:absolute;inset:-15px;border:1px solid rgba(222,249,225,.16);border-radius:54px;animation:hn-splash-halo 2.9s ease-in-out infinite;pointer-events:none;}
.hn-splash-logo-shell:after{inset:-31px;border-color:rgba(202,242,210,.075);border-radius:68px;animation-delay:.5s;}
.hn-splash-logo{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:160px;height:160px;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.08));}
.hn-splash-name{margin:27px 0 0;font-family:Manrope,"DM Sans",sans-serif;font-size:clamp(32px,8vw,44px);letter-spacing:-.075em;line-height:1.15;font-weight:800;white-space:nowrap;text-shadow:0 4px 25px rgba(0,0,0,.12);}
.hn-splash-name i{font-style:normal;color:#bed8a6;}
.hn-splash-sub{font-size:10px;line-height:1.5;letter-spacing:.44em;font-weight:800;color:#d0e1d3;margin:12px 0 0;padding-left:.4em;}
.hn-splash-bottom{isolation:isolate;position:absolute;z-index:3;bottom:calc(45px + env(safe-area-inset-bottom));left:22px;right:22px;display:flex;flex-direction:column;align-items:center;gap:13px;animation:hn-splash-soft-in .65s ease .6s both;}
.hn-splash-caption{margin:0;color:#cee1cf;font-size:12px;line-height:1.5;text-align:center;letter-spacing:.02em;font-weight:500;}
.hn-splash-progress{width:120px;height:3px;border-radius:999px;background:rgba(232,248,231,.18);overflow:hidden;}
.hn-splash-progress span{display:block;height:100%;width:40%;border-radius:999px;background:linear-gradient(90deg,#a7c795,#edf0bc);animation:hn-splash-progress 1.8s ease-in-out infinite;}
html.hn-splash-leaving .hn-splash{animation:hn-splash-out .55s cubic-bezier(.37,.1,.55,1) forwards;pointer-events:none;}
@keyframes hn-splash-leaf{0%{opacity:0;transform:translate3d(0,-90px,0) rotate(var(--r0,-25deg)) scale(.83)}13%{opacity:var(--alpha,.63)}70%{opacity:var(--alpha,.63)}100%{opacity:0;transform:translate3d(var(--drift,30px),calc(100vh + 250px),0) rotate(var(--r1,75deg)) scale(.98)}}
@keyframes hn-splash-center-in{0%{opacity:0;transform:translateY(29px) scale(.86);filter:blur(8px)}60%{filter:blur(0)}100%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}
@keyframes hn-splash-soft-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes hn-splash-halo{0%,100%{transform:scale(1);opacity:.7}55%{transform:scale(1.065);opacity:1}}
@keyframes hn-splash-progress{0%{transform:translateX(-115%)}60%{transform:translateX(270%)}100%{transform:translateX(270%)}}
@keyframes hn-splash-out{0%{opacity:1;filter:blur(0)}100%{opacity:0;filter:blur(8px)}}
@media (max-width:620px){.hn-splash-logo-shell{width:137px;height:137px;border-radius:37px}.hn-splash-logo{width:155px;height:155px}.hn-splash-center{margin-top:-5px}.hn-splash-name{margin-top:27px}.hn-splash-day{width:55px;height:69px;border-radius:10px}.hn-splash-day:before{height:16px;border-radius:9px 9px 0 0}.hn-splash-day:after{left:12px;right:12px}.hn-splash-day span{font-size:8px}.hn-splash-day strong{font-size:23px}}
@media (prefers-reduced-motion:reduce){.hn-splash-day,.hn-splash-logo-shell:before,.hn-splash-logo-shell:after,.hn-splash-progress span{animation:none!important}.hn-splash-day{display:none}.hn-splash-center,.hn-splash-top,.hn-splash-bottom{animation:none!important;opacity:1;filter:none;transform:none}html.hn-splash-leaving .hn-splash{animation:hn-splash-out .12s ease forwards}}

.hn-splash-bottom::before{content:"";position:absolute;z-index:-1;left:-22px;right:-22px;top:-50px;bottom:-50px;background:linear-gradient(0deg,rgba(10,35,30,.78),rgba(10,35,30,0));pointer-events:none;}

.hn-splash-center::before{content:"";position:absolute;z-index:-1;inset:-68px -90px;background:radial-gradient(ellipse at center,rgba(19,53,45,.96) 7%,rgba(19,53,45,.78) 43%,rgba(19,53,45,.40) 63%,transparent 78%);pointer-events:none;}
