/* Nook opens like the approved folded map, greets once, then rests. */
@font-face{font-family:NookNunito;src:url("assets/assets/fonts/Nunito.ttf") format("truetype");font-weight:400 800;font-style:normal;font-display:swap}
html,body{background:#FAF7F0;color:#173D42}
#loading{z-index:10000;position:fixed;inset:0;display:grid;place-content:center;justify-items:center;text-align:center;padding:24px;box-sizing:border-box;background:#FAF7F0}
.nook-welcome{display:grid;justify-items:center;gap:2px;max-width:100%}
.nook-logo{width:min(300px,calc(100vw - 48px));aspect-ratio:1;position:relative;isolation:isolate}
.nook-panel{position:absolute;inset:0}
.nook-panel img,.nook-eye{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.nook-left{clip-path:inset(0 60.547% 0 0);transform-origin:39.453% 50%;animation:nook-unfold-left 520ms cubic-bezier(.16,1,.3,1) both}
.nook-center{clip-path:inset(0 39.453% 0 39.453%)}
.nook-right{clip-path:inset(0 0 0 60.547%);transform-origin:60.547% 50%;animation:nook-unfold-right 480ms 60ms cubic-bezier(.16,1,.3,1) both}
.nook-eye ellipse{transform-origin:187.793px 123.633px;animation:nook-wink 800ms ease-in-out both}
.nook-trail{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.nook-trail path{fill:none;stroke-width:2.5;stroke-linecap:round}
.nook-trail .track{stroke:#E3E3D9}
.nook-trail .ink{stroke:#F58C4E;stroke-dasharray:1;stroke-dashoffset:0;animation:nook-route 600ms 100ms cubic-bezier(.16,1,.3,1) both}
.nook-trail circle{fill:#173D42;animation:nook-endpoint 700ms both}
.nook-wordmark{font-family:NookNunito,system-ui,sans-serif;font-size:46px;font-weight:800;line-height:1.2;letter-spacing:-.5px;color:#173D42;animation:nook-type 420ms ease-out both}
#loading p{margin:20px 0 0;color:#53686A;font:15px/1.6 system-ui,sans-serif;max-width:30ch}
@keyframes nook-unfold-left{from{transform:perspective(900px) rotateY(-81deg)}to{transform:none}}
@keyframes nook-unfold-right{from{transform:perspective(900px) rotateY(81deg)}to{transform:none}}
@keyframes nook-wink{0%,66%,88%,100%{transform:scaleY(1)}76%{transform:scaleY(.12)}}
@keyframes nook-route{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes nook-endpoint{0%,66%{opacity:0}100%{opacity:1}}
@keyframes nook-type{from{opacity:.65}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.nook-welcome,.nook-welcome *{animation:none!important;transform:none!important}}
/* Used only by the local preview's explicit reduced-motion control. */
.nook-reduced .nook-welcome,.nook-reduced .nook-welcome *{animation:none!important;transform:none!important}
