:root{--wall:#E9B949;--maroon:#8E1B2C;--vermilion:#E0452B;--teal:#127C80;--cream:#F7EEDA;--soot:#1F1A1A;--biro:#1d3a8a;--green:#4fd47a;--night:#26214D;--display:"Coiny","Mukta","Mukta Malar",system-ui,sans-serif;--hand:"Kalam","Kavivanar","Comic Sans MS",cursive;--body:"Mukta","Mukta Malar",system-ui,sans-serif;color-scheme:light}*{box-sizing:border-box}[hidden]{display:none !important}html,body{height:100%}body{margin:0;background:#3a2116;color:var(--soot);font-family:var(--body)}.app{position:relative;width:100%;max-width:440px;height:100%;min-height:500px;margin:0 auto;overflow:hidden}.view{position:absolute;inset:0;overflow-y:auto;overflow-x:hidden}button,input{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:3px dashed var(--biro);outline-offset:3px}@keyframes boil{0%{transform:rotate(var(--r,0deg)) translate(0,0)}33%{transform:rotate(calc(var(--r,0deg) + .35deg)) translate(.5px,-.4px)}66%{transform:rotate(calc(var(--r,0deg) - .25deg)) translate(-.4px,.3px)}}.boil{animation:boil .375s steps(1) infinite}@media (prefers-reduced-motion:reduce){.boil{animation:none;transform:rotate(var(--r,0deg))}}.shop,.counter{background:repeating-linear-gradient(176deg,#6b3f26 0 22px,#5d3620 22px 24px,#74462b 24px 51px,#5a331e 51px 53px)}.shop-inner{position:relative;min-height:100%;padding:0 18px 40px;display:flex;flex-direction:column}.wall{flex:1;margin:0 -18px;padding:24px 18px 26px;background:var(--wall);display:flex;flex-direction:column;gap:18px;border-bottom:6px solid #4a2a18}.wall{justify-content:center}.wall{position:relative}.wall>*:not(.art){position:relative;z-index:1}.wall .art{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}.wall .art svg{display:block;width:100%;height:100%}.wall .shelf{margin-top:6px}.mast{display:flex;flex-direction:column}.mast b{font-family:var(--display);font-weight:400;font-size:42px;line-height:1;color:var(--maroon);text-shadow:3px 2px 0 var(--teal);--r:-2deg;transform-origin:left;display:inline-block}.mast span{font-family:var(--display);font-size:16px;letter-spacing:1px;--r:-1deg;display:inline-block}.chit{margin:0 0 0 26px;padding:11px 15px 13px;background:var(--cream);font-family:var(--hand);font-size:18px;line-height:1.35;color:var(--biro);--r:1.2deg;box-shadow:2px 3px 0 rgba(31,26,26,.25);clip-path:polygon(0 5%,6% 0,14% 4%,25% 0,37% 3%,50% 0,63% 4%,77% 0,90% 3%,100% 0,100% 95%,92% 100%,80% 96%,66% 100%,52% 96%,38% 100%,24% 95%,10% 100%,0 96%)}.shelf{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 10px;padding:4px 2px 0}.slot{position:relative}.box{width:100%;display:flex;flex-direction:column;align-items:center;gap:1px;padding:8px 4px 9px;border:2px solid var(--soot)}.box svg{width:56px;height:56px}.box .ta{font-family:var(--display);font-size:13px;line-height:1.15;text-align:center}.box .en{font-size:10.5px;font-weight:700;letter-spacing:.6px;text-transform:uppercase}.circle{position:absolute;left:-13px;top:-13px;width:calc(100% + 26px);height:calc(100% + 26px);pointer-events:none;overflow:visible}.circle path{fill:none;stroke:var(--biro);stroke-width:2.6;stroke-linecap:round;stroke-dasharray:520;stroke-dashoffset:520;transition:stroke-dashoffset .3s steps(6)}.slot.picked .circle path{stroke-dashoffset:0}.counter{color:var(--cream)}.counter-inner{min-height:100%;padding:max(14px,env(safe-area-inset-top,0px)) 18px 22px;display:flex;flex-direction:column;gap:14px}.counter .top{display:flex;align-items:center;justify-content:space-between}.counter h1{margin:0;font-family:var(--display);font-weight:400;font-size:34px;line-height:1;color:var(--wall);text-shadow:3px 2px 0 var(--vermilion);--r:-2deg}.back-shelf{padding-left:0}.counter-inner>h1{margin-top:auto}.counter-inner>:last-child{margin-bottom:auto}.counter-inner{gap:20px}.stepno{font-family:var(--hand);font-size:15px;color:var(--cream);opacity:.85}.counter h1{font-size:30px;line-height:1.1}.pick{border:0;background:none;color:var(--cream);padding:0;position:relative}.colours{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 8px}.pick.colour{display:flex;flex-direction:column;align-items:center;gap:4px;font-family:var(--hand);font-size:16px}.pick.colour svg{width:62px;height:54px}.pick.colour[aria-pressed="true"] svg{outline:2.6px solid var(--cream);outline-offset:4px;border-radius:46% 54% 48% 52%}.patterns{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 10px}.patterns>.pick.pattern{flex:0 0 calc((100% - 20px) / 3);min-width:0}.pick.pattern{display:flex;flex-direction:column;align-items:center;gap:0;padding:8px 4px 7px;background:var(--night);border:2.5px solid var(--soot);box-shadow:3px 3px 0 rgba(0,0,0,.35)}.pick.pattern svg{width:100%;max-width:84px;aspect-ratio:1}.pick.pattern span{font-family:var(--display);font-size:16px;color:var(--cream)}.pick.pattern[aria-pressed="true"]{border-color:var(--wall);box-shadow:0 0 0 3px var(--wall),3px 3px 0 3px rgba(0,0,0,.35)}.sounds{display:flex;flex-direction:column;gap:10px}.pick.sound{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:10px 16px;border:2.5px solid var(--cream);border-radius:4px;text-align:left}.pick.sound b{font-family:var(--display);font-weight:400;font-size:21px;white-space:nowrap}.pick.sound span{font-family:var(--hand);font-size:16px;opacity:.85}.pick.sound:nth-child(2){transform:rotate(.8deg)}.pick.sound:nth-child(5){transform:rotate(-.6deg)}.pick.sound[aria-pressed="true"]{background:var(--cream);color:var(--maroon)}.counter .stamp{margin-top:4px}#sendBack small{display:block;margin-top:2px;font:700 17px Kalam,cursive;letter-spacing:0;text-transform:none}button.back{border:0;background:none;padding:0;z-index:2}.after .stamp.green{color:var(--green);border-color:var(--green);background:rgba(38,33,77,.75);font-size:21px}.after .done-line{margin:0;font-family:var(--hand);font-size:19px;color:var(--cream);text-align:center}.after .linkish{color:var(--wall)}.view.enter{animation:slide-in .2s steps(3)}@keyframes slide-in{from{transform:translateX(24px);opacity:.2}}.box.nope{animation:nope .24s steps(3)}@keyframes nope{33%{transform:translateX(-4px) rotate(-2deg)}66%{transform:translateX(4px) rotate(1deg)}}.label{font-family:var(--hand);font-size:16px;color:var(--wall);margin:0 0 6px}.daubs,.tags{display:flex;flex-wrap:wrap;gap:10px}.daub{width:50px;height:44px;border:0;padding:0;background:none;position:relative}.daub svg{width:100%;height:100%}.daub[aria-pressed="true"]::after{content:"";position:absolute;inset:-6px;border:2.4px solid var(--cream);border-radius:46% 54% 48% 52%}.tag{padding:6px 14px;border:2px solid var(--cream);background:transparent;color:var(--cream);font-family:var(--hand);font-size:17px;border-radius:3px}.tag[aria-pressed="true"]{background:var(--cream);color:var(--maroon)}.pad{background:var(--cream);color:var(--biro);padding:12px 16px 14px;display:flex;flex-direction:column;gap:8px;--r:-.8deg;box-shadow:3px 4px 0 rgba(0,0,0,.35);background-image:repeating-linear-gradient(180deg,transparent 0 33px,rgba(29,58,138,.18) 33px 34px)}.pad label{display:flex;align-items:baseline;gap:8px;font-family:var(--hand);font-size:16px}.pad input{flex:1;min-width:0;border:0;border-bottom:1.5px dashed var(--biro);background:transparent;font-family:var(--hand);font-size:21px;color:var(--biro);padding:0 2px}.pad input:focus{outline:none;border-bottom-style:solid}.pad .warn{margin:0;font-family:var(--hand);font-size:15px;color:var(--vermilion)}.stamp{align-self:center;display:inline-block;padding:11px 28px;border:3px solid var(--vermilion);border-radius:6px;background:transparent;color:var(--vermilion);font-family:var(--display);font-size:26px;letter-spacing:1px;text-decoration:none;text-align:center;--r:-4deg}.stamp.green{color:var(--green);border-color:var(--green);font-size:22px;--r:2deg}.soon{font-family:var(--hand);font-size:17px;color:var(--cream);text-align:center;margin:4px 0 0}.sent{display:flex;flex-direction:column;align-items:center;gap:12px}.sent p{margin:0;font-family:var(--hand);font-size:18px;color:var(--cream);text-align:center}.linkish{border:0;background:none;padding:2px 4px;font-family:var(--hand);font-size:17px;color:var(--wall);text-decoration:underline;text-underline-offset:4px}.copied{font-family:var(--hand);font-size:15px;color:var(--cream);margin:0;word-break:break-all;text-align:center}.night{background:var(--night);overflow:hidden}#cv{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none}.hint{position:absolute;transform:translate(-50%,-50%);margin:0;font-family:var(--hand);font-size:20px;color:var(--cream);white-space:nowrap;pointer-events:none}.greet{position:absolute;left:22px;right:22px;top:9%;bottom:59%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;pointer-events:none}.greet .from{font-family:var(--hand);font-size:clamp(24px,7.4vw,30px);color:var(--wall);--r:-2deg}.greet .msg{font-family:var(--display);font-size:40px;line-height:.98;color:var(--cream);text-shadow:3px 2px 0 var(--vermilion),-2px -1px 0 var(--teal);--r:-3deg;text-wrap:balance;max-width:100%}.after{position:absolute;left:16px;right:16px;bottom:max(26px,env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;align-items:center;gap:8px}.after .stamp{color:var(--wall);border-color:var(--wall);font-size:21px;background:rgba(38,33,77,.7);--r:-2deg}.sr{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);opacity:0;pointer-events:none;padding:8px 14px;border:2px solid var(--cream);background:var(--night);color:var(--cream)}.sr:focus-visible{opacity:1;pointer-events:auto}.back{position:absolute;top:max(14px,env(safe-area-inset-top,0px));left:14px;color:var(--cream);font-family:var(--hand);font-size:16px;text-decoration:underline;text-underline-offset:3px}.slip-wrap{position:absolute;inset:0;background:rgba(20,16,40,.6);display:flex;align-items:center;justify-content:center;padding:16px;z-index:5}.slip{width:100%;max-width:360px;background:var(--cream);color:var(--biro);padding:18px 18px 14px;display:flex;flex-direction:column;gap:12px;--r:-1deg;box-shadow:4px 5px 0 rgba(0,0,0,.4)}.slip h2{margin:0;font-family:var(--display);font-weight:400;font-size:28px;color:var(--maroon);text-shadow:2px 1px 0 var(--wall)}.slabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.slab{padding:12px 4px;border:2.5px solid var(--maroon);border-radius:4px;background:transparent;color:var(--maroon);font-family:var(--display);font-size:22px;text-align:center;text-decoration:none}.slip .row-link{font-family:var(--hand);font-size:18px;color:var(--biro);text-align:center}.slip .msg-note{margin:0;font-family:var(--hand);font-size:15px;color:var(--vermilion);text-align:center}.slip .close{align-self:center;border:0;background:none;font-family:var(--hand);font-size:16px;color:var(--soot);text-decoration:underline;text-underline-offset:3px}#done,#after{background:rgba(27,23,56,.97);padding:14px 12px 16px;box-shadow:3px 4px 0 rgba(0,0,0,.35)}.after .stamp.another{font-size:17px;padding:7px 18px;border-width:2.5px;--r:1.5deg}#done{gap:7px}.after .paused-note{margin:0;font-family:var(--hand);font-size:15px;color:var(--wall);text-align:center}.pick.pattern .motif-cv{width:100%;max-width:84px;aspect-ratio:1}.lang-tag{position:fixed;left:max(14px,calc(50% - 220px + 14px));bottom:10px;z-index:5;padding:4px 13px 6px;background:var(--cream);color:var(--maroon);font:22px 'Kavivanar',var(--hand),cursive;line-height:1.2;transform:rotate(3deg);transform-origin:50% -8px;box-shadow:3px 3px 0 var(--teal);border:2px solid var(--soot);border-radius:3px;cursor:pointer}.lang-tag::before{content:"";position:absolute;top:-9px;left:50%;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:var(--vermilion);border:2px solid var(--soot)}.lang-tag:lang(en){font:700 19px var(--hand),cursive;padding:6px 13px 6px}.lang-tag:active{transform:rotate(-2deg)}@media (max-height:640px){.wall{padding:12px 18px 14px;gap:10px}.mast b{font-size:34px}.chit{padding:7px 13px 8px;font-size:16px}.wall .shelf{margin-top:2px}.shelf{gap:10px 10px}.box{padding:6px 4px 7px}.box svg{width:44px;height:44px}}:lang(ta) *,:lang(ta) *::before,:lang(ta) *::after{letter-spacing:0 !important}:lang(ta) .greet .msg{line-height:1.2}:lang(ta) .greet .from{font-size:clamp(20px,6vw,25px)}:lang(ta) .box .ta{font-size:11.5px;line-height:1.25}:lang(ta) .box .en{font-size:9.5px;text-transform:none}:lang(ta) .counter h1{font-size:26px;line-height:1.25}:lang(ta) .stamp{font-size:17px;line-height:1.3}:lang(ta) .after .stamp{font-size:18px}:lang(ta) .chit{font-size:16px}@media (max-height:640px){:lang(ta) .wall{gap:7px}:lang(ta) .box svg{width:40px;height:40px}:lang(ta) .chit{font-size:14px;line-height:1.3}}:lang(ta){--display:"Mukta Malar","Coiny",system-ui,sans-serif}:lang(ta) .mast b{font-family:"Coiny",sans-serif}:lang(ta) .box .ta,:lang(ta) .counter h1,:lang(ta) .pick.pattern span,:lang(ta) .pick.sound b,:lang(ta) .stamp,:lang(ta) .greet .msg,:lang(ta) .slip h2,:lang(ta) .mast span{font-weight:700}:lang(ta) .box .ta{font-size:12.5px}.foot-right{position:fixed;right:max(16px,calc(50% - 220px + 16px));bottom:13px;z-index:5;margin:0;display:flex;align-items:baseline;gap:14px;font:15px var(--hand),cursive;color:var(--cream)}.foot-right .byline{opacity:.75}.privacy-link{font:15px var(--hand),cursive;color:var(--cream);text-decoration:underline;text-underline-offset:3px;opacity:.85}.fail-code{margin:0;font:12px var(--body);color:var(--cream);opacity:.55;text-align:center}.ts-slot{align-self:center;width:300px;max-width:100%}.save-note{margin:0;font:19px var(--hand),cursive;color:var(--cream);text-align:center}.stamp[aria-busy="true"]{opacity:.6}#words .counter-inner::after{content:"";margin-top:auto}.verify-bar{position:fixed;left:0;right:0;bottom:0;z-index:60;margin:0;padding:9px 14px calc(9px + env(safe-area-inset-bottom,0px));background:rgba(31,26,26,.92);color:var(--cream);font:15px var(--body);text-align:center}.top .start-over{margin:0 auto 0 14px}.top .linkish,.top .stepno{white-space:nowrap}:lang(ta) .top .linkish,:lang(ta) .top .stepno{font-size:14px}.counter .top{flex-wrap:wrap;row-gap:2px}.counter .top .stepno{margin-left:auto}.save-fuse{align-self:center;width:180px;height:10px;border-radius:5px;background:rgba(247,238,218,.15);position:relative;overflow:hidden}.save-fuse i{position:absolute;top:0;bottom:0;left:0;width:40%;border-radius:5px;background:linear-gradient(90deg,#c9a46a,#F28A2E);animation:savefuse 1.4s ease-in-out infinite alternate}@keyframes savefuse{from{transform:translateX(-60%)}to{transform:translateX(210%)}}