:root{--cream: #f1f6ef;--cream-deep: #e2ece2;--brand-green: #06634b;--brand-green-bright: #0e8f6b;--ink: #10241d;--ink-soft: rgba(16, 36, 29, .66);--leaf: #06634b;--night: #0c1512;--marigold: #e8871e;--display: "Marcellus", "Anek Malayalam", "Georgia", serif;--body: "Karla", "Anek Malayalam", system-ui, sans-serif;--malayalam: "Anek Malayalam", system-ui, sans-serif;--anek: "Anek Malayalam", system-ui, sans-serif;--saira: "Saira", "Karla", sans-serif}*{margin:0;padding:0;box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%;overflow:hidden;background:var(--night);font-family:var(--body);color:var(--ink);-webkit-font-smoothing:antialiased}#app canvas{position:fixed;inset:0;display:block;touch-action:none}#ui:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse 120% 90% at 50% 42%,transparent 60%,rgba(10,8,12,.3) 100%)}#ui{position:fixed;inset:0;pointer-events:none;z-index:10;touch-action:pan-x pan-y}#ui>*{pointer-events:auto}.card{background:repeating-linear-gradient(0deg,rgba(6,99,75,.05) 0 1px,transparent 1px 4px),var(--cream);border:1px solid var(--brand-green);box-shadow:inset 0 0 0 3px var(--cream),inset 0 0 0 4px #06634b66,0 10px 34px #05040a73;border-radius:14px}button{font-family:var(--body);cursor:pointer;border:none;background:none;color:inherit}button:focus-visible,input:focus-visible{outline:2px solid var(--brand-green-bright);outline-offset:2px}.cta{display:block;width:100%;padding:.85rem 1.4rem;border-radius:10px;background:linear-gradient(180deg,var(--brand-green-bright),var(--brand-green));color:#f4faf7;font-weight:600;font-size:1rem;letter-spacing:.02em;border:1px solid #034534;box-shadow:inset 0 1px #ffffff38,0 4px 14px #06634b59;transition:transform .15s ease,box-shadow .15s ease}.cta:hover:not(:disabled){transform:translateY(-1px);box-shadow:inset 0 1px #ffffff38,0 8px 20px #06634b73}.cta:disabled{opacity:.45;cursor:default}.cta-pulse{position:relative}.cta-pulse:after{content:"";position:absolute;inset:-6px;border-radius:inherit;background:var(--brand-green-bright);opacity:0;pointer-events:none;animation:cta-breathe 2.8s ease-in-out 2s infinite}.cta-pulse:hover:after,.cta-pulse:focus-visible:after,.cta-pulse:active:after{animation:none}@keyframes cta-breathe{0%,to{opacity:0}50%{opacity:.22}}.ghost{display:block;width:100%;padding:.7rem 1.2rem;border-radius:10px;color:var(--ink-soft);font-weight:600;border:1px solid rgba(6,99,75,.35);transition:border-color .15s ease,color .15s ease}.ghost:hover{color:var(--ink);border-color:var(--brand-green)}.share-bar{position:fixed;bottom:max(1.75rem,calc(env(safe-area-inset-bottom) + .9rem));left:50%;width:min(371px,calc(100vw - 40px));transform:translate(-50%);display:flex;gap:10px;animation:share-rise .4s ease both;z-index:30}.share-cta{flex:1;display:flex;align-items:center;justify-content:center;gap:16px;padding:16px 12px;border-radius:11.5px;background:#0b7c5e;border:none;color:#fdfdfc;font-family:var(--anek);font-weight:600;font-size:1rem}.share-cta img{width:24px;height:24px}.share-preview{position:fixed;inset:0;z-index:40;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:max(1.25rem,env(safe-area-inset-top)) 1.25rem max(1.25rem,env(safe-area-inset-bottom));background:#08060cc7;animation:preview-dim .25s ease both}@keyframes preview-dim{0%{opacity:0}}.share-preview-img{display:block;width:auto;max-width:min(371px,100%);max-height:calc(100% - 68px);border-radius:16px;box-shadow:0 24px 64px #00000080;animation:preview-card-in .4s cubic-bezier(.2,.9,.3,1.1) both}@keyframes preview-card-in{0%{opacity:0;transform:translateY(14px) scale(.97)}}.share-preview-actions{display:flex;gap:10px;width:min(371px,100%)}.share-preview-actions button{white-space:nowrap}.share-copy{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;padding:16px 12px;border-radius:11.5px;border:none;background:#fffaef;color:#0b7c5e;font-family:var(--anek);font-weight:600;font-size:1rem}.share-copy svg{width:22px;height:22px;flex:none}.share-preview-close{position:absolute;top:max(.9rem,env(safe-area-inset-top));right:max(.9rem,env(safe-area-inset-right));width:2.4rem;height:2.4rem;display:grid;place-items:center;border-radius:50%;border:none;background:#fffaefeb;color:#141310;font-size:1.3rem;line-height:1}.share-scrim{position:fixed;left:0;right:0;bottom:0;height:195px;pointer-events:none!important;background:linear-gradient(180deg,#0000 2.83%,#0000006b 44.12%,#000 133.48%);animation:rise .4s ease both;z-index:29}@keyframes share-rise{0%{opacity:0;transform:translate(-50%,12px)}}.find-mine{position:fixed;--rest: max(1.1rem, env(safe-area-inset-bottom));bottom:calc(var(--rest) + var(--lift, 0px));left:50%;transform:translate(-50%);padding:.85rem 1.4rem;font-family:var(--anek);font-weight:600;font-size:.95rem;color:#0b7c5e;background:#fffaef;border-radius:999px;white-space:nowrap;box-shadow:0 10px 30px #05040a52;transition:opacity .4s ease,box-shadow .15s ease;z-index:30}.find-mine:hover{box-shadow:0 12px 34px #05040a66}.zoomctl{position:fixed;right:max(.9rem,env(safe-area-inset-right));top:50%;transform:translateY(-50%);display:flex;flex-direction:column;background:#fffaef;border-radius:16px;box-shadow:0 10px 30px #05040a52;overflow:hidden;transition:opacity .4s ease}.zoomctl button{width:2.7rem;height:2.7rem;display:grid;place-items:center;font-family:var(--anek);font-size:1.45rem;font-weight:600;line-height:1;color:#0b7c5e;touch-action:none;user-select:none;-webkit-user-select:none}.zoomctl button+button{border-top:1px solid rgba(11,124,94,.14)}.zoomctl button:active{background:#0b7c5e17}#ui[data-stage=loading] .zoomctl,#ui[data-stage=welcome] .zoomctl,.modal-open .zoomctl,.cinema .zoomctl{opacity:0;pointer-events:none}.credits-btn{position:fixed;top:max(.9rem,env(safe-area-inset-top));right:max(.9rem,env(safe-area-inset-right));width:1.9rem;height:1.9rem;display:grid;place-items:center;border-radius:50%;background:#fffaefd9;border:1px solid rgba(11,124,94,.32);font-family:Marcellus,Georgia,serif;font-size:.95rem;line-height:1;color:#0b7c5e}.credits{position:fixed;top:calc(max(.9rem,env(safe-area-inset-top)) + 2.5rem);right:max(.9rem,env(safe-area-inset-right));width:min(20rem,calc(100vw - 1.8rem));padding:.6rem .75rem;border-radius:12px;background:#fffaefd9;pointer-events:none;text-align:right;font-size:.68rem;line-height:1.65;color:#111111c7;animation:credits-in .22s ease both}@keyframes credits-in{0%{opacity:0;transform:translateY(-6px)}}.card{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(30rem,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);overflow-y:auto;padding:2rem 2.2rem;border-radius:18px;animation:card-in .5s cubic-bezier(.2,.9,.3,1.2) both}@keyframes card-in{0%{opacity:0;transform:translate(-50%,-46%) scale(.96)}}.modal-open:after{content:"";position:fixed;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 40%,#0a081259,#0a0812b8)}.card h1{margin-bottom:.4rem}.card h2{font-family:var(--display);font-weight:400;font-size:1.6rem;margin-bottom:.4rem}.lede{font-size:.95rem;line-height:1.55;color:var(--ink-soft);margin-bottom:1.4rem}.lede b{color:var(--ink)}.card.sheet{top:auto;bottom:0;transform:translate(-50%);width:min(28rem,100vw);max-height:calc(100dvh - 3rem);display:flex;flex-direction:column;border-radius:32px 32px 0 0;background:var(--sheet-bg, #fffaef);border:none;box-shadow:0 -16px 48px #05040a66;animation:sheet-in .55s cubic-bezier(.2,.9,.3,1) both;scrollbar-width:none}.card.sheet::-webkit-scrollbar{display:none}#welcome{gap:clamp(1.3rem,5.6vw,2.2rem);text-align:left;padding:clamp(4rem,15vw,5rem) clamp(1rem,4vw,1.25rem) calc(clamp(1.2rem,4.4vw,1.6rem) + env(safe-area-inset-bottom))}@keyframes sheet-in{0%{opacity:0;transform:translate(-50%,10%)}}.welcome-badge{position:absolute;top:clamp(1rem,4vw,1.25rem);left:clamp(1rem,4vw,1.25rem);display:flex;align-items:center;gap:clamp(.45rem,2vw,.6rem);font-family:var(--anek);font-size:clamp(.78rem,3.6vw,.875rem);color:#111}.welcome-appicon{width:clamp(30px,9.5vw,36px);height:clamp(30px,9.5vw,36px);border-radius:26%}.welcome-head{display:flex;flex-direction:column;gap:.35rem}.welcome-eyebrow{font-family:var(--anek);font-weight:600;font-size:clamp(.85rem,4vw,1rem);color:#0b7c5e}#welcome h1{font-family:var(--anek);font-weight:600;font-size:clamp(1.15rem,6.1vw,1.625rem);line-height:1.35;color:#000;margin:0}.welcome-stats{position:relative;display:flex;flex-direction:column;gap:.2rem;width:100%;padding:clamp(.6rem,2.6vw,.75rem) clamp(.8rem,3.4vw,1rem);background:#fff1d6;border:1px solid rgba(238,164,26,.1);border-radius:12px;overflow:hidden}.welcome-stats b{font-family:var(--saira);font-weight:600;font-size:clamp(2.1rem,11.5vw,3.1rem);line-height:1.1;color:#b37500;font-variant-numeric:tabular-nums;transform-origin:left bottom}.welcome-stats b.tick{animation:count-tick .9s ease}@keyframes count-tick{0%{transform:scale(1)}30%{transform:scale(1.07);color:#e09200}to{transform:scale(1)}}@media (prefers-reduced-motion: reduce){.welcome-stats b.tick{animation:none}}.welcome-stats span{font-family:var(--anek);font-weight:500;font-size:clamp(.78rem,3.5vw,.875rem);color:#000}.welcome-stats-pookalam{position:absolute;top:-8px;width:clamp(74px,26vw,100px);right:0;opacity:.9;pointer-events:none}.welcome-go{display:flex;flex-direction:column;gap:clamp(.5rem,2.4vw,.7rem);width:100%}.sheet .cta{font-family:var(--anek);font-weight:600;font-size:clamp(.88rem,4.1vw,1rem);padding:clamp(.8rem,3.4vw,1rem) .5rem;border-radius:12px;background:#0b7c5e;border:none;color:#fdfdfc;box-shadow:none;white-space:nowrap}.sheet .cta:hover:not(:disabled){box-shadow:0 8px 20px #0b7c5e59}.card input{width:100%;padding:.75rem .9rem;font-family:var(--body);font-size:1rem;color:var(--ink);background:#fffcf4cc;border:1px solid rgba(6,99,75,.4);border-radius:10px;margin-bottom:.7rem}.card .cta{margin-top:.3rem;margin-bottom:.55rem}.nameplate{--sheet-bg: #fefaf2;gap:14px;padding:1.5rem clamp(1.25rem,7.8vw,2rem) calc(clamp(1.5rem,9.7vw,2.5rem) + env(safe-area-inset-bottom))}.nameplate-head{display:flex;flex-direction:column;gap:4px}.nameplate-head h2{font-family:var(--anek);font-weight:600;font-size:clamp(1rem,4.4vw,1.125rem);color:#000;margin:0}.nameplate-head p{font-family:var(--anek);font-weight:400;font-size:clamp(.8rem,3.4vw,.875rem);color:#0009}#nameplateForm{display:flex;flex-direction:column;gap:14px}.field{display:flex;flex-direction:column;gap:4px}.field>label{padding:0 4px;font-family:var(--anek);font-weight:400;font-size:.875rem;line-height:22px;letter-spacing:-.04em;color:#000}.nameplate input{height:44px;margin:0;padding:10px 16px;font-family:var(--anek);letter-spacing:-.04em;color:#000;background:#f3eee1;border:1px solid rgba(0,0,0,.02);border-radius:10px}.nameplate input{font-size:1rem}.nameplate input::placeholder{color:#00000059}.nameplate .cta{margin:34px 0 0;min-height:48.75px;padding:.75rem;border-radius:11.5px;font-size:clamp(.85rem,3.75vw,.96rem)}.picker{align-items:center;gap:clamp(.8rem,3.4vw,1.25rem);text-align:center;padding:clamp(1.1rem,4.2vw,1.5rem) clamp(1rem,4vw,1.25rem) calc(clamp(1.1rem,4vw,1.4rem) + env(safe-area-inset-bottom))}.picker h2{font-family:var(--anek);font-weight:600;font-size:clamp(.9rem,4.6vw,1.125rem);color:#000;margin:0}.picker-stage{flex:0 0 auto;width:min(10rem,46vw);width:min(10rem,46vw,24dvh);border-radius:14px;overflow:hidden;background:#382a1a}.picker .cta{position:sticky;bottom:-.1px;z-index:1}.picker .cta:after{content:"";position:absolute;z-index:-1;left:-.5rem;right:-.5rem;top:-.8rem;bottom:calc(-1*(clamp(1.1rem,4vw,1.4rem) + env(safe-area-inset-bottom)));background:linear-gradient(180deg,#fffaef00,#fffaef .8rem)}.picker-stage canvas{display:block;width:100%;height:auto;animation:stage-in .3s ease both}@keyframes stage-in{0%{opacity:0;transform:scale(.97)}}.picker-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(.4rem,2.2vw,.75rem);width:min(24rem,100%);margin:0;padding:.15rem}.thumb{position:relative;aspect-ratio:1;border-radius:14px;overflow:hidden;border:none;background:#382a1a;display:flex;flex-direction:column;transform:scale(.94);opacity:.68;transition:transform .2s ease,opacity .2s ease,box-shadow .2s ease}.thumb canvas{width:100%;height:100%;display:block}.thumb:hover{transform:scale(.97);opacity:.85}.thumb.active,.thumb.active:hover{transform:none;opacity:1;box-shadow:0 5px 14px #05040a4d}.buildbar{position:fixed;left:50%;bottom:0;transform:translate(-50%);width:min(29rem,100vw);display:flex;flex-direction:column;align-items:center;padding:0 clamp(.35rem,2vw,.5rem) calc(max(1rem,env(safe-area-inset-bottom)) + clamp(.5rem,2.6vw,.9rem))}.dock{width:100%;display:flex;flex-direction:column;gap:clamp(.6rem,2.8vw,.9rem);padding:clamp(1rem,4vw,1.4rem) clamp(.8rem,3.4vw,1.2rem) clamp(.9rem,3.4vw,1.2rem);border-radius:clamp(20px,6.5vw,27px);background:#fffaef;border:none;box-shadow:0 14px 40px #05040a66;animation:dock-rise .42s cubic-bezier(.2,.8,.3,1) both}@keyframes dock-rise{0%{opacity:0;transform:translateY(22px)}}.dock-actions{display:flex;gap:clamp(.5rem,2.6vw,.85rem)}.dock-actions.with-undo .dock-auto{flex-grow:1.4}.dock-auto,.dock-finish{flex:1;min-width:0;min-height:clamp(2.7rem,9.5vw,3.1rem);padding:clamp(.75rem,3vw,.9rem) clamp(.35rem,1.8vw,.7rem);border-radius:12px;font-family:var(--anek);font-size:clamp(.8rem,3.7vw,.95rem);font-weight:600;white-space:nowrap}.dock-auto{color:#0b7c5e;border:1px solid #0b7c5e;transition:background .15s ease}.dock-auto:hover{background:#0b7c5e12}.dock-undo{flex:0 0 auto;display:grid;place-items:center;width:clamp(2.7rem,9.5vw,3.1rem);padding:0;border-radius:12px;color:#0b7c5e;border:1px solid #0b7c5e;transition:background .15s ease}.dock-undo svg{width:1.15rem;height:1.15rem}.dock-undo:hover{background:#0b7c5e12}.dock-undo.in{animation:undo-in .28s cubic-bezier(.2,.9,.3,1.2) both}@keyframes undo-in{0%{width:0;margin-right:calc(-1*clamp(.5rem,2.6vw,.85rem));opacity:0;transform:scale(.7)}}@media (prefers-reduced-motion: reduce){.dock-undo.in{animation:none}}.dock-finish{letter-spacing:.01em;color:#fdfdfc;background:#0b7c5e;border:none;transition:background .15s ease,box-shadow .15s ease}.dock-finish:hover:not(:disabled){box-shadow:0 8px 20px #0b7c5e59}.dock-finish:disabled{background:#0b7c5e80;cursor:default}.tray{position:relative;min-width:0}.uruli{min-width:0;display:flex;align-items:center;gap:.4rem;padding:.1rem .15rem;overflow-x:auto;scrollbar-width:none;mask-image:linear-gradient(90deg,transparent 0,#000 1rem,#000 calc(100% - 2.4rem),transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 1rem,#000 calc(100% - 2.4rem),transparent 100%)}.uruli::-webkit-scrollbar{display:none}.uruli-more{position:absolute;top:0;bottom:0;right:-.2rem;display:flex;align-items:center;pointer-events:none;transition:opacity .3s ease}.uruli-more svg{width:22px;height:22px;fill:none;stroke:var(--brand-green);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;animation:more-nudge 1.4s ease-in-out infinite}.uruli-more.gone{opacity:0}@keyframes more-nudge{0%,to{transform:translate(0);opacity:.55}50%{transform:translate(4px);opacity:1}}.flower-chip{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.3rem .2rem;border-radius:14px;border:2px solid transparent;transition:background .15s ease,border-color .15s ease}.flower-chip:focus-visible{outline:none;border-color:#0b7c5e73}.flower-chip canvas{width:clamp(56px,18vw,68px);height:clamp(56px,18vw,68px);border-radius:50%;transform:scale(.66);transform-origin:center bottom;transition:transform .2s ease}.flower-name{max-width:100%;font-family:var(--anek);font-size:clamp(.56rem,2.6vw,.62rem);line-height:1.15rem;color:#00000080;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 .15rem;transition:color .15s ease}.flower-chip:hover{background:#0b7c5e0f}.flower-chip.active canvas{transform:scale(1)}.flower-chip.active .flower-name{color:#000;font-weight:600;font-size:clamp(.7rem,3.2vw,.8rem)}.toasts{position:fixed;left:1rem;bottom:max(1rem,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:.4rem;max-width:min(20rem,70vw);z-index:41}.toast{background:#100c18d1;color:var(--cream);border:1px solid rgba(14,143,107,.55);border-radius:10px;padding:.55rem .85rem;font-size:.82rem;animation:toast-in .4s cubic-bezier(.2,.9,.3,1.3) both;transition:opacity .5s ease}.toast.gone{opacity:0}.board-banner{display:flex;align-items:flex-start;gap:.3rem;width:100%;text-align:left;pointer-events:none!important;animation:toast-in .4s cubic-bezier(.2,.9,.3,1.3) both}.board-banner img{width:clamp(15px,4.6vw,18px);height:clamp(15px,4.6vw,18px);flex:0 0 auto;margin-top:.1em}.board-banner span{font-family:var(--anek);font-size:clamp(.78rem,3.5vw,.875rem);font-weight:500;line-height:1.35;color:#000000b3}@keyframes toast-in{0%{opacity:0;transform:translate(-12px)}}.hint{position:fixed;left:50%;bottom:max(1.2rem,env(safe-area-inset-bottom));transform:translate(-50%);color:#f6efddd9;background:#100c1899;border-radius:999px;padding:.5rem 1.1rem;font-size:.84rem;pointer-events:none!important}.uruli.coach .flower-chip{position:relative}.uruli.coach .flower-chip:after{content:"";position:absolute;inset:0;border-radius:inherit;background:#06634b0d;pointer-events:none;opacity:0;animation:coach-breathe 1.8s ease-in-out infinite}@keyframes coach-breathe{0%,to{opacity:0}50%{opacity:1}}.welcome[data-animate]>:not(form),.welcome[data-animate] form>*{animation:rise .5s cubic-bezier(.2,.8,.3,1) both}.welcome[data-animate]>*:nth-child(2),.welcome[data-animate] form>*:nth-child(2){animation-delay:.08s}.welcome[data-animate]>*:nth-child(3),.welcome[data-animate] form>*:nth-child(3){animation-delay:.16s}.welcome[data-animate]>*:nth-child(4){animation-delay:.24s}.welcome[data-animate]>*:nth-child(5){animation-delay:.3s}.welcome[data-animate]>*:nth-child(6){animation-delay:.36s}.welcome[data-animate]>*:nth-child(7){animation-delay:.42s}.welcome[data-animate]>*:nth-child(8){animation-delay:.5s}@keyframes rise{0%{opacity:0;transform:translateY(12px)}}.cinema .find-mine,.cinema .buildbar{opacity:0;pointer-events:none}@media (max-width: 640px){.card:not(.sheet){padding:1.5rem 1.3rem}.toasts{bottom:auto;top:calc(max(.9rem,env(safe-area-inset-top)) + 3.2rem);left:.8rem;max-width:60vw}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01s!important;transition-duration:.05s!important}.cta-pulse:after,.uruli-more svg{animation:none!important}}.visit{position:fixed;left:0;right:0;bottom:0;z-index:28;display:flex;justify-content:center;padding:4.5rem 1rem calc(1.1rem + env(safe-area-inset-bottom));background:linear-gradient(180deg,#0000 2.83%,#0000006b 44.12%,#000 133.48%);pointer-events:none}.visit .cta{pointer-events:auto;width:min(22rem,100%)}
