@font-face{font-family:Caveat;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0bd866694792eeb1-s.2rv_b6cm3-gtx.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Caveat;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fdb22df95c69d750-s.43yn3v1dnm71_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Caveat;font-style:normal;font-weight:500;font-display:swap;src:url(../media/22bc6ebae07d77f5-s.27riv1g955cgo.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Caveat;font-style:normal;font-weight:500;font-display:swap;src:url(../media/3679aa72a9b9035f-s.p.0h6ig86gwutp4.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Caveat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/0bd866694792eeb1-s.2rv_b6cm3-gtx.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Caveat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/fdb22df95c69d750-s.43yn3v1dnm71_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Caveat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/22bc6ebae07d77f5-s.27riv1g955cgo.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Caveat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/3679aa72a9b9035f-s.p.0h6ig86gwutp4.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Caveat Fallback;src:local(Arial);ascent-override:124.77%;descent-override:38.99%;line-gap-override:0.0%;size-adjust:76.94%}.h7fNpa_className{font-family:Caveat,Caveat Fallback;font-style:normal}.h7fNpa_variable{--font-hand:"Caveat", "Caveat Fallback"}
@font-face{font-family:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url(../media/e27b85d01cb4b1af-s.1zkvd_innyig_.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url(../media/10e5db483fb7b6ef-s.2c8-7nzo1jf9r.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url(../media/01a1b57b2e0cef27-s.1vcas2uk12q5a.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url(../media/648e19a466ec92f1-s.2demiz2t05dx4.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url(../media/29e2a75af8e45044-s.p.2kjei9psvcorz.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito Fallback;src:local(Arial);ascent-override:99.71%;descent-override:34.82%;line-gap-override:0.0%;size-adjust:101.39%}.tO76AW_className{font-family:Nunito,Nunito Fallback;font-style:normal}.tO76AW_variable{--font-sans:"Nunito", "Nunito Fallback"}
:root{--cork:#c69c6d;--cork-dark:#a77d4f;--ink:#2b2b2b;--navy:#00308f;--muted:#0000008c}*{box-sizing:border-box}html,body{margin:0}body{min-height:100vh;font-family:var(--font-sans), system-ui, sans-serif;color:var(--ink);background-color:var(--cork);background-image:radial-gradient(var(--cork-dark) 1px, transparent 1.5px), radial-gradient(#ffffff26 1px, transparent 1.5px);background-position:0 0,7px 11px;background-size:14px 14px,22px 22px}h1{margin:0 0 .5rem}.hand{font-family:var(--font-hand), cursive}.big{font-size:2rem;line-height:1.1}.muted{color:var(--muted);font-size:.85rem}.topbar{background:var(--navy);color:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.75rem 1.25rem;display:flex}.brand{color:#fff;font-size:1.1rem;font-weight:800;text-decoration:none}.who{align-items:center;gap:.75rem;font-size:.9rem;display:flex}.who .link-btn{color:#ffd84d}.page{max-width:1200px;margin:0 auto;padding:1.5rem 1rem 4rem}.center{place-items:center;min-height:100vh;padding:1rem;display:grid}.intro,.banner{background:#ffffffeb;border-radius:12px;margin-bottom:1.5rem;padding:1.25rem;box-shadow:0 4px 14px #0003}.banner{text-align:center}.banner h1{color:var(--navy);font-size:clamp(2.2rem,6vw,3.5rem)}.banner p{color:var(--muted);margin:0}.empty{text-align:center;color:#fff;text-shadow:0 1px 3px #00000080;margin-top:3rem;font-size:1.1rem}.stack{gap:.9rem;display:grid}.row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.row input[name=name]{flex:220px}label{gap:.3rem;font-size:.9rem;font-weight:700;display:grid}input,textarea{font:inherit;background:#ffffffd9;border:1.5px solid #0003;border-radius:8px;padding:.6rem .75rem}input:focus,textarea:focus,button:focus-visible{outline:3px solid var(--navy);outline-offset:1px}.btn{font:inherit;cursor:pointer;background:var(--navy);color:#fff;border:none;border-radius:999px;padding:.6rem 1.1rem;font-weight:800}.btn:disabled{opacity:.6;cursor:wait}.link-btn{font:inherit;cursor:pointer;color:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.error{color:#b00020;width:100%;margin:0;font-weight:700}.note{border-radius:2px 2px 18px;position:relative;box-shadow:2px 6px 12px #0000004d}.paper{background-image:linear-gradient(160deg,#ffffff73,#fff0 45%,#0000000f),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09 0'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E")}.paper.lined{background-image:linear-gradient(160deg,#ffffff73,#fff0 45%,#0000000f),repeating-linear-gradient(#0000 0 31px,#1e50a02e 31px 32px);background-position:0 0,0 14px}.dog-ear:after{content:"";background:linear-gradient(225deg,#c69c6d 50%,#0000001f 50%,#ffffff80 75%);width:26px;height:26px;position:absolute;top:0;right:0;box-shadow:-2px 2px 3px #00000026}.pin{z-index:2;background-color:#e53935;background-image:radial-gradient(circle at 35% 35%,#ffffffbf,#0000 45%),radial-gradient(circle at 65% 70%,#00000059,#0000 60%);border-radius:50%;width:16px;height:16px;position:absolute;top:-8px;left:50%;translate:-50%;box-shadow:1px 2px 3px #0006}.tape{z-index:2;clip-path:polygon(0 8%,4% 0,96% 6%,100% 0,98% 50%,100% 100%,95% 92%,5% 100%,0 94%,3% 50%);width:90px;height:26px;position:absolute;top:-12px;left:50%;translate:-50%;rotate:-3deg;box-shadow:0 1px 2px #00000026}.tape.corner-l{width:64px;top:-6px;left:6px;translate:0;rotate:-38deg}.tape.corner-r{width:64px;top:4px;left:auto;right:-14px;translate:0;rotate:40deg}.login-card{width:min(420px,100%);padding:2rem 1.75rem}.login-card h1{font-family:var(--font-hand), cursive;color:var(--navy);font-size:2.6rem}.board{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:2rem 1.5rem;margin:0;padding:0;list-style:none;display:grid}.board.notes{columns:250px;column-gap:1.75rem;padding-top:.5rem;display:block}.note-slot{break-inside:avoid;padding:14px 22px 1.75rem 4px;animation:.5s cubic-bezier(.2,.8,.3,1.2) both drift-in}.note-slot.fresh{animation:.6s cubic-bezier(.3,1.4,.5,1) both slap}@keyframes drift-in{0%{opacity:0;transform:translateY(-24px)scale(.96)}to{opacity:1;transform:none}}@keyframes slap{0%{opacity:0;transform:translateY(-120px)scale(1.35)rotate(-8deg)}55%{opacity:1;transform:translateY(0)scale(.94,1.06)}75%{transform:scale(1.04,.97)}to{transform:none}}.wall-card{min-height:170px;color:var(--ink);flex-direction:column;gap:.4rem;padding:1.5rem 1.1rem 1rem;text-decoration:none;transition:rotate .15s,scale .15s;display:flex}.wall-card:hover{z-index:1;scale:1.04;rotate:0deg!important}.sticky{transform-origin:50% 0;flex-direction:column;min-height:130px;padding:1.5rem 1.1rem .7rem;transition:translate .2s,box-shadow .2s;display:flex}.sticky:hover{z-index:3;animation:.7s ease-out wobble;translate:0 -4px;box-shadow:4px 14px 22px #00000059}@keyframes wobble{20%{transform:rotate(2.5deg)}45%{transform:rotate(-1.8deg)}70%{transform:rotate(.9deg)}to{transform:none}}.message{white-space:pre-wrap;overflow-wrap:anywhere;flex:1;margin:0;line-height:1.15}.sticky footer{justify-content:space-between;align-items:center;margin-top:.75rem;font-size:.9rem;font-weight:700;display:flex}.sticker{z-index:2;pointer-events:none;filter:drop-shadow(0 0 1px #fff)drop-shadow(0 0 1px #fff)drop-shadow(0 0 1px #fff)drop-shadow(1px 2px 2px #00000059);font-size:2.1rem;line-height:1;position:absolute}.puff{pointer-events:none;background:radial-gradient(#ffffffbf,#0000 70%);height:30px;animation:.7s ease-out .3s both puff;position:absolute;inset:auto 0 -6px}@keyframes puff{0%{opacity:0;transform:scale(.4,.6)}30%{opacity:1}to{opacity:0;transform:scale(1.6,1.2)}}.reactions{flex-wrap:wrap;gap:.3rem;margin-top:.55rem;display:flex}.reaction{font:inherit;cursor:pointer;opacity:.55;background:#ffffff59;border:1px solid #0000001f;border-radius:999px;align-items:center;gap:.2rem;padding:.1rem .45rem;font-size:.85rem;transition:opacity .15s,scale .1s;display:inline-flex}.sticky:hover .reaction,.reaction.has{opacity:1}.reaction span{font-size:.8rem;font-weight:800}.reaction.mine{border-color:var(--navy);background:#ffffffd9}.reaction:active{scale:1.25}@media (prefers-reduced-motion:reduce){.note-slot,.note-slot.fresh,.sticky:hover,.puff{animation:none}}.composer{max-width:640px;margin:0 auto 2.5rem;padding:1rem;transition:background .2s;rotate:-.5deg}.composer textarea{resize:vertical;background:0 0;border:1.5px dashed #00000040;width:100%;font-size:1.6rem}.composer-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.6rem;display:flex}.swatches{gap:.4rem;display:flex}.swatch{cursor:pointer;border:2px solid #00000040;border-radius:50%;width:28px;height:28px}.swatch[aria-checked=true]{border:3px solid var(--navy);scale:1.15}select{font:inherit;background:#ffffffd9;border:1.5px solid #0003;border-radius:8px;padding:.6rem .5rem}.intro p{margin:0 0 .9rem}.section{margin-bottom:2.5rem}.section-title{color:#fff;text-shadow:0 1px 3px #00000080;margin:0 0 1.25rem;font-size:1.3rem}.wall-card.today{outline:4px solid var(--navy);outline-offset:3px}.notice{border-left:5px solid var(--navy);background:#ffffffeb;border-radius:6px;max-width:640px;margin:0 auto 1.5rem;padding:.75rem 1rem;font-weight:700}.years{flex-wrap:wrap;justify-content:center;gap:.5rem 1rem;margin-top:.6rem;display:flex}.years a{color:var(--navy);font-weight:700}.fireworks{pointer-events:none;z-index:50;width:100vw;height:100vh;position:fixed;inset:0}.fireworks-btn{z-index:51;cursor:pointer;background:var(--navy);border:none;border-radius:50%;width:52px;height:52px;font-size:1.6rem;transition:scale .15s;position:fixed;bottom:1rem;left:1rem;box-shadow:0 4px 12px #00000059}.fireworks-btn:hover{scale:1.1}@media (prefers-reduced-motion:reduce){.fireworks-btn{display:none}}.sticker-picker{flex-wrap:wrap;align-items:center;gap:.25rem;margin-top:.5rem;display:flex}.sticker-picker .muted{margin-right:.25rem}.sticker-opt{cursor:pointer;background:#ffffff59;border:2px solid #0000;border-radius:8px;padding:.25rem;font-size:1.3rem;line-height:1}.sticker-opt[aria-pressed=true]{border-color:var(--navy);background:#ffffffd9;scale:1.12}.sticker-opt:disabled{opacity:.35;cursor:not-allowed}.admin-badge{color:var(--navy);background:#ffd84d;border-radius:999px;margin-left:.4rem;padding:.05rem .45rem;font-size:.75rem;font-weight:800}.admin-panel{background:#fffffff2;border:2px dashed #b00020;border-radius:10px;max-width:640px;margin:0 auto 1.5rem;padding:.75rem 1rem}.admin-panel summary{cursor:pointer;font-weight:800}.admin-panel form{margin-top:.75rem}.admin-panel .row input[name=name]{flex:200px}.admin-panel .muted{margin:.6rem 0 0}.btn.danger{background:#b00020}.hint{color:var(--muted);font-size:.8rem;font-weight:400}.field{gap:.3rem;display:grid}.field label{font-size:.9rem;font-weight:700}.reveal{position:relative}.reveal input{width:100%;padding-right:4.5rem}.reveal-btn{font:inherit;cursor:pointer;color:var(--navy);background:#00308f1a;border:none;border-radius:999px;padding:.3rem .6rem;font-size:.8rem;font-weight:800;position:absolute;top:50%;right:.35rem;translate:0 -50%}.reveal-btn:hover{background:#00308f2e}.welcome{background:#fff8dc;border-left-color:#f5b400}.birthday-link{color:var(--ink);font-size:1.05rem;text-decoration:none;display:block}.birthday-link:hover{background:#fff1b8}.no-peek{padding:2.5rem 1.25rem}.no-peek p{margin-top:.4rem;font-size:1.1rem}.no-peek .waiting{color:var(--navy);font-weight:800}.thanks-section{max-width:560px;margin:0 auto 2rem}.thanks-section .section-title{text-align:center}.thanks-list{margin:0;padding:0;list-style:none}.note.thanks{outline-offset:-3px;background-color:#ffd54f;background-image:linear-gradient(160deg,#ffffff8c,#fff0 50%,#a064001f),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09 0'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E");outline:3px solid #f5b400}.sticky.thanks{rotate:-1deg}.star-pin{z-index:2;filter:drop-shadow(0 0 1px #fff)drop-shadow(1px 2px 2px #00000059);font-size:2rem;line-height:1;position:absolute;top:-18px;left:50%;translate:-50%}.login-card .tagline{color:var(--navy);margin:-.4rem 0 .75rem;font-weight:700}.note-slot.deleting{pointer-events:none;animation:.35s ease-in forwards fade-away}@keyframes fade-away{to{opacity:0;transform:scale(.85)rotate(-6deg)translateY(12px)}}@media (prefers-reduced-motion:reduce){.note-slot.deleting{opacity:.3;animation:none}}
