:root{--pond: #e4eeeb;--pond-deep: #cfdfda;--ink: #1a1a1a;--ink-soft: #4a5250;--card: #fafbfa;--line: #b8c9c4;--bill: #8f8f8f;--link: #1f5f5b;--heart: #c9302c;--shadow: 0 10px 30px rgba(26, 40, 36, .12), 0 1px 2px rgba(26, 40, 36, .08);color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--pond: #151a19;--pond-deep: #1e2624;--ink: #ededed;--ink-soft: #a8b3af;--card: #232b29;--line: #3a4643;--bill: #a9a9a9;--link: #8fd3c9;--heart: #e0524e;--shadow: 0 10px 30px rgba(0, 0, 0, .45), 0 1px 2px rgba(0, 0, 0, .4)}}*{box-sizing:border-box}html{background:var(--pond);color:var(--ink);font-family:Bricolage Grotesque,Avenir Next,Segoe UI,system-ui,sans-serif;font-size:106.25%;line-height:1.55;-webkit-text-size-adjust:100%}body{margin:0;padding-block:1.25rem 4rem;padding-inline:clamp(1rem,4vw,2.5rem)}a{color:var(--link);text-decoration-thickness:.08em;text-underline-offset:.16em}a:focus-visible,button:focus-visible{outline:3px solid var(--link);outline-offset:3px;border-radius:4px}img{max-width:100%;height:auto}.wrap{max-width:68rem;margin-inline:auto}.prose{max-width:38rem}.masthead{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:clamp(3rem,8vw,6rem)}.brand{display:inline-flex;align-items:center;gap:.6rem;font-weight:600;letter-spacing:-.01em}.brand a{color:var(--ink);text-decoration:none}.brand a:hover{text-decoration:underline}.mark{position:relative;padding:0;border:0;background:none;cursor:pointer;line-height:0;border-radius:.55rem}.mark img{width:2rem;height:2rem;border-radius:.55rem;transform-origin:50% 80%}.mark .honk{position:absolute;left:0;top:2.45rem;z-index:2;padding:.2rem .55rem;border-radius:999px;background:var(--card);color:var(--ink);box-shadow:var(--shadow);font-size:.8rem;font-weight:600;line-height:1.3;white-space:nowrap;opacity:0;pointer-events:none}.mark.honking img{animation:honk .5s ease-out}.mark.honking .honk{animation:honk-bubble 1.1s ease-out}@keyframes honk{0%{transform:rotate(0)}20%{transform:rotate(-10deg) scale(1.08)}45%{transform:rotate(8deg) scale(1.05)}70%{transform:rotate(-4deg)}to{transform:rotate(0)}}@keyframes honk-bubble{0%{opacity:0;transform:translateY(6px) scale(.9)}15%{opacity:1;transform:none}75%{opacity:1}to{opacity:0;transform:translateY(-6px)}}.masthead nav{display:flex;gap:1.25rem}.masthead nav a{font-weight:500}.button.coffee-button{display:inline-flex;align-items:center;gap:.5rem;background:#fd0;color:#1a1a1a}h1,h2,h3{font-weight:600;letter-spacing:-.02em;line-height:1.12;margin:0 0 .6em;text-wrap:balance}h1{font-size:clamp(2.1rem,5.2vw,3.5rem);font-variation-settings:"opsz" 96}h2{font-size:clamp(1.45rem,2.6vw,1.9rem);margin-top:0}h3{font-size:1.1rem;letter-spacing:-.005em;margin-bottom:.3em}p{margin:0 0 1em}.lede{font-size:1.2rem;color:var(--ink-soft);max-width:34rem}.small{font-size:.92rem;color:var(--ink-soft)}.hero{display:grid;gap:clamp(2rem,5vw,4rem);align-items:center;grid-template-columns:1fr;margin-bottom:clamp(4rem,10vw,7rem)}@media(min-width:52rem){.hero{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}}.actions{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;align-items:center;margin-top:1.75rem}.button{display:inline-block;background:var(--ink);color:var(--pond);padding:.7rem 1.15rem;border-radius:999px;text-decoration:none;font-weight:600}.button:hover{opacity:.9}.stack{display:grid;gap:.9rem;padding-block:1rem}.banner{display:grid;grid-template-columns:2.4rem 1fr auto;gap:.8rem;align-items:start;background:var(--card);border-radius:1.25rem;padding:.85rem 1rem .95rem;box-shadow:var(--shadow);animation:arrive .6s cubic-bezier(.2,.7,.2,1) both}.banner:nth-child(2){animation-delay:.35s;margin-inline:.9rem}.banner:nth-child(3){animation-delay:.7s;margin-inline:1.8rem}.banner img{width:2.4rem;height:2.4rem;border-radius:.6rem}.banner .app{font-size:.82rem;font-weight:600;color:var(--ink-soft);margin:0 0 .15rem}.banner .text{margin:0;line-height:1.4;text-wrap:pretty}.banner .when{font-size:.78rem;color:var(--ink-soft);padding-top:.1rem}.banner .heart{grid-column:2;justify-self:start;margin-top:.35rem;padding:.25rem;margin-left:-.25rem;border:0;background:none;cursor:pointer;line-height:0;border-radius:999px;color:var(--bill);transition:color .15s ease}.banner .heart svg path{fill:transparent;transition:fill .15s ease}.banner .heart[aria-pressed=true]{color:var(--heart)}.banner .heart[aria-pressed=true] svg path{fill:currentColor}.banner .heart:hover{color:var(--heart)}.banner .heart.pop svg{animation:pop .4s cubic-bezier(.2,.9,.3,1.4)}@keyframes pop{0%{transform:scale(.6)}60%{transform:scale(1.35)}to{transform:scale(1)}}@keyframes arrive{0%{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.banner,.banner .heart.pop svg,.mark.honking img{animation:none}.mark.honking .honk{animation:honk-bubble-still 1.1s step-end}@keyframes honk-bubble-still{0%,99%{opacity:1}to{opacity:0}}}.lost{text-align:center;padding-block:clamp(2rem,8vw,5rem)}.lost img{width:clamp(7rem,22vw,11rem);height:auto;border-radius:22%;box-shadow:var(--shadow);margin-bottom:1.5rem}.lost p{color:var(--ink-soft);max-width:30rem;margin-inline:auto}section{margin-bottom:clamp(3rem,7vw,5rem)}.steps{display:grid;gap:1.5rem 2.5rem}@media(min-width:52rem){.steps{grid-template-columns:repeat(3,minmax(0,1fr))}}.steps p{color:var(--ink-soft);margin-bottom:0}.plain{padding-left:1.2rem;margin:0}.plain li{margin-bottom:.45em}.plain li::marker{color:var(--bill)}footer{border-top:1px solid var(--line);padding-top:1.5rem;display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;justify-content:space-between;color:var(--ink-soft);font-size:.92rem}.doc h2{margin-top:2.5rem}.doc ul{padding-left:1.2rem}.doc li{margin-bottom:.4em}.doc .meta{color:var(--ink-soft);margin-bottom:2.5rem}
