.hv-sky{--focus:var(--ember);background-color:var(--night);background-image:var(--ink-grain), radial-gradient(circle at 30% 40%, #f4ecdc59 0 1px, transparent 1.4px), radial-gradient(circle at 70% 80%, #f4ecdc38 0 1px, transparent 1.4px);background-size:240px 240px,130px 150px,190px 170px;min-height:100dvh;position:relative;overflow-x:clip}.hv-moon{background:radial-gradient(circle at 64% 38%, #1f22301a 0 14%, transparent 15%), radial-gradient(circle at 36% 66%, #1f223014 0 9%, transparent 10%), var(--paper);pointer-events:none;border-radius:50%;width:38px;height:38px;position:absolute;top:18px;right:22px}@media (max-width:379.98px){.hv-moon{width:30px;height:30px;top:64px;right:12px}}@media (min-width:640px){.hv-moon{width:56px;height:56px;top:36px;right:12%}}.hv-name{font-style:italic;font-weight:400}.hv-ribbon{background:var(--gold);color:var(--ink);font-family:var(--font-typed), ui-monospace, monospace;border-radius:2px;align-items:center;gap:8px;padding:6px 12px;font-size:13px;font-weight:700;display:inline-flex}.hv-status{animation:.4s ease-out both hv-rise}@keyframes hv-rise{0%{opacity:0;transform:translateY(6px)}}.hv-statusGo{min-height:44px;color:inherit;font:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-radius:2px;padding:.25rem .75rem}.hv-statusGo:focus-visible{outline:3px solid var(--ember,#f0b545);outline-offset:4px}.hv-statusGo .hv-statusArrow{animation:2.4s ease-in-out 1.2s infinite hv-nudgeDown}@keyframes hv-nudgeDown{0%,60%,to{translate:0}75%{translate:0 5px}}.hv-cta{bottom:calc(14px + env(safe-area-inset-bottom));z-index:30;animation:.36s cubic-bezier(.2,.7,.2,1) both hv-ctaIn;position:sticky}@keyframes hv-ctaIn{0%{opacity:0;transform:translateY(20px)}}.hv-status[data-rewrite=true]{animation:none}.hv-status[data-rewrite=true] .hv-statusLine{animation:.6s linear .7s both hv-write}.hv-status[data-rewrite=true] .hv-statusHint,.hv-status[data-rewrite=true] .hv-statusArrow{animation:.3s ease-out 1.2s both hv-fade}@keyframes hv-write{0%{clip-path:inset(-30% 100% -30% 0)}to{clip-path:inset(-30% 0)}}@keyframes hv-fade{0%{opacity:0}}.hv-intro{z-index:60;background-color:var(--night);background-image:var(--ink-grain);cursor:pointer;-webkit-tap-highlight-color:transparent;background-size:240px 240px;place-items:center;display:none;position:fixed;inset:0}html[data-hv-intro="1"] .hv-intro,.hv-intro[data-show]{display:grid}.hv-intro[data-show=out]{animation:.6s ease-in forwards hv-introOut}.hv-intro[data-show=skip]{animation:.15s ease-out forwards hv-introOut}@keyframes hv-introOut{to{opacity:0;visibility:hidden}}.hv-env{aspect-ratio:1.5;perspective:900px;width:min(78vw,340px);animation:.6s ease-out both hv-settle;position:relative}@keyframes hv-settle{0%{opacity:0;translate:0 10px}}.hv-envBack,.hv-envFront,.hv-envFlap{background-color:var(--paper-2);background-image:var(--paper-grain);background-size:180px 180px;position:absolute;inset:0}.hv-envBack{z-index:0;background-color:#e2d6bd;border-radius:2px}.hv-envCard{z-index:1;background-color:#fbf7ee;background-image:var(--paper-grain);height:84%;color:var(--ink);text-align:center;font-family:var(--font-display), Georgia, serif;background-size:180px 180px;border-radius:2px;padding:10% 8% 0;font-size:clamp(15px,4.4vw,19px);line-height:1.2;animation:.9s cubic-bezier(.25,.8,.3,1) 2.1s both hv-cardOut;position:absolute;top:8%;left:7%;right:7%;box-shadow:0 1px 2px #14100a40}.hv-envCard em{font-style:italic}@keyframes hv-cardOut{to{translate:0 -58%}}.hv-envFront{z-index:2;clip-path:polygon(0 0,50% 52%,100% 0,100% 100%,0 100%);border-radius:0 0 2px 2px;box-shadow:inset 0 -2px #14100a1f}.hv-envTo{font-family:var(--font-hand), cursive;color:var(--ink);font-size:clamp(22px,7vw,30px);position:absolute;bottom:14%;left:12%;rotate:-3deg}.hv-envMark{width:4.6rem;animation:.36s cubic-bezier(.3,.7,.4,1) .65s both hv-thunk;position:absolute;bottom:12%;right:8%}@keyframes hv-thunk{0%{opacity:0;rotate:4deg;scale:1.15}}.hv-envFlap{z-index:3;clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;background-color:#eadfc7;height:56%;animation:.7s ease-in-out 1.35s both hv-flap}@keyframes hv-flap{0%{z-index:3;transform:rotateX(0)}50%{z-index:3}51%{z-index:0}to{z-index:0;transform:rotateX(178deg)}}.hv-intro[data-show=out]~main .hf-house{animation:.32s ease-out both hv-settle}@media (prefers-reduced-motion:reduce){.hv-statusGo .hv-statusArrow,.hv-status,.hv-cta,.hv-status[data-rewrite=true] .hv-statusLine{animation:none!important}.hv-status[data-rewrite=true] .hv-statusHint,.hv-status[data-rewrite=true] .hv-statusArrow{animation:.15s ease-out both hv-fade!important}.hv-intro{display:none!important}}
