:root{--paper:#f2ede1;--ink:#2a2825;--ink-soft:#5b574e;--seal:#a8341f}*{box-sizing:border-box}html,body{height:100%}body{color:var(--ink);background:var(--paper);flex-direction:column;min-height:100vh;margin:0;padding:0;font-family:Georgia,Times New Roman,Times,serif;line-height:1.6;display:flex}header{padding:1rem 1.5rem 0}nav a{color:var(--ink-soft);letter-spacing:.02em;font-size:.9rem;text-decoration:none}nav a:hover,nav a:focus-visible{color:var(--seal)}main{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.75rem;padding:1.5rem;display:flex}h1{letter-spacing:.08em;color:var(--ink-soft);text-transform:uppercase;margin:0;font-size:1.1rem;font-weight:400}.hint{max-width:32rem;color:var(--ink-soft);margin:0 0 1rem;font-size:.95rem}.grove{touch-action:none;justify-content:space-between;align-items:flex-start;gap:clamp(.5rem,2vw,1.5rem);width:min(90vw,62rem);height:min(58vh,30rem);padding:2.5rem clamp(.5rem,4vw,3rem) 0;display:flex;position:relative}.beam{background:var(--ink-soft);opacity:.5;height:2px;position:absolute;top:1.6rem;left:1rem;right:1rem}.chime{height:var(--h,100%);cursor:pointer;background:linear-gradient(to bottom, var(--ink) 0%, var(--ink) 70%, var(--ink-soft) 100%);opacity:.82;transform-origin:top;min-width:0;box-shadow:inset 0 0 0 0 var(--seal);border:none;border-radius:0 0 999px 999px;flex:1;padding:0;transition:transform .5s ease-out,box-shadow .4s ease-out,opacity .4s ease-out;transform:rotate(0)}.chime:hover{opacity:1}.chime:focus-visible{outline:2px solid var(--seal);outline-offset:4px}.chime.struck{box-shadow:inset 0 -2rem 1.5rem -1rem var(--seal);animation:1.6s ease-out swing}@keyframes swing{0%{transform:rotate(0)}15%{transform:rotate(var(--swing-angle,6deg))}40%{transform:rotate(calc(var(--swing-angle,6deg) * -.55))}65%{transform:rotate(calc(var(--swing-angle,6deg) * .25))}to{transform:rotate(0)}}@media (prefers-reduced-motion:reduce){.chime{transition:none}.chime.struck{animation:none}}
