.pl p{margin:0}.pl .pl-pledge{letter-spacing:-.028em;color:var(--fg);text-wrap:balance;margin-top:12px;font-size:clamp(22px,3.6vw,28px);font-weight:700;line-height:1.22}.pl-form{flex-wrap:wrap;align-items:flex-end;gap:14px 18px;margin-top:26px;display:flex}.pl-line{flex:220px}.pl-line input{border:0;border-bottom:1.5px solid var(--faint);width:100%;height:48px;color:var(--fg);letter-spacing:-.02em;background:0 0;border-radius:0;padding:0 2px;font:italic 500 24px/1 Inter Variable,ui-sans-serif,system-ui,sans-serif;transition:border-color .2s}.pl-line input::placeholder{color:var(--faint);font-size:20px;font-style:italic;font-weight:400}.pl-line input:focus{border-bottom-color:var(--accent);outline:none}.pl .pl-note{color:var(--faint);margin-top:12px;font-size:13px}.pl-card{border-bottom:1px dashed var(--line);padding:4px 0 22px;position:relative}.pl-sig{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 16px;margin-top:20px;padding-bottom:10px;display:flex;position:relative}.pl-name{letter-spacing:-.02em;color:var(--fg);overflow-wrap:anywhere;font-size:28px;font-style:italic;font-weight:500}.pl-when{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.pl-flourish{fill:none;width:100%;height:14px;stroke:var(--brand);stroke-width:2.5px;stroke-linecap:round;stroke-dasharray:320;position:absolute;bottom:0;left:0;right:0}.pl-seal{width:44px;height:44px;color:var(--brand-ink);background:var(--brand);box-shadow:0 0 0 5px var(--brand-soft);border-radius:50%;place-items:center;display:grid;position:absolute;top:0;right:0;transform:rotate(-12deg)}.pl-seal svg{width:22px;height:22px}.pl-card .kit-label{padding-right:60px}.pl-card .pl-pledge{padding-right:52px}.pl-signed .pl-flourish{animation:pl-draw 1.1s var(--ease) both}.pl-signed .pl-seal{animation:pl-stamp .6s .5s var(--ease) both}.pl-signed .pl-journal{animation:pl-up .7s .3s var(--ease) both}@keyframes pl-draw{0%{stroke-dashoffset:320px}}@keyframes pl-stamp{0%{opacity:0;transform:rotate(-30deg)scale(1.6)}}@keyframes pl-up{0%{opacity:0;transform:translateY(10px)}}.pl-journal{margin-top:22px}.pl-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.pl-count{color:var(--muted);font-size:15px;font-weight:550}.pl-count b{letter-spacing:-.03em;color:var(--fg);margin-right:2px;font-size:30px;font-weight:750}.pl-head .btn{height:44px}.pl-head .pl-did{color:var(--accent);box-shadow:inset 0 0 0 1px var(--edge)}.pl-head .pl-tick{opacity:1;stroke-dashoffset:0;width:20px;height:20px;position:static}.pl .pl-grid{grid-template-columns:repeat(10,minmax(0,1fr));gap:6px;margin:18px 0 0;padding:0;list-style:none;display:grid}.pl .pl-grid li{margin:0}.pl-day{aspect-ratio:1/1.08;background:var(--surface);width:100%;color:var(--muted);text-align:left;cursor:pointer;transition:background .25s, transform .2s var(--ease);border:0;border-radius:10px;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:7px 7px 6px;display:flex;position:relative}.pl-day:hover:not(:disabled){background:color-mix(in srgb, var(--surface) 70%, var(--brand) 18%)}.pl-day:active:not(:disabled){transform:scale(.94)}.pl-day:disabled{cursor:default;box-shadow:inset 0 0 0 1px var(--edge);color:var(--faint);background:0 0}.pl-day.pl-today{box-shadow:inset 0 0 0 2px var(--accent)}.pl-day.on{background:var(--brand-soft);color:var(--fg)}.pl-n{font-variant-numeric:tabular-nums;font-size:13px;font-weight:700;line-height:1}.pl-d{opacity:.8;white-space:nowrap;font-size:10.5px;font-weight:550;line-height:1}.pl-tick{fill:none;width:58%;height:58%;stroke:var(--accent);stroke-width:3.6px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40px;opacity:0;position:absolute;top:4px;right:4px}.pl-day.on .pl-tick{opacity:1;stroke-dashoffset:0}.pl-day.pop .pl-tick{animation:pl-tick .45s var(--ease) both}@keyframes pl-tick{0%{stroke-dashoffset:40px}}.pl .pl-foot{color:var(--muted);margin-top:16px;font-size:14px}.pl .pl-foot b{color:var(--fg)}@media (width<=600px){.pl .pl-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}.pl-day{padding:6px 5px 5px}.pl-d{letter-spacing:-.01em;font-size:9.5px}.pl-tick{width:46%;height:46%;top:3px;right:3px}.pl-name{font-size:24px}.pl-head .btn{flex:1;justify-content:center}}
