.nf-page{--u:min(76px, calc((100vw - 2 * var(--layout-gutter)) / 12.4), max(34px, calc((100dvh - 380px) / 4.9)));--stage-w:calc(12.3 * var(--u));--ink:#141a2b;min-height:100dvh;color:var(--ink);background:linear-gradient(168deg,#f1f4fa 0%,#eaeef6 58%,#eff2f9 100%);flex-direction:column;flex:1 0 auto;display:flex;position:relative;overflow:clip}body:has(.nf-page) .site-nav{display:none}.nf-bar{z-index:2;width:100%;max-width:var(--layout-max-width);padding:clamp(18px, 3vh, 32px) var(--layout-gutter) 0;justify-content:space-between;align-items:center;margin-inline:auto;display:flex;position:relative}.nf-mark{letter-spacing:-.03em;color:var(--ink);font-size:clamp(24px,2.1vw,32px);font-weight:600;line-height:1;text-decoration:none}.nf-mark .mark-dot{color:var(--color-brand)}.nf-body{z-index:1;padding:clamp(24px, 4vh, 48px) var(--layout-gutter) clamp(32px, 6vh, 64px);text-align:center;flex-direction:column;flex:1 0 auto;justify-content:center;align-items:center;display:flex;position:relative}.nf-title{letter-spacing:-.035em;margin:clamp(28px,4.5vh,48px) 0 0;font-size:clamp(1.625rem,2.5vw,2.375rem);font-weight:600;line-height:1.1}.nf-home{border-radius:var(--radius-pill);letter-spacing:-.01em;height:46px;color:var(--ink);transition:transform .2s var(--ease-reveal);background:linear-gradient(145deg,#fff 0%,#eceff5 100%);align-items:center;gap:8px;margin-top:clamp(20px,3.5vh,32px);padding-inline:20px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex;box-shadow:6px 6px 16px #9faec766,-4px -4px 12px #ffffffe6,inset 1.5px 1.5px 1px #fffffff2,inset -1.5px -1.5px 1.5px #9faec74d}@media (hover:hover){.nf-home:hover{transform:translateY(-1px)}}.nf-home:active{background:linear-gradient(145deg,#e9ecf3 0%,#fbfcfe 100%);box-shadow:inset 3px 3px 6px #9faec76b,inset -2px -2px 5px #ffffffe6}.nf-home:focus-visible,.nf-mark:focus-visible{outline:2px solid var(--color-brand);outline-offset:4px}.nf-stage{width:var(--stage-w);height:calc(4.9 * var(--u));touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;position:relative}.nf-bubble{--tile:calc(var(--u) * var(--s));left:calc(var(--x) * var(--u) - var(--tile) / 2);top:calc(var(--y) * var(--u) - var(--tile) / 2);z-index:1;width:var(--tile);height:var(--tile);cursor:pointer;animation:nf-bob var(--beat) ease-in-out var(--lag) infinite;position:absolute}.nf-bubble--lead{z-index:2}.nf-bubble.is-popped{animation-play-state:paused}.nf-bubble-face{border-radius:calc(var(--tile) / 3.4);width:100%;height:100%;color:var(--ink);box-shadow:calc(var(--tile) * .1) calc(var(--tile) * .13) calc(var(--tile) * .26) #96a5be6b, calc(var(--tile) * -.06) calc(var(--tile) * -.06) calc(var(--tile) * .16) #ffffffd9, inset calc(var(--tile) * .03) calc(var(--tile) * .03) calc(var(--tile) * .04) #fffffff2, inset calc(var(--tile) * -.03) calc(var(--tile) * -.04) calc(var(--tile) * .08) #96a5be38;transform:rotate(var(--rot));animation:nf-in .56s var(--ease-reveal) calc(var(--i) * 22ms) both;transition:transform .22s var(--ease-reveal);background:linear-gradient(145deg,#f7f9fd 0%,#e6ebf4 100%);place-items:center;display:grid;position:relative}.nf-bubble-face svg{width:calc(var(--tile) * .36);height:calc(var(--tile) * .36);opacity:.85;transition:opacity .22s var(--ease-reveal), transform .22s var(--ease-reveal)}@media (hover:hover){.nf-bubble:not(.is-popped):hover .nf-bubble-face{transform:rotate(var(--rot)) scale(1.05)}}.nf-bubble.is-popped .nf-bubble-face{box-shadow:inset calc(var(--tile) * .07) calc(var(--tile) * .08) calc(var(--tile) * .14) #96a5be7a, inset calc(var(--tile) * -.06) calc(var(--tile) * -.06) calc(var(--tile) * .12) #ffffffe6, 0 0 0 1px #9faec724;transform:rotate(var(--rot)) scale(.88);animation:nf-pop .32s var(--ease-reveal);background:linear-gradient(145deg,#e3e8f1 0%,#f2f5fa 100%)}.nf-bubble.is-popped .nf-bubble-face svg{opacity:.22;transform:scale(.78)}.nf-bubble-face:after{content:"";border-radius:inherit;opacity:0;pointer-events:none;border:2px solid #3d7dfb8c;position:absolute;inset:0}.nf-bubble.is-popped .nf-bubble-face:after{animation:nf-burst .48s var(--ease-reveal)}.nf-dash{left:calc(var(--x) * var(--u) - var(--u) * .22);top:calc(var(--y) * var(--u) - var(--u) * .045);width:calc(var(--u) * .44);height:calc(var(--u) * .09);background:var(--color-brand);transform:rotate(var(--r));animation:nf-dash-in .5s var(--ease-reveal) calc(.7s + var(--i) * 80ms) both, nf-twinkle 3.2s ease-in-out calc(1.2s + var(--i) * .7s) infinite;border-radius:99px;position:absolute}.nf-room{display:none}@media (min-width:1180px){.nf-room{pointer-events:none;display:block;position:absolute;inset:0}}.nf-tile{--tile:clamp(84px, 7vw, 116px);--rot:0deg;--beat:14s;--lag:0s;--beside:max(24px, calc(50% - var(--stage-w) / 2 - var(--tile) - 64px));width:var(--tile);height:var(--tile);border-radius:calc(var(--tile) / 3.2);color:var(--ink);transform:rotate(var(--rot));animation:nf-float var(--beat) ease-in-out var(--lag) infinite;background:linear-gradient(145deg,#f2f5fb 0%,#e5eaf4 100%);place-items:center;display:grid;position:absolute;box-shadow:12px 14px 26px #a3b1c67a,-10px -10px 22px #ffffffeb,inset 1px 1px 1px #fff9,inset -1px -1px 1px #a3b1c638}.nf-tile svg{width:calc(var(--tile) * .34);height:calc(var(--tile) * .34);opacity:.82}.nf-tile--tl{left:var(--beside);--rot:-12deg;--lag:-3s;top:15%}.nf-tile--tr{right:var(--beside);--rot:11deg;--beat:16s;--lag:-8s;top:16%}.nf-tile--bl{left:var(--beside);--rot:-9deg;--beat:15s;--lag:-6s;bottom:18%}.nf-tile--br{right:var(--beside);--rot:-8deg;--beat:13.5s;--lag:-1s;bottom:16%}@keyframes nf-bob{0%,to{transform:translate(0,0)}50%{transform:translate3d(0, calc(var(--tile) * -.05), 0)}}@keyframes nf-float{0%,to{transform:translate3d(0, 0, 0) rotate(var(--rot))}50%{transform:translate3d(0, -12px, 0) rotate(calc(var(--rot) + 3deg))}}@keyframes nf-in{0%{opacity:0;transform:rotate(var(--rot)) scale(.4)}}@keyframes nf-pop{0%{transform:rotate(var(--rot)) scale(1)}35%{transform:rotate(var(--rot)) scale(.74, .82)}to{transform:rotate(var(--rot)) scale(.88)}}@keyframes nf-burst{0%{opacity:.9;transform:scale(.9)}to{opacity:0;transform:scale(1.7)}}@keyframes nf-dash-in{0%{opacity:0;transform:rotate(var(--r)) scaleX(0)}}@keyframes nf-twinkle{0%,to{opacity:1}50%{opacity:.45}}@media (max-width:639px){.nf-dash{display:none}}@media (max-width:479px){.nf-bubble-face svg{display:none}}@media (prefers-reduced-motion:reduce){.nf-bubble,.nf-bubble-face,.nf-bubble.is-popped .nf-bubble-face,.nf-bubble.is-popped .nf-bubble-face:after,.nf-dash,.nf-tile{animation:none}}
