:root{color:#111;font-synthesis:none;text-rendering:geometricprecision;--ink:#111;--muted-ink:#4a4a4a;--paper:#fff;--ease:cubic-bezier(.16, 1, .3, 1);background:#fff;font-family:SFMono-Regular,Consolas,Liberation Mono,Courier New,monospace}*{box-sizing:border-box}html{background:var(--paper);min-width:320px;overflow-x:hidden}body{min-width:320px;min-height:100dvh;color:var(--ink);background:var(--paper);margin:0;overflow-x:hidden}button,input,a{color:inherit;font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline:1px dashed var(--ink);outline-offset:5px}.app-shell{background:var(--paper);isolation:isolate;min-height:100dvh;position:relative}.masthead{z-index:2;pointer-events:none;letter-spacing:.12em;text-transform:lowercase;justify-content:space-between;align-items:baseline;padding:20px clamp(18px,4vw,56px);font-size:11px;display:flex;position:fixed;inset:0 0 auto}.wordmark{letter-spacing:-.03em;font-weight:800}.masthead-mark{color:var(--muted-ink)}h1,p,pre{margin:0}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}h1{letter-spacing:-.065em;font-size:clamp(1.5rem,3vw,3rem);font-weight:500;line-height:.95}.kicker{color:var(--muted-ink);letter-spacing:.14em;text-transform:uppercase;font-size:10px;line-height:1.5}.ascii-stage{color:var(--ink);text-align:left;white-space:pre;-webkit-user-select:none;user-select:none;font-family:inherit;font-size:clamp(8px,1.35vw,14px);font-weight:500;line-height:1.22}.intro,.password-view,.return-view{text-align:center;align-content:center;place-items:center;gap:clamp(20px,4vh,42px);min-height:100dvh;padding:80px 22px 38px;display:grid;overflow:hidden}.intro h1{max-width:14ch}.intro-track{width:min(84vw,740px);color:var(--muted-ink);white-space:nowrap;overflow:hidden}.intro-bunny{transform-origin:50% 100%;animation:three-hops 3.6s var(--ease) both;will-change:transform}.intro-note{color:var(--muted-ink);font-size:12px}@keyframes three-hops{0%{transform:translate(-58vw)scale(1.08,.88)}9%{transform:translate(-49vw,-9vh)rotate(-2deg)scale(.96,1.06)}18%{transform:translate(-39vw)scale(1.08,.88)}27%{transform:translate(-30vw,-11vh)rotate(2deg)scale(.96,1.06)}36%{transform:translate(-20vw)scale(1.08,.88)}45%{transform:translate(-10vw,-12vh)rotate(-2deg)scale(.96,1.06)}56%{transform:translate(0,0)scale(1.08,.88)}64%{transform:translate(0,0)scale(1)}71%{transform:translate(0,0)rotate(4deg)}76%{transform:translate(0,0)rotate(-4deg)}81%{transform:translate(0,0)rotate(4deg)}87%,to{transform:translate(0,0)rotate(0)}}.skip-button{position:absolute;bottom:24px;right:clamp(18px,4vw,56px)}.text-button,.primary-action{cursor:pointer;transition:transform .18s var(--ease), letter-spacing .18s var(--ease);background:0 0;border:0}.text-button{color:var(--muted-ink);padding:10px;font-size:11px}.primary-action{letter-spacing:.02em;min-height:44px;padding:10px 12px;font-size:12px;font-weight:700;position:relative}.primary-action:after{content:"";transform-origin:0;height:1px;transition:transform .18s var(--ease);background:currentColor;position:absolute;bottom:5px;left:12px;right:12px;transform:scaleX(0)}.primary-action:hover:after,.primary-action:focus-visible:after{transform:scaleX(1)}.primary-action:active,.text-button:active{transform:translateY(1px)scale(.98)}.password-view{text-align:center;grid-template-columns:minmax(0,min(100%,420px));justify-content:center;gap:clamp(20px,4vh,32px)}.password-view .ascii-stage{justify-self:center;font-size:clamp(13px,2vw,20px)}.password-form{text-align:center;justify-items:center;gap:12px;width:100%;display:grid}.password-form label{letter-spacing:-.06em;margin-top:8px;font-size:clamp(1.35rem,3vw,2.6rem)}.field-hint{color:var(--muted-ink);font-size:10px}.password-form input{border:0;border-bottom:1px solid var(--ink);text-align:center;background:0 0;border-radius:0;outline:none;width:100%;padding:12px 2px;font-size:18px}.password-form .primary-action{justify-self:center}.feedback{min-height:18px;color:var(--muted-ink);font-size:11px}.wrong input,.bunny-confused{animation:.32s ease-out shake}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-7px)}50%{transform:translate(6px)}75%{transform:translate(-3px)}}.success-view{grid-template-columns:minmax(0,min(100%,420px))}.success-view>p,.success-view>button{grid-column:1;justify-self:center}.success-view .ascii-stage{grid-row:auto}.success-copy{letter-spacing:-.06em;align-self:end;font-size:clamp(1.5rem,3vw,3rem)}.happy-bunny{animation:happy-hop .7s var(--ease) both}@keyframes happy-hop{0%,to{transform:translateY(0)rotate(0)}45%{transform:translateY(-26px)rotate(-4deg)}}.return-view{text-align:center}.return-view>*{width:min(100%,520px)}.return-bunny{min-width:0;overflow:hidden}.return-bunny pre{font-size:clamp(6px,1.8vw,12px);line-height:1.1}.return-view button{text-align:center;justify-self:center}.scene{text-align:center;min-height:100dvh;animation:scene-enter .6s var(--ease) both;grid-template-rows:auto minmax(240px,1fr) auto auto;grid-template-columns:minmax(0,min(100%,760px));justify-content:center;gap:clamp(8px,1.8vh,18px);padding:clamp(86px,12vh,128px) clamp(18px,5vw,72px) clamp(32px,5vh,58px);display:grid;overflow:hidden}@keyframes scene-enter{0%{opacity:0}to{opacity:1}}.scene-index{color:var(--muted-ink);font-size:10px;position:absolute;bottom:clamp(22px,4vh,44px);right:clamp(18px,5vw,72px)}.scene-heading{grid-area:1/1;place-self:start center}.scene-visual{grid-area:2/1;place-items:center;min-width:0;display:grid;overflow:hidden}.scene-art{transform-origin:50% 100%;max-width:100%;animation:art-arrive .52s var(--ease) both, breathe 4.6s ease-in-out .6s infinite;will-change:transform, opacity}@keyframes art-arrive{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes breathe{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.scene-copy{letter-spacing:-.055em;grid-area:3/1;place-self:end center;max-width:46ch;min-height:3.2em;font-size:clamp(1.15rem,2.5vw,2.35rem);line-height:1.2}.scene-copy p{animation:copy-enter .42s var(--ease) both}@keyframes copy-enter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.scene-controls{text-align:center;flex-wrap:wrap;grid-area:4/1;justify-content:center;place-self:end center;align-items:center;gap:4px 12px;width:min(100%,560px);display:flex}.instruction{color:var(--muted-ink);text-align:center;flex-basis:100%;margin-bottom:6px;font-size:10px;line-height:1.5}.scene-action,.transition-action{margin-left:0}.action-progress{color:var(--muted-ink);letter-spacing:.1em;font-size:9px}.is-holding{animation:.95s linear both hold-pulse}@keyframes hold-pulse{0%{letter-spacing:.02em}to{letter-spacing:.13em}}.final-invitation{justify-items:center;gap:12px;width:100%;display:grid}.final-invitation>p{margin-bottom:5px;font-size:14px}.external-link{justify-self:center;text-decoration:none}.final-invitation .text-button{justify-self:center}@media (width<=760px){.masthead{padding-top:16px}.password-view,.success-view{text-align:center;grid-template-columns:1fr;align-content:center;gap:32px}.password-view .ascii-stage{justify-self:center}.password-form{text-align:center;width:min(100%,380px)}.success-view>p,.success-view>button,.success-view .ascii-stage{grid-area:auto/1;justify-self:center}.scene{grid-template-rows:auto minmax(230px,1fr) auto auto;grid-template-columns:minmax(0,1fr);gap:12px;padding:78px 18px 28px}.scene-heading,.scene-visual,.scene-copy,.scene-controls{grid-column:1}.scene-heading{grid-row:1}.scene-visual{grid-row:2;overflow:hidden}.scene-art{font-size:clamp(8px,2.3vw,11px)}.scene-copy{grid-row:3;place-self:end center;min-height:3.2em;font-size:clamp(1.05rem,5.2vw,1.55rem)}.scene-controls{grid-row:4;justify-content:center}.scene-index{display:none}}@media (width<=760px) and (height<=620px) and (orientation:portrait){.password-view,.success-view{gap:28px}.scene{grid-template-rows:auto minmax(200px,1fr) auto auto;gap:8px;padding-top:64px;padding-bottom:16px}.scene-art{font-size:clamp(6px,1.95vw,8px)}.scene-controls{gap-block:2px}}@media (height<=620px) and (orientation:landscape){.scene{grid-template-rows:auto minmax(130px,1fr) auto auto;grid-template-columns:minmax(0,min(100%,760px));gap:6px;padding:58px 18px 18px}.scene-art{font-size:clamp(6px,1.25vw,10px)}.scene-copy{grid-area:3/1;font-size:clamp(1rem,2.6vw,1.55rem)}.scene-controls{grid-area:4/1}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}
