:root{--ink: #1d1b19;--paper: #f6ecd2;--sand: #e9d3a1;--sea: #3f7690;--sky: #9cc0d3;--jungle: #3d6a3b;--bandana: #c8382c;--sunset: #e07b39;--muted: #6b5f4d;--line: 3px solid var(--ink);--radius: 14px}*{box-sizing:border-box}body{margin:0;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--paper);color:var(--ink);font:17px/1.55 Nunito,system-ui,sans-serif}h1,h2,h3,.hand{font-family:Patrick Hand,Comic Sans MS,cursive;font-weight:400;line-height:1.1}h1{font-size:clamp(2.4rem,6vw,4rem);margin:0 0 .3em}h2{font-size:2.2rem;margin:1.6em 0 .5em}h3{font-size:1.6rem;margin:0 0 .3em}a{color:var(--sea)}img{max-width:100%;display:block}.wrap{max-width:1080px;margin:0 auto;padding:0 16px}header.top{border-bottom:var(--line);background:var(--sand)}header.top .wrap{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding-block:10px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-size:1.6rem}.brand img{width:44px;height:44px;border-radius:50%;border:var(--line)}nav{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto}nav a{text-decoration:none;color:var(--ink);padding:4px 12px;border:2px solid transparent;border-radius:999px;font-weight:700}nav a[aria-current]{border-color:var(--ink);background:var(--paper)}.card{background:#fffaf0;border:var(--line);border-radius:var(--radius);box-shadow:5px 5px 0 var(--ink);padding:18px}.btn{display:inline-block;font:inherit;font-weight:800;color:var(--ink);background:var(--sunset);border:var(--line);border-radius:999px;padding:10px 22px;box-shadow:3px 3px 0 var(--ink);text-decoration:none;cursor:pointer}.btn:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--ink)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.grid{display:grid;gap:22px;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr))}.tag{display:inline-block;background:var(--sky);border:2px solid var(--ink);border-radius:999px;padding:0 10px;font-weight:700;font-size:.85rem}.note{color:var(--muted);font-size:.92rem}input[type=email]{font:inherit;padding:10px 14px;border:var(--line);border-radius:999px;min-width:0;flex:1;background:#fff}form.signup{display:flex;gap:10px;flex-wrap:wrap}:focus-visible{outline:3px solid var(--bandana);outline-offset:3px}footer{margin-top:64px;border-top:var(--line);background:var(--sand);padding:28px 0 18px;font-size:.95rem}footer a{color:var(--ink)}.foot{display:grid;gap:22px 40px;grid-template-columns:1.6fr 1fr 1fr;align-items:start}.foot h2{font-size:1.35rem;margin:0 0 .4em}.foot p{margin:.3em 0}.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.foot .brand{font-size:1.8rem}.foot .social{display:flex;gap:10px;flex-wrap:wrap}.social a{display:grid;place-items:center;width:46px;height:46px;border:var(--line);border-radius:50%;background:var(--paper);box-shadow:3px 3px 0 var(--ink)}.social a:hover{background:var(--sunset);transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--ink)}.social svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.social.mini{display:flex;gap:6px;list-style:none;margin:0;padding:0}.social.mini a{width:36px;height:36px;border-width:2px;box-shadow:2px 2px 0 var(--ink);color:var(--ink)}.social.mini svg{width:20px;height:20px}.copy{margin:22px 0 0;padding-top:12px;border-top:2px dashed var(--ink);font-size:.88rem}@media(max-width:720px){.foot{grid-template-columns:1fr}.foot ul:not(.social) a{display:inline-block;padding:6px 0}}@media(max-width:900px){header .social.mini{margin-left:auto}nav{order:3;margin:0 -16px;padding:0 16px;width:calc(100% + 32px);flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}}@media(max-width:640px){header.top .wrap{gap:6px;padding-block:8px}.brand{font-size:1.4rem}header .brand img{width:36px;height:36px}nav a{padding:6px 8px;white-space:nowrap}.social.mini a{width:32px;height:32px}.social.mini svg{width:18px;height:18px}@media(max-width:360px){.brand{font-size:1.25rem;gap:6px}header .brand img{width:30px;height:30px}header.top .wrap{gap:4px}.social.mini{gap:4px}.social.mini a{width:28px;height:28px}nav a{padding:6px 7px}}nav .tail,nav a[href="/"]{display:none}h2{font-size:1.9rem}.card{padding:14px;box-shadow:4px 4px 0 var(--ink)}}main{flex:1;padding-bottom:20px}h1.page{margin-top:.6em}.framed{border:var(--line);border-radius:10px}
