*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f8f7f4;color:#1a1a1a;min-height:100dvh;scrollbar-gutter:stable}.page{max-width:480px;margin:0 auto;padding:1.5rem 1rem}.card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 4px #00000014}.btn{display:block;width:100%;padding:.875rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;text-align:center}.btn-primary{background:#ff5c00;color:#fff}.btn-primary:disabled{background:#ffb899}.btn-secondary{background:#f0ede8;color:#1a1a1a}.btn-sm{width:auto;padding:.375rem .75rem;font-size:.875rem}.input{width:100%;padding:.75rem;border:1.5px solid #e0ddd8;border-radius:8px;font-size:1rem;background:#fff}.input:focus{outline:none;border-color:#ff5c00}.label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.375rem;color:#555}.stack{display:flex;flex-direction:column;gap:1rem}.row{display:flex;gap:.75rem;align-items:center}.text-sm{font-size:.875rem}.text-muted{color:#888}.text-center{text-align:center}h1{font-size:1.75rem;font-weight:700}h2{font-size:1.25rem;font-weight:600}.badge{display:inline-flex;align-items:center;padding:.2rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:600}.badge-claimed{background:#dcfce7;color:#166534}.badge-partial{background:#fef9c3;color:#854d0e}.badge-unclaimed{background:#f3f4f6;color:#374151}@keyframes bodyBob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes chomp{0%,to{transform:translateY(0)}30%,55%{transform:translateY(7px)}80%{transform:translateY(0)}}@keyframes billSlide{0%{transform:translate(0)}to{transform:translate(-72px)}}@keyframes messageFade{0%{opacity:0;transform:translateY(5px)}18%,82%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-4px)}}.capy-body{animation:bodyBob 1.1s ease-in-out infinite}.capy-jaw{animation:chomp .55s ease-in-out infinite;transform-box:fill-box;transform-origin:top center}.capy-bill{animation:billSlide 3.5s linear infinite}.capy-message{animation:messageFade 2.8s ease-in-out both}
