.landing{max-width:1200px;margin:0 auto;padding:0 20px;overflow-x:clip}html{scroll-behavior:smooth}.landing section[id]{scroll-margin-top:96px}.site-header{z-index:30;padding:14px 0 6px;transition:padding .25s;position:sticky;top:0}.site-header.is-scrolled{padding-top:10px}.sh-capsule{-webkit-backdrop-filter:saturate(1.6)blur(14px);box-shadow:0 0 0 1px var(--line);background:#ffffffc7;border-radius:999px;justify-content:space-between;align-items:center;gap:12px;padding:8px 8px 8px 20px;transition:box-shadow .25s,padding .25s,background .25s;display:flex}.is-scrolled .sh-capsule{box-shadow:0 0 0 1px var(--line), 0 14px 34px -20px #17191d73;background:#ffffffe6;padding-top:6px;padding-bottom:6px}.sh-logo{flex:none;align-items:center;display:flex}.sh-logo img{width:auto;height:34px;transition:height .25s}.is-scrolled .sh-logo img{height:30px}.sh-nav{background:#f1f2f5;border-radius:999px;gap:4px;padding:4px;display:flex}.sh-nav a{font:600 14px var(--font);color:#3d4048;border-radius:999px;padding:8px 14px;text-decoration:none;transition:background .2s,color .2s}.sh-nav a:hover{color:var(--ink);background:#fff}.sh-nav a.on{background:var(--brand);color:#fff}.sh-actions{flex:none;align-items:center;gap:6px;display:flex}.sh-login{font:700 14px var(--font);color:var(--ink);border-radius:999px;padding:10px 14px;text-decoration:none}.sh-login:hover{background:#f1f2f5}.sh-cta{box-shadow:3px 3px 0 var(--ink);min-height:40px;padding:9px 18px;font-size:14px}@media (width<=860px){.sh-nav{display:none}}@media (width<=420px){.sh-capsule{padding-left:14px}.sh-logo img{height:28px}.sh-login{padding:8px 10px}.sh-cta{padding:8px 14px;font-size:13px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.l-hero{grid-template-columns:1.05fr 1fr;align-items:center;gap:48px;padding:36px 0 60px;display:grid}.l-hero>*{min-width:0}.l-hero-copy{flex-direction:column;gap:22px;display:flex}.l-hero h1{letter-spacing:-.06em;font-size:clamp(46px,6.6vw,92px);line-height:.92}.l-hero h1 .y{color:var(--brand);display:inline}.l-hero p{color:#3d4048;max-width:34ch;font-size:19px}.l-hero .tape{align-self:flex-start}.demo{flex-direction:column;align-items:center;gap:18px;width:100%;min-width:0;display:flex}.demo-rubros{box-shadow:0 0 0 1px var(--line);scrollbar-width:none;background:#fff;border-radius:999px;gap:4px;max-width:100%;padding:5px;display:flex;overflow-x:auto}.demo-rubros::-webkit-scrollbar{display:none}.demo-rubros button{color:var(--muted);font:700 13px var(--font);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:999px;align-items:center;gap:7px;padding:5px 12px 5px 5px;transition:background .2s,color .2s;display:inline-flex}.demo-rubros .dr-ic{width:30px;height:30px;color:var(--ink);background:#f1f2f5;border-radius:50%;place-items:center;transition:background .2s,color .2s;display:grid}.demo-rubros button:hover{color:var(--ink)}.demo-rubros button.on{background:var(--ink);color:#fff}.demo-rubros button.on .dr-ic{color:var(--ink);background:#fff}.demo-stage{width:100%;max-width:560px;height:600px;position:relative}.iphone{z-index:2;background:#0b0b0d;border-radius:52px;width:300px;height:600px;padding:14px;position:absolute;top:0;left:50%;overflow:hidden;transform:translate(-38%);box-shadow:inset 0 0 0 2px #2b2d33,0 40px 70px -40px #17191dbf}.iphone-island{z-index:4;background:#000;border-radius:20px;width:92px;height:26px;position:absolute;top:22px;left:50%;transform:translate(-50%)}.iphone-status{color:#fff;font:700 14px var(--font);justify-content:space-between;align-items:center;height:44px;padding:10px 22px 0;display:flex}.ip-bars{align-items:flex-end;gap:2px;display:flex}.ip-bars i{background:#fff;border-radius:1px;width:3px}.ip-bars i:first-child{height:4px}.ip-bars i:nth-child(2){height:6px}.ip-bars i:nth-child(3){height:8px}.ip-bars i:nth-child(4){height:10px}.pass{border-radius:14px;flex-direction:column;gap:12px;margin-top:18px;padding:14px 14px 16px;transition:background .35s,color .35s;display:flex}.pass-top{justify-content:space-between;align-items:flex-start;display:flex}.pass-name{font:800 17px var(--display);letter-spacing:-.03em}.pass-field{flex-direction:column;gap:1px;display:flex}.pass-field.right{text-align:right}.pass-field small{font:700 9.5px var(--font);letter-spacing:.08em}.pass-field b{font:600 13px/1.3 var(--font)}.pass-field.right b{font:800 22px var(--display);letter-spacing:-.03em}.pass-strip{justify-items:center;gap:8px;margin:0 -14px;padding:10px 18px;display:grid}.ps-stamp{aspect-ratio:1;border-radius:50%;place-items:center;width:100%;max-width:40px;display:grid}.ps-stamp svg{width:56%;height:56%}.ps-stamp.empty{opacity:.75;border:2px dashed}.ps-stamp.new{animation:.5s cubic-bezier(.3,1.8,.5,1) both stamp-in}.pass-fields{justify-content:space-between;gap:10px;display:flex}.pass-qr{background:#fff;border-radius:10px;flex-direction:column;align-self:center;align-items:center;gap:3px;margin-top:4px;padding:9px 9px 5px;display:flex}.pass-qr img{width:96px;height:96px}.pass-qr small{color:var(--muted);font:600 9px var(--font)}.ios-notice{z-index:5;-webkit-backdrop-filter:blur(16px);color:var(--ink);background:#f5f5f7eb;border-radius:20px;align-items:center;gap:10px;padding:10px 12px;animation:.5s cubic-bezier(.3,1.5,.5,1) both notice-in,.35s 2.25s forwards notice-out;display:flex;position:absolute;top:14px;left:10px;right:10px;box-shadow:0 10px 24px #00000059}.ion-icon{border-radius:9px;flex:none;place-items:center;width:34px;height:34px;display:grid}.ion-body{flex-direction:column;min-width:0;font-size:12px;line-height:1.3;display:flex}.ion-body b{font-size:12.5px}.ion-time{color:var(--muted);align-self:flex-start;font-size:11px}@keyframes notice-in{0%{opacity:0;transform:translateY(-120%)}}@keyframes notice-out{to{opacity:0;transform:translateY(-120%)}}.till{z-index:3;width:232px;box-shadow:0 0 0 1px var(--line), 0 26px 44px -26px #17191d8c;background:#fff;border-radius:22px;flex-direction:column;gap:10px;padding:14px;display:flex;position:absolute;bottom:44px;left:0;transform:rotate(-3deg)}.till-head{font:700 12px var(--font);color:var(--muted);align-items:center;gap:6px;display:flex}.till-row b{font:800 18px var(--display);letter-spacing:-.03em;display:block}.till-row small{color:var(--muted);font-size:13px}.till-btn{white-space:nowrap;width:100%;min-height:52px;padding-left:14px;padding-right:14px;font-size:16px}.till-hint{font:600 12px var(--font);color:var(--muted);text-align:center}.demo-mascot{z-index:1;pointer-events:none;position:absolute;bottom:30px;right:-4px;transform:rotate(8deg)}.l-block{padding:64px 0 20px}.l-head{flex-wrap:wrap;align-items:baseline;gap:16px;margin-bottom:28px;display:flex}.l-head h2{letter-spacing:-.055em;font-size:clamp(36px,5vw,64px)}.journey{grid-template-columns:repeat(3,1fr);gap:20px;display:grid;position:relative}.journey:before{content:"";border-top:2.5px dashed var(--brand-light);z-index:0;position:absolute;top:170px;left:12%;right:12%}.journey figure{z-index:1;flex-direction:column;align-items:center;gap:18px;margin:0;display:flex;position:relative}.journey figcaption{text-align:center;max-width:30ch}.journey figcaption p{color:var(--muted);margin-top:6px;font-size:15px}.j-poster{width:220px;height:340px;box-shadow:0 18px 30px -18px #17191d66, 0 0 0 1px var(--line);background:#fff;border-radius:6px;flex-direction:column;gap:10px;padding:18px 16px;display:flex;transform:rotate(-3deg)}.j-poster .j-biz{font:700 12px var(--font);color:var(--muted)}.j-poster b{font:800 34px/.95 var(--display);letter-spacing:-.05em}.j-poster b span{color:var(--brand)}.j-poster img{align-self:center;width:150px;height:150px;margin-top:4px}.j-poster small{text-align:center;font-weight:700}.j-phone{border:8px solid var(--ink);background:#fff;border-radius:34px;width:200px;height:340px;position:relative;overflow:hidden;box-shadow:0 18px 30px -18px #17191d73}.j-phone.dark{background:#0d0e10}.j-notch{background:var(--ink);border-radius:0 0 12px 12px;width:70px;height:18px;margin:0 auto}.j-screen{flex-direction:column;gap:9px;padding:16px 14px;display:flex}.j-screen b{font:800 19px var(--display);letter-spacing:-.04em}.j-input{border:1.5px solid var(--line);border-radius:10px;padding:8px 10px;font-size:13px}.j-check{color:var(--muted);font-size:11px}.j-btn{background:var(--brand);color:#fff;text-align:center;font:700 13px var(--font);border-radius:999px;margin-top:4px;padding:10px}.j-wallet{color:#fff}.j-pass{color:#fff;font:700 12px var(--font);border-radius:10px;flex-direction:column;gap:8px;padding:10px;display:flex}.j-pass+.j-pass{margin-top:-6px;box-shadow:0 -6px 12px #00000059}.j-dots{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.j-dots i{aspect-ratio:1;border:1.5px dashed #fff6;border-radius:50%}.j-dots i.on{background:#fff4e6;border:0}.j-badge{align-self:center;width:120px;margin-top:6px}.l-panel-grid{grid-template-columns:1fr 1fr;align-items:start;gap:28px;display:grid}.mini-panel{box-shadow:0 0 0 1px var(--line), 0 30px 50px -30px #17191d59;background:#fff;border-radius:24px;overflow:hidden;transform:rotate(1deg)}.mp-top{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.mp-top b{font:800 18px var(--display);letter-spacing:-.03em}.mp-kpi{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.mp-kpi div{border-right:1px solid var(--line);padding:16px 18px}.mp-kpi div:last-child{border-right:0}.mp-kpi b{font:800 32px var(--display);letter-spacing:-.05em;display:block}.mp-kpi span{color:var(--muted);font-size:12px}.mp-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.mp-row .btn{pointer-events:none}.mp-note{color:var(--soft);padding:10px 18px 14px;font-size:12px}.features{flex-direction:column;gap:18px;margin:0;padding:0;list-style:none;display:flex}.features li{align-items:flex-start;gap:14px;display:flex}.features .ic{width:44px;height:44px;color:var(--brand-deep);background:#ece5fb;border-radius:14px;flex:none;place-items:center;display:grid}.features p{margin-top:3px;font-size:15px}.pricing{grid-template-columns:minmax(0,440px) 1fr;align-items:center;gap:36px;display:grid}.pr-card{box-shadow:0 0 0 1.5px var(--ink), 6px 6px 0 var(--ink);background:#fff;border-radius:28px;flex-direction:column;gap:14px;padding:24px;display:flex}.pr-toggle{background:#f1f2f5;border-radius:999px;padding:4px;display:flex}.pr-toggle button{font:700 14px var(--font);color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;flex:1;justify-content:center;align-items:center;gap:6px;padding:10px;display:inline-flex}.pr-toggle button.on{background:var(--ink);color:#fff}.pr-save{background:var(--yapa);color:var(--ink);border-radius:999px;padding:2px 8px;font-size:11px}.pr-price{align-items:baseline;gap:8px;padding-top:6px;display:flex}.pr-price b{font:800 64px var(--display);letter-spacing:-.06em;line-height:1}.pr-price span{color:var(--muted);font-weight:600}.pr-sub{min-height:24px}.pr-list{grid-template-columns:1fr 1fr;gap:14px 24px;margin:0;padding:0;list-style:none;display:grid}.pr-list li{align-items:flex-start;gap:10px;font-size:16px;font-weight:600;display:flex}.pr-list svg{color:var(--brand);flex:none;margin-top:2px}.faq{flex-direction:column;gap:10px;max-width:820px;display:flex}.faq details{box-shadow:0 0 0 1px var(--line);background:#fff;border-radius:18px}.faq summary{cursor:pointer;font:800 18px var(--display);letter-spacing:-.03em;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary svg{flex:none;transition:transform .2s}.faq details[open] summary svg{transform:rotate(180deg)}.faq details p{color:#3d4048;padding:0 20px 18px}.l-cta{background:var(--brand);color:#fff;border-radius:30px;flex-wrap:wrap;align-items:center;gap:32px;margin:70px 0 30px;padding:40px clamp(22px,5vw,56px);display:flex}.l-cta h2{letter-spacing:-.055em;color:#fff;font-size:clamp(34px,4.6vw,58px)}.l-cta p{color:#ece5fb;max-width:40ch;margin:12px 0 22px;font-size:18px}.l-cta>div{flex:1;min-width:260px}.l-foot{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:20px 0 40px;font-size:14px;display:flex}.l-foot img{width:auto;height:28px}@media (width<=900px){.pricing,.pr-list{grid-template-columns:1fr}.l-hero{grid-template-columns:1fr;gap:36px;padding-top:16px}.journey{grid-template-columns:1fr;gap:40px}.journey:before{display:none}.l-panel-grid{grid-template-columns:1fr}}@media (width<=480px){.demo-stage{height:640px}.iphone{width:280px;height:560px;transform:translate(-50%)}.till{width:250px;bottom:0;left:50%;transform:translate(-50%)rotate(-2deg)}.demo-mascot{bottom:120px;right:-10px}.demo-mascot svg{width:92px;height:auto}.mp-kpi b{font-size:24px}.l-cta{padding:32px 22px}}.reg{max-width:1180px;min-height:100dvh;margin:0 auto;padding:0 20px 60px}.reg-top{justify-content:space-between;align-items:center;padding:20px 0;display:flex}.reg-top img{width:auto;height:36px}.reg-login{color:var(--muted);font-size:14px;text-decoration:none}.reg-login b{color:var(--ink)}.reg-grid{grid-template-columns:minmax(0,1fr) 420px;align-items:start;gap:56px;padding-top:12px;display:grid}.reg-form{max-width:560px}.reg-title h1{letter-spacing:-.055em;font-size:clamp(40px,5vw,60px)}.reg-title p{margin-top:10px;font-size:17px}.reg-steps{gap:6px;margin:0 0 28px;padding:0;list-style:none;display:flex}.reg-steps li{font:700 13px var(--font);color:var(--soft);box-shadow:0 0 0 1px var(--line);background:#fff;border-radius:999px;align-items:center;gap:8px;padding:6px 12px 6px 6px;display:flex}.reg-steps .dot{color:#fff;background:#eef0f3;border-radius:50%;place-items:center;width:22px;height:22px;display:grid}.reg-steps li.on{color:var(--ink);box-shadow:0 0 0 1.5px var(--ink)}.reg-steps li.on .dot{background:var(--brand)}.reg-steps li.done{color:var(--ink)}.reg-steps li.done .dot{background:var(--ink)}.field-block{flex-direction:column;gap:8px;display:flex}.field-label{font-size:13px;font-weight:700}.reg-row{flex-wrap:wrap;align-items:flex-end;gap:14px;display:flex}.stepper{border:1.5px solid var(--line);background:#fff;border-radius:14px;align-items:center;gap:4px;height:50px;padding:4px;display:flex}.stepper button{width:40px;height:40px;font:700 20px var(--font);cursor:pointer;color:var(--ink);background:#f1f2f5;border:0;border-radius:10px}.stepper button:hover{background:#e6e8ec}.stepper b{text-align:center;min-width:34px;font:800 20px var(--display)}.palettes{flex-wrap:wrap;gap:8px;display:flex}.palettes button{width:52px;height:52px;font:800 16px var(--display);cursor:pointer;box-shadow:0 0 0 1px var(--line);border:0;border-radius:14px;transition:transform .15s cubic-bezier(.3,1.6,.5,1)}.palettes button:hover{transform:translateY(-2px)}.palettes button.on{box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--brand)}.reg-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.reg-actions .btn.brand{flex:1;min-width:200px}.hp{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.plans{grid-template-columns:1fr 1fr;gap:12px;display:grid}.plan{text-align:left;border:1.5px solid var(--line);cursor:pointer;font:inherit;color:var(--ink);background:#fff;border-radius:22px;flex-direction:column;gap:4px;padding:20px 18px 16px;transition:border-color .15s,box-shadow .15s;display:flex;position:relative}.plan b{font:800 18px var(--display);letter-spacing:-.03em}.plan-price{font:800 34px var(--display);letter-spacing:-.05em;margin-top:6px}.plan-price small{font:600 14px var(--font);letter-spacing:0;color:var(--muted)}.plan.on{border-color:var(--brand);box-shadow:0 0 0 3px #6032d924}.plan-tag{background:var(--yapa);color:var(--ink);font:700 12px var(--font);border-radius:999px;padding:3px 10px;position:absolute;top:-11px;right:14px;transform:rotate(2deg)}.plan-includes{grid-template-columns:1fr 1fr;gap:8px 16px;margin:0;padding:0;list-style:none;display:grid}.plan-includes li{align-items:center;gap:8px;font-size:14px;display:flex}.plan-includes svg{color:var(--brand);flex:none}.reg-fine{text-align:center}.whop-box{box-shadow:0 0 0 1px var(--line);background:#fff;border-radius:22px;min-height:320px;padding:16px}.confirming{box-shadow:0 0 0 1px var(--line);background:#fff;border-radius:18px;align-items:center;gap:12px;padding:18px;font-weight:700;display:flex}.spinner{border:3px solid #e6e0f8;border-top-color:var(--brand);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.reg-preview{flex-direction:column;align-items:center;gap:8px;display:flex;position:sticky;top:24px}.reg-preview-card{width:100%;transform:rotate(-2deg)}.reg-mascot{align-self:flex-end;margin-top:-26px;margin-right:10px}.reg-note{text-align:center}@media (width<=900px){.reg-grid{grid-template-columns:1fr;gap:28px}.reg-preview{order:-1;width:100%;max-width:380px;margin:0 auto;position:static}.reg-mascot{display:none}.reg-preview-card{transform:none}.reg-steps li{padding-right:10px;font-size:12px}}@media (width<=480px){.plans,.plan-includes{grid-template-columns:1fr}.reg-title h1{font-size:38px}}:root{--paper:#f6f7f9;--card:#fff;--ink:#17191d;--muted:#686d77;--soft:#a7acb5;--line:#e0e4eb;--brand:#6032d9;--brand-deep:#4c24b3;--brand-light:#aa8bea;--yapa:#ffc947;--ok:#1d8a4e;--danger:#d4372c;--radius:20px;--display:"Manrope", system-ui, sans-serif;--font:"DM Sans", system-ui, -apple-system, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{margin:0}body{background:var(--paper);color:var(--ink);font:16px/1.5 var(--font);-webkit-font-smoothing:antialiased}a{color:inherit}h1,h2,h3{font-family:var(--display);letter-spacing:-.045em;margin:0;font-weight:800;line-height:.98}h1{font-size:34px}h2{letter-spacing:-.035em;font-size:24px}h3{letter-spacing:-.02em;font-size:17px;line-height:1.15}p{margin:0}img,svg{display:block}.muted{color:var(--muted)}.small{font-size:13px}.stack{flex-direction:column;gap:12px;display:flex}.stack-lg{flex-direction:column;gap:24px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.spread{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.grid-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.btn{appearance:none;min-height:48px;font:700 15px var(--font);background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:12px 22px;text-decoration:none;transition:transform .15s cubic-bezier(.3,1.6,.5,1),box-shadow .15s,background .15s;display:inline-flex}.btn:hover{transform:translate(-1px,-1px)}.btn:active{transform:translate(2px,2px);box-shadow:none!important}.btn:disabled{opacity:.4;cursor:default;transform:none}.btn.brand{background:var(--brand);box-shadow:4px 4px 0 var(--ink)}.btn.brand:hover{background:var(--brand-deep)}.btn.yapa{background:var(--yapa);color:var(--ink);box-shadow:4px 4px 0 var(--ink)}.btn.white{color:var(--ink);box-shadow:4px 4px 0 var(--ink);background:#fff}.btn.ghost{color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line);background:0 0}.btn.ghost:hover{box-shadow:inset 0 0 0 1.5px var(--ink)}.btn.danger{color:var(--danger);background:0 0;box-shadow:inset 0 0 0 1.5px #f1c9c4}.btn.small{min-height:36px;padding:8px 14px;font-size:13px}.btn.big{border-radius:22px;width:100%;min-height:68px;font-size:19px}.btn.block{width:100%}label.field{flex-direction:column;gap:6px;font-size:13px;font-weight:700;display:flex}label.field .hint{color:var(--muted);font-weight:400}label.field input,label.field select,label.field textarea{font-weight:400}input,select,textarea{font:inherit;border:1.5px solid var(--line);color:var(--ink);background:#fff;border-radius:14px;width:100%;padding:12px 14px;font-size:16px;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 4px #6032d91f}input[type=color]{height:48px;padding:4px}.check{color:var(--muted);align-items:flex-start;gap:10px;font-size:13px;display:flex}.check input{width:20px;height:20px;accent-color:var(--brand);flex:none;margin-top:1px}.panel-card{background:var(--card);border-radius:var(--radius);box-shadow:0 0 0 1px var(--line);padding:20px}.error{color:var(--danger);font-size:14px;font-weight:700}.ok-text{color:var(--ok);font-size:14px;font-weight:700}.pill{background:#eef0f3;border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-flex}.pill.yapa{background:var(--yapa);color:var(--ink)}.pill.off{color:var(--danger);background:#f7e3e0}.pill.brand{color:var(--brand-deep);background:#ece5fb}.tape{background:var(--yapa);color:var(--ink);font:700 13px var(--font);padding:4px 10px;display:inline-block;transform:rotate(-2deg)}.mascot .m-head,.mascot .m-spark,.mascot .m-body{transform-box:fill-box;transform-origin:50% 100%;transition:transform .35s cubic-bezier(.3,1.7,.5,1)}.mascot-idle .m-head{animation:3.2s ease-in-out infinite m-bob}.mascot-idle .m-spark{animation:3.2s ease-in-out infinite m-blink}.mascot-wave .m-head{animation:1.2s ease-in-out infinite m-bob}.mascot-wave .m-spark{animation:.6s ease-in-out infinite m-blink}.mascot-cheer .m-head{animation:.7s cubic-bezier(.3,1.7,.5,1) both m-pop}.mascot-cheer .m-body{animation:.7s cubic-bezier(.3,1.7,.5,1) both m-squash}.mascot-cheer .m-spark{animation:.35s ease-in-out 3 m-blink}@keyframes m-bob{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-5px)rotate(-2deg)}}@keyframes m-blink{0%,to{opacity:1}50%{opacity:.25}}@keyframes m-pop{0%{transform:translateY(0)rotate(0)}40%{transform:translateY(-34px)rotate(-12deg)}to{transform:translateY(0)rotate(0)}}@keyframes m-squash{0%{transform:scale(1)}35%{transform:scale(1.05,.94)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.mascot *{animation:none!important}}.loyalty-card{border-radius:20px;flex-direction:column;gap:14px;padding:18px 18px 20px;transition:background .3s,color .3s;display:flex;box-shadow:0 22px 40px -22px #17191d8c}.loyalty-card .lc-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.loyalty-card .lc-logo{object-fit:contain;max-width:150px;height:34px}.loyalty-card .lc-name{font:800 18px var(--display);letter-spacing:-.03em}.loyalty-card .lc-label{letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:700}.loyalty-card .lc-value{font:800 22px var(--display);letter-spacing:-.03em}.lc-stamps{justify-items:center;gap:10px;padding:4px 0;display:grid}.lc-stamp{aspect-ratio:1;border-radius:50%;place-items:center;width:100%;max-width:46px;display:grid}.lc-stamp svg{width:58%;height:58%}.lc-stamp.new{animation:.45s cubic-bezier(.3,1.8,.5,1) both stamp-in}@keyframes stamp-in{0%{opacity:0;transform:scale(1.8)rotate(-18deg)}60%{opacity:1;transform:scale(.9)rotate(4deg)}to{transform:scale(1)rotate(0)}}.lc-points{font:800 52px var(--display);letter-spacing:-.05em}.wallet-badges{flex-direction:column;align-items:center;gap:10px;display:flex}.wallet-badges a{display:block}.wallet-badges img{width:auto;height:48px}.qr-box{box-shadow:0 0 0 1px var(--line);background:#fff;border-radius:20px;flex-direction:column;align-items:center;gap:6px;padding:18px;display:flex}.qr-box img{width:200px;height:200px;image-rendering:pixelated}.qr-box code{font:800 20px var(--display);letter-spacing:.08em}.public{justify-content:center;min-height:100dvh;padding:18px 16px 48px;display:flex}.public-inner{flex-direction:column;gap:20px;width:100%;max-width:420px;display:flex}.brand-head{text-align:center;flex-direction:column;align-items:center;gap:12px;padding-top:6px;display:flex}.brand-head img.biz-logo{object-fit:contain;width:88px;height:88px;box-shadow:0 0 0 1px var(--line);background:#fff;border-radius:22px}.powered{color:var(--soft);justify-content:center;align-items:center;gap:8px;font-size:12px;text-decoration:none;display:flex}.powered img{width:auto;height:22px}.shell{grid-template-columns:236px 1fr;min-height:100dvh;display:grid}.side{background:var(--ink);color:#fff;flex-direction:column;gap:2px;height:100dvh;padding:22px 14px;display:flex;position:sticky;top:0}.side .logo{padding:0 10px 18px}.side .logo img{width:auto;height:34px}.side .biz{color:var(--soft);padding:0 10px 16px;font-size:13px}.side .biz b{color:#fff;font-size:15px;display:block}.side a,.side button{color:#c9ccd2;font:600 15px var(--font);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;padding:10px 12px;text-decoration:none;display:flex}.side a.active{background:var(--brand);color:#fff}.side a:hover:not(.active),.side button:hover{color:#fff;background:#24272d}.side .spacer{flex:1}.main{width:100%;max-width:1120px;padding:30px clamp(16px,4vw,44px) 70px}.main-head{margin-bottom:4px}.main-head h1{font-size:clamp(30px,4vw,44px)}.main-head p{margin-top:8px}.tabbar{display:none}@media (width<=760px){.shell{grid-template-columns:1fr}.side{display:none}.main{padding:18px 16px 104px}.tabbar{z-index:10;background:var(--ink);padding:8px 8px calc(8px + env(safe-area-inset-bottom));justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar a{color:var(--soft);border-radius:12px;flex-direction:column;align-items:center;gap:3px;padding:6px 10px;font-size:11px;font-weight:700;text-decoration:none;display:flex}.tabbar a.active{color:#fff;background:var(--brand)}}.stat{background:var(--card);border-radius:var(--radius);box-shadow:0 0 0 1px var(--line);padding:18px}.stat .n{font:800 34px var(--display);letter-spacing:-.05em}.stat .l{color:var(--muted);font-size:13px;font-weight:600}.stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.bars{align-items:flex-end;gap:3px;height:150px;padding-top:10px;display:flex}.bars div{background:var(--brand);border-radius:5px 5px 0 0;flex:1;min-height:2px;position:relative}.bars div:hover{background:var(--brand-deep)}.bars div:hover:after{content:attr(data-tip);background:var(--ink);color:#fff;white-space:nowrap;z-index:2;border-radius:6px;padding:4px 8px;font-size:12px;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.link-card{align-items:flex-start;gap:14px;text-decoration:none;transition:box-shadow .15s,transform .15s;display:flex}.link-card:hover{box-shadow:0 0 0 1.5px var(--ink);transform:translateY(-2px)}.link-card .ic{width:42px;height:42px;color:var(--brand-deep);background:#ece5fb;border-radius:12px;flex:none;place-items:center;display:grid}table.list{border-collapse:collapse;width:100%}table.list th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);padding:10px 12px;font-size:12px;font-weight:700}table.list td{border-bottom:1px solid var(--line);padding:12px}table.list tr:last-child td{border-bottom:0}table.list tr.click{cursor:pointer}table.list tr.click:hover td{background:#faf9fd}.voided{opacity:.45;text-decoration:line-through}.search{position:relative}.search svg{color:var(--muted);position:absolute;top:50%;left:14px;transform:translateY(-50%)}.search input{padding-left:44px}.scanner{aspect-ratio:1;background:#000;border-radius:24px;width:100%;max-width:460px;margin:0 auto;position:relative;overflow:hidden}.scanner video{object-fit:cover;width:100%;height:100%}.scan-result{width:100%;max-width:460px;margin:0 auto}.progress{background:#eceaf4;border-radius:999px;height:12px;overflow:hidden}.progress div{background:var(--brand);border-radius:999px;height:100%;transition:width .4s cubic-bezier(.3,1.4,.5,1)}.ready-banner{background:var(--yapa);border-radius:16px;align-items:center;gap:12px;padding:12px 14px;font-weight:700;display:flex}.toast{z-index:50;background:var(--ink);color:#fff;border-radius:999px;align-items:center;gap:14px;max-width:calc(100vw - 32px);padding:12px 18px;font-weight:700;animation:.35s cubic-bezier(.3,1.6,.5,1) both toast-in;display:flex;position:fixed;bottom:100px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #00000040}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,20px)}}.toast button{color:var(--yapa);font:inherit;cursor:pointer;background:0 0;border:0;font-weight:800}.stamp-picker{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px;display:grid}.stamp-picker button{border:1.5px solid var(--line);font:600 11px var(--font);color:var(--muted);cursor:pointer;background:#fff;border-radius:14px;flex-direction:column;align-items:center;gap:4px;padding:10px 4px 6px;display:flex}.stamp-picker button.on{border-color:var(--brand);color:var(--brand-deep);background:#f4f0fd}.plan-banner{border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;padding:12px 16px;font-size:14px;font-weight:600;display:flex}.plan-banner a{white-space:nowrap;font-weight:800}.plan-banner.trial{color:var(--brand-deep);background:#ece5fb}.plan-banner.warn{background:var(--yapa);color:var(--ink)}.center-page{place-items:center;min-height:100dvh;padding:24px 16px;display:grid}.center-box{width:100%;max-width:400px}.segmented{background:#eaebef;border-radius:999px;padding:4px;display:flex}.segmented button{font:700 15px var(--font);color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;flex:1;padding:10px}.segmented button.on{color:var(--ink);background:#fff;box-shadow:0 1px 3px #00000014}
