.nf-scene{--nf-orange-700:var(--color-primary-deep);--nf-orange-600:var(--color-primary);--nf-orange-500:#f2a35f;--nf-orange-400:#e8935e;--nf-orange-300:var(--color-primary-soft);--nf-sky-50:var(--color-cream);--nf-sky-100:#f9ead7;--nf-sky-200:#f5d8b2;--nf-sky-300:#f3cea0;--nf-sand-100:#faf0e1;--nf-sand-200:#efd8b9;--nf-sand-300:#e5c9a4;--nf-sand-400:#f2dab0;--nf-ink-900:var(--color-ink);--nf-ink-850:#322c25;--nf-ink-800:#2d251f;--nf-ink-700:#37302a;--nf-ink-600:var(--color-ink-soft);--nf-ink-500:#564c3e;--nf-stone-300:#c9bba6;--nf-stone-400:#b7a88f;--nf-plum-600:var(--color-plum);--nf-plum-700:#5a3042;--nf-green-400:#8a9b6f;--nf-win-off:#473f38;--nf-watermark:#d96d3f1a;--nf-sun-glow-1:#f2a35f38;--nf-sun-glow-2:#f2a35f52;--nf-cloud:#fbf4ea;--nf-night-sky-1:#1f1419;--nf-night-sky-2:#2e1f25;--nf-night-sky-3:#3c2920;--nf-night-sky-4:#603b24;--nf-night-city:#211b18;--nf-night-win:#fbbd60;--nf-night-alps-back:#392d32;--nf-night-alps-front:#2f2328;--nf-night-snow:#c9bca6;--nf-night-lake:#2c2125;--nf-night-glint:#e6d3b3;--nf-night-ground:#2b2622;--nf-night-ground-line:#544d45;--nf-night-pebble:#534d46;--nf-night-pebble-2:#48433d;--nf-night-grass:#4d5445;--nf-night-rock:#9a8e7e;--nf-night-crack:#625a50;--nf-night-gull:#ede4d4;--nf-night-gull-wing:#d2c4ac;--nf-night-gull-far:#ad9e85;--nf-night-moon:#faf0e1;--nf-night-star:#fbefda;--nf-night-hud:#dbd0bd;--nf-night-watermark:#f0e8db12}.nf-c-star{fill:var(--nf-orange-600);stroke:var(--nf-orange-700)}.nf-c-cape{fill:var(--nf-plum-600)}.nf-c-cape-fold{stroke:var(--nf-plum-700)}.nf-c-cheek{fill:var(--nf-orange-400)}.nf-legs,.nf-eyes-x,.nf-mouth-smile{stroke:var(--nf-ink-900)}.nf-f-ink{fill:var(--nf-ink-900)}.nf-f-cream{fill:var(--nf-sky-50)}.nf-c-rock{fill:var(--nf-ink-600)}.nf-c-crack{stroke:var(--nf-ink-850)}.nf-c-rim{stroke:var(--nf-orange-400)}.nf-c-gull{fill:var(--nf-ink-800)}.nf-c-wing-far{fill:var(--nf-ink-500)}.nf-c-beak{fill:var(--nf-orange-600)}.nf-c-city{fill:var(--nf-ink-700)}.nf-c-city-line{stroke:var(--nf-ink-700)}.nf-c-win{fill:var(--nf-win-off)}.nf-c-alps-back{fill:var(--nf-sand-200)}.nf-c-alps-front{fill:var(--nf-sand-300)}.nf-c-snow{fill:var(--nf-sand-100)}.nf-c-lake{fill:var(--nf-sand-400)}.nf-c-glint{stroke:var(--nf-sand-100)}.nf-c-hull{fill:var(--nf-ink-700)}.nf-c-mast{stroke:var(--nf-ink-700)}.nf-c-sail{fill:var(--nf-orange-300)}.nf-c-pebble{fill:var(--nf-stone-300)}.nf-c-pebble-dark{fill:var(--nf-stone-400)}.nf-c-grass{stroke:var(--nf-green-400)}.nf-hero{background:var(--color-cream);padding:0}.nf-intro{text-align:center;pointer-events:none;padding:clamp(24px,7vh,72px) 24px 0;transition:opacity .45s,transform .45s;position:absolute;inset:0 0 auto}.nf-intro .nf-actions{justify-content:center;margin-top:0}.nf-intro .nf-actions a{pointer-events:auto}.nf-scene[data-phase=running] .nf-intro{opacity:0;transform:translateY(-16px)}.nf-scene[data-phase=running] .nf-intro a{pointer-events:none}.nf-scene[data-phase=dead] .nf-overlay{justify-content:flex-end;padding-bottom:clamp(24px,6vh,72px)}.nf-scene[data-phase=dead] .nf-intro{padding-top:8px}@media (max-width:640px){.nf-scene[data-phase=dead] .nf-intro{transform:translateY(-20%)}}.nf-title{font-family:var(--font-display);letter-spacing:-.02em;text-wrap:balance;max-width:780px;margin:10px auto 12px;font-size:clamp(38px,5vw,62px);font-weight:500;line-height:1.04}.nf-title em{color:var(--color-primary);font-style:italic}.nf-sub{color:var(--color-ink-soft);text-wrap:pretty;max-width:600px;margin:0 auto 22px;font-size:17px}.nf-rise{animation:.7s cubic-bezier(.2,.7,.2,1) both nf-rise}.nf-hero .eyebrow.nf-rise{animation-delay:0s}.nf-title.nf-rise{animation-delay:60ms}.nf-sub.nf-rise{animation-delay:.12s}.nf-scene.nf-rise{animation-delay:.18s}.nf-actions.nf-rise{animation-delay:.28s}@keyframes nf-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.nf-scene{background:linear-gradient(var(--nf-sky-50) 0%, var(--nf-sky-100) 48%, var(--nf-sky-200) 76%, var(--nf-sky-300) 100%);-webkit-user-select:none;user-select:none;touch-action:none;cursor:pointer;height:max(460px,100dvh - 72px);position:relative;overflow:hidden}.nf-watermark{font-family:var(--font-display);letter-spacing:.03em;color:var(--nf-watermark);pointer-events:none;justify-content:center;align-items:center;font-size:clamp(96px,20vw,190px);font-weight:600;line-height:1;display:flex;position:absolute;inset:0}.nf-sun{background:var(--nf-orange-500);width:58px;height:58px;box-shadow:0 0 0 14px var(--nf-sun-glow-1), 0 0 60px 30px var(--nf-sun-glow-2);border-radius:50%;position:absolute;top:34px;right:12%}.nf-cloud{background:var(--nf-cloud);opacity:.9;pointer-events:none;border-radius:999px;width:96px;height:20px;position:absolute;left:-180px}.nf-cloud:before{content:"";background:inherit;border-radius:999px;width:44px;height:22px;position:absolute;top:-11px;left:22px}.nf-cloud-1{animation:64s linear infinite nf-drift;top:46px}.nf-cloud-2{animation:88s linear 12s infinite nf-drift;top:92px;transform:scale(.7)}.nf-cloud-3{animation:76s linear 34s infinite nf-drift;top:26px;transform:scale(.55)}@keyframes nf-drift{0%{translate:1500px}to{translate:-160px}}.nf-layer{will-change:transform;pointer-events:none;display:flex;position:absolute;left:0}.nf-layer>svg{flex:none;display:block}.nf-layer-alps{bottom:128px}.nf-layer-city{bottom:36px}.nf-layer-ground{bottom:0}.nf-ground-base{background:var(--color-cream-deep);border-top:2.5px solid var(--nf-ink-850);height:44px;position:absolute;bottom:0;left:0;right:0}.nf-hud{font-family:var(--font-geist-mono);letter-spacing:.12em;color:var(--color-ink-soft);gap:16px;font-size:13px;display:flex;position:absolute;top:36px;right:18px}.nf-hud .nf-hi{opacity:.55}.nf-score.nf-flash{color:var(--color-primary);animation:.45s steps(2,jump-none) 2 nf-blink}@keyframes nf-blink{0%{opacity:1}to{opacity:.15}}.nf-player{will-change:transform;width:90px;height:88px;position:absolute;bottom:40px;left:76px}.nf-player svg{transform-origin:50% 100%;transition:transform .12s ease-out;display:block;overflow:visible}.nf-body,.nf-cape,.nf-leg{transform-box:view-box;transition:transform .16s ease-out}.nf-body{transform-origin:60px 52px}.nf-cape{transform-origin:56px 40px}.nf-leg-l{transform-origin:50px 90px}.nf-leg-r{transform-origin:70px 90px}.nf-eyes-x,.nf-mouth-o{opacity:0}.nf-player[data-pose=idle] .nf-body{animation:2.6s ease-in-out infinite nf-breathe}.nf-player[data-pose=idle] .nf-cape{animation:3.2s ease-in-out infinite nf-cape-idle}@keyframes nf-breathe{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes nf-cape-idle{0%,to{transform:rotate(0)}50%{transform:rotate(-5deg)scaleX(.97)}}.nf-player[data-pose=run] .nf-body{animation:.3s ease-in-out infinite nf-run-bob}.nf-player[data-pose=run] .nf-leg-l{animation:.26s linear infinite nf-run-leg-a}.nf-player[data-pose=run] .nf-leg-r{animation:.26s linear infinite nf-run-leg-b}.nf-player[data-pose=run] .nf-cape{animation:.5s ease-in-out infinite nf-cape-run}@keyframes nf-run-bob{0%,to{transform:translateY(0)rotate(.5deg)}50%{transform:translateY(-3.5px)rotate(-1.5deg)}}@keyframes nf-run-leg-a{0%,to{transform:rotate(32deg)}50%{transform:rotate(-32deg)}}@keyframes nf-run-leg-b{0%,to{transform:rotate(-32deg)}50%{transform:rotate(32deg)}}@keyframes nf-cape-run{0%,to{transform:rotate(-4deg)scaleX(.96)}50%{transform:rotate(9deg)scaleX(1.06)}}.nf-player[data-pose=jump] .nf-body{transform:rotate(-9deg)}.nf-player[data-pose=jump] .nf-leg-l{transform:rotate(-40deg)}.nf-player[data-pose=jump] .nf-leg-r{transform:rotate(-14deg)}.nf-player[data-pose=jump] .nf-cape{transform:rotate(24deg)scaleY(1.1)}.nf-player[data-pose=duck] svg{transform:scaleY(.52)scaleX(1.14)}.nf-player[data-pose=duck] .nf-cape{transform:rotate(-16deg)scaleY(.8)}.nf-player[data-pose=duck] .nf-leg-l{animation:.2s linear infinite nf-run-leg-a}.nf-player[data-pose=duck] .nf-leg-r{animation:.2s linear infinite nf-run-leg-b}.nf-player[data-pose=dead] .nf-body{transform:rotate(7deg)translateY(2px)}.nf-player[data-pose=dead] .nf-eyes-open{opacity:0}.nf-player[data-pose=dead] .nf-eyes-x{opacity:1}.nf-player[data-pose=dead] .nf-mouth-smile{opacity:0}.nf-player[data-pose=dead] .nf-mouth-o{opacity:1}.nf-player[data-pose=dead] .nf-cape{transform:rotate(-24deg)scaleY(.85)}.nf-ob{will-change:transform;pointer-events:none;position:absolute;left:0}.nf-ob svg{display:block}.nf-wing{transform-box:view-box;transform-origin:25px 15px;animation:.36s steps(2,jump-none) infinite nf-flap}.nf-wing-far{opacity:.7;animation-delay:.18s}@keyframes nf-flap{0%{transform:rotate(14deg)}to{transform:rotate(-30deg)}}.nf-scene[data-phase=dead] .nf-wing,.nf-scene[data-phase=dead] .nf-cloud{animation-play-state:paused}.nf-overlay{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.nf-banner{border:1px solid var(--color-line);border-radius:var(--radius-m);color:var(--color-ink);box-shadow:var(--shadow-sm);text-align:center;background:#ffffffeb;max-width:420px;margin-bottom:12px;padding:10px 18px;font-size:14px;font-weight:600}.nf-hint{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid var(--color-line);border-radius:var(--radius-pill);color:var(--color-ink-soft);box-shadow:var(--shadow-sm);background:#ffffffd9;margin-top:120px;padding:10px 20px;font-size:14px;font-weight:500;animation:2.2s ease-in-out infinite nf-hint-pulse}@keyframes nf-hint-pulse{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.nf-hint kbd{font-family:var(--font-geist-mono);background:var(--color-cream-deep);border:1px solid var(--color-line);color:var(--color-ink);border-bottom-width:2.5px;border-radius:6px;margin:0 2px;padding:2px 8px;font-size:12px}.nf-hint-touch{display:none}@media (hover:none) and (pointer:coarse){.nf-hint-desktop{display:none}.nf-hint-touch{display:inline}}.nf-card{pointer-events:auto;background:var(--color-paper);border:1px solid var(--color-line);border-radius:var(--radius-m);box-shadow:var(--shadow-md);text-align:center;padding:24px 34px 20px;animation:.3s cubic-bezier(.2,1.2,.4,1) both nf-card-pop;position:relative}@keyframes nf-card-pop{0%{opacity:0;transform:scale(.9)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.nf-card h2{font-family:var(--font-display);margin:0 0 8px;font-size:26px;font-weight:500}.nf-card-close{width:28px;height:28px;color:var(--color-ink-muted);border-radius:50%;place-items:center;font-size:20px;line-height:1;transition:background .15s,color .15s;display:grid;position:absolute;top:8px;right:10px}.nf-card-close:hover{background:var(--color-cream-deep);color:var(--color-ink)}.nf-card-score{font-family:var(--font-geist-mono);letter-spacing:.08em;color:var(--color-ink-soft);margin:0 0 4px;font-size:13px}.nf-card-score strong{color:var(--color-ink)}.nf-record{color:var(--color-primary);text-transform:uppercase;letter-spacing:.1em;margin:2px 0 0;font-size:13px;font-weight:700}.nf-replay{background:var(--color-primary);color:var(--color-paper);border-radius:var(--radius-pill);margin-top:14px;padding:11px 30px;font-size:15px;font-weight:600;transition:background .15s,transform .15s}.nf-replay:hover{background:var(--color-primary-deep);transform:translateY(-1px)}.nf-card-hint{color:var(--color-ink-muted);margin:10px 0 0;font-size:12px}.nf-rank{color:var(--color-ink);max-width:320px;margin:8px auto 0;font-size:14px;font-weight:600}.nf-rank-king{color:var(--color-primary)}.nf-rank-muted{color:var(--color-ink-muted);font-weight:500}.nf-save-link{color:var(--color-primary);text-underline-offset:3px;font-weight:600;text-decoration:underline}.nf-grain{pointer-events:none;mix-blend-mode:multiply;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='table' tableValues='0 .06'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.nf-actions{flex-wrap:wrap;gap:12px;margin-top:26px;display:flex}.nf-btn{border-radius:var(--radius-pill);border:1px solid var(--color-line);background:var(--color-paper);align-items:center;padding:12px 24px;font-size:15px;font-weight:600;transition:border-color .15s,background .15s,transform .15s;display:inline-flex}.nf-btn:hover{border-color:var(--color-ink-soft);transform:translateY(-1px)}.nf-btn-primary{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-cream)}.nf-btn-primary:hover{background:#0f0d0b;border-color:#0f0d0b}@media (max-width:640px){.nf-hero{padding:0}.nf-intro{flex-direction:column;justify-content:center;padding:0 16px;display:flex;inset:0}.nf-scene[data-phase=idle] .nf-overlay{justify-content:flex-end;padding-bottom:76px}.nf-title{margin-bottom:8px}.nf-sub{margin-bottom:16px;font-size:15px}.nf-scene{height:max(420px,100dvh - 72px)}.nf-watermark{font-size:96px}.nf-sun{width:44px;height:44px;box-shadow:0 0 0 10px var(--nf-sun-glow-1), 0 0 44px 22px var(--nf-sun-glow-2);top:24px;right:7%}.nf-cloud-3{display:none}.nf-layer-city svg{width:850px;height:187px}.nf-layer-alps svg{width:1190px;height:136px}.nf-layer-alps{bottom:116px}.nf-player{width:72px;height:70px;left:61px}.nf-player svg{width:72px;height:70.4px}.nf-ob-rockS svg{width:24px;height:20.8px}.nf-ob-rockM svg{width:36.8px;height:32px}.nf-ob-rockDuo svg{width:56px;height:22.4px}.nf-ob-gullLow svg,.nf-ob-gullHigh svg{width:41.6px;height:25.6px}.nf-hud{gap:12px;font-size:11px;top:28px;right:14px}.nf-hint{margin-top:0;padding:9px 16px;font-size:13px}.nf-card{margin:0 16px;padding:18px 22px 16px}.nf-card h2{font-size:21px}.nf-replay{padding:10px 26px;font-size:14px}.nf-actions{justify-content:center;gap:8px}.nf-btn{padding:10px 14px;font-size:13px}}@media (prefers-reduced-motion:reduce){.nf-rise,.nf-cloud,.nf-hint,.nf-player[data-pose=idle] .nf-body,.nf-player[data-pose=idle] .nf-cape{animation:none}}.nf-c-city,.nf-c-win,.nf-c-alps-back,.nf-c-alps-front,.nf-c-snow,.nf-c-lake,.nf-c-rock,.nf-c-gull,.nf-c-hull,.nf-c-pebble,.nf-c-pebble-dark,.nf-ob .nf-f-ink,.nf-ob .nf-f-cream{transition:fill 1.8s}.nf-c-city-line,.nf-c-glint,.nf-c-crack,.nf-c-grass,.nf-c-mast{transition:stroke 1.8s}.nf-night-sky{opacity:0;pointer-events:none;background:radial-gradient(1.5px 1.5px at 8% 22%, var(--nf-night-star) 50%, transparent 51%), radial-gradient(2px 2px at 19% 12%, var(--nf-night-star) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 31% 28%, var(--nf-night-star) 50%, transparent 51%), radial-gradient(2px 2px at 44% 9%, var(--nf-night-star) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 57% 21%, var(--nf-night-star) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 68% 13%, var(--nf-night-star) 50%, transparent 51%), radial-gradient(2px 2px at 79% 26%, var(--nf-night-star) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 91% 16%, var(--nf-night-star) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 50% 34%, var(--nf-night-star) 50%, transparent 51%), linear-gradient(var(--nf-night-sky-1) 0%, var(--nf-night-sky-2) 45%, var(--nf-night-sky-3) 78%, var(--nf-night-sky-4) 100%);transition:opacity 2.6s;position:absolute;inset:0}.nf-night .nf-night-sky{opacity:1}.nf-sun{transition:transform 3s cubic-bezier(.4,.1,.6,1),opacity 2.4s}.nf-night .nf-sun{opacity:0;transform:translateY(190px)}.nf-moon{background:radial-gradient(8px 8px at 32% 36%, #eadfcd 50%, transparent 51%), radial-gradient(5px 5px at 62% 62%, #eadfcd 50%, transparent 51%), var(--nf-night-moon);opacity:0;pointer-events:none;border-radius:50%;width:46px;height:46px;transition:transform 3.2s cubic-bezier(.2,.6,.3,1) .3s,opacity 2.2s .3s;position:absolute;top:30px;left:13%;transform:translateY(190px);box-shadow:0 0 0 10px #faf0e11a,0 0 40px 18px #faf0e129}.nf-night .nf-moon{opacity:1;transform:translateY(0)}.nf-cloud{transition:opacity 1.8s,filter 1.8s}.nf-night .nf-cloud{opacity:.22;filter:brightness(.6)}.nf-watermark{transition:color 1.8s}.nf-night .nf-watermark{color:var(--nf-night-watermark)}.nf-hud{transition:color 1.8s}.nf-night .nf-hud{color:var(--nf-night-hud)}.nf-night .nf-c-city{fill:var(--nf-night-city)}.nf-night .nf-c-city-line{stroke:var(--nf-night-city)}.nf-night .nf-c-win{fill:var(--nf-night-win)}.nf-night .nf-c-alps-back{fill:var(--nf-night-alps-back)}.nf-night .nf-c-alps-front{fill:var(--nf-night-alps-front)}.nf-night .nf-c-snow{fill:var(--nf-night-snow)}.nf-night .nf-c-lake{fill:var(--nf-night-lake)}.nf-night .nf-c-glint{stroke:var(--nf-night-glint)}.nf-night .nf-c-hull{fill:var(--nf-night-city)}.nf-night .nf-c-mast{stroke:var(--nf-night-city)}.nf-ground-base{transition:background 1.8s,border-color 1.8s}.nf-night .nf-ground-base{background:var(--nf-night-ground);border-top-color:var(--nf-night-ground-line)}.nf-night .nf-c-pebble{fill:var(--nf-night-pebble)}.nf-night .nf-c-pebble-dark{fill:var(--nf-night-pebble-2)}.nf-night .nf-c-grass{stroke:var(--nf-night-grass)}.nf-night .nf-c-rock{fill:var(--nf-night-rock)}.nf-night .nf-c-crack{stroke:var(--nf-night-crack)}.nf-night .nf-c-gull{fill:var(--nf-night-gull)}.nf-night .nf-ob .nf-f-ink{fill:var(--nf-night-gull-wing)}.nf-night .nf-c-wing-far{fill:var(--nf-night-gull-far)}.nf-night .nf-ob .nf-f-cream{fill:var(--nf-night-city)}@media (max-width:640px){.nf-moon{width:36px;height:36px;top:22px;left:8%}}
