.glass{--mx:30%;--my:0%;position:relative;isolation:isolate;background:linear-gradient(160deg,rgba(255,255,255,.75),rgba(255,255,255,.35) 45%,var(--glass-tint)),var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));border-radius:var(--r-lg);box-shadow:inset 0 1.5px 0 0 rgba(255,255,255,.95),inset 0 -10px 24px -14px rgba(255,79,168,.28),inset 0 0 0 1px rgba(255,255,255,.35),var(--shadow-soft)}.glass:before{padding:1.5px;background:linear-gradient(140deg,rgba(255,255,255,1),rgba(255,180,220,.55) 35%,rgba(181,156,255,.45) 65%,rgba(25,211,230,.7));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.glass:after,.glass:before{content:"";position:absolute;inset:0;border-radius:inherit;z-index:-1;pointer-events:none}.glass:after{background:radial-gradient(380px circle at var(--mx) var(--my),rgba(255,255,255,.75),rgba(255,255,255,0) 42%);opacity:0;transition:opacity var(--t-med) var(--ease-out)}.glass.is-lit:after,.glass:hover:after{opacity:1}.glass--strong{--glass-bg:var(--glass-bg-strong)}.glass--pink{--glass-tint:rgba(255,168,210,.45)}.glass--aqua{--glass-tint:rgba(150,240,250,.45)}.glass--flat{box-shadow:inset 0 1px 0 rgba(255,255,255,.9),inset 0 0 0 1px rgba(255,255,255,.4)}@supports not (((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))) or (-webkit-backdrop-filter:blur(1px))){.glass{background:rgba(255,250,253,.96)}}.btn{--mx:50%;--my:0%;--btn-bg:var(--sq-candy);--btn-fg:#fff;--btn-shadow:0 12px 26px -10px rgba(224,35,127,.65),0 3px 8px -3px rgba(224,35,127,.35);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);min-height:var(--tap);padding:0 var(--s-5);border:0;border-radius:var(--r-pill);overflow:hidden;isolation:isolate;font-family:var(--font-display);font-weight:600;font-size:var(--fs-md);letter-spacing:.01em;color:var(--btn-fg);background:radial-gradient(120px circle at var(--mx) var(--my),rgba(255,255,255,.45),transparent 60%),var(--btn-bg);box-shadow:inset 0 -4px 10px rgba(120,0,60,.18),inset 0 2px 1px rgba(255,255,255,.75),var(--btn-shadow);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap;-webkit-tap-highlight-color:transparent;transition:transform var(--t-med) var(--ease-squish),box-shadow var(--t-med) var(--ease-out),filter var(--t-fast);will-change:transform}.btn:before{left:12%;right:12%;top:3px;height:45%;border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.7),rgba(255,255,255,0))}.btn:after,.btn:before{content:"";position:absolute;z-index:-1;pointer-events:none}.btn:after{top:-20%;bottom:-20%;width:40%;left:-60%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-18deg)}.btn:hover{transform:translateY(-2px) scale(1.045);filter:saturate(1.08) brightness(1.03)}.btn:hover:after{animation:btn-sweep .9s var(--ease-out)}.btn:active{transform:scale(.95,.9);transition-duration:90ms}.btn:focus-visible{outline:3px solid var(--sq-cyan);outline-offset:3px}.btn[aria-disabled=true],.btn[disabled]{filter:grayscale(.5) opacity(.55);cursor:not-allowed;transform:none}.btn[aria-busy=true]{color:transparent;pointer-events:none}.btn[aria-busy=true]>*{visibility:hidden}.btn[aria-busy=true]:before{left:50%;top:50%;right:auto;width:34px;height:8px;margin:-4px 0 0 -17px;border-radius:0;z-index:1;background:radial-gradient(circle 4px,var(--btn-fg) 98%,transparent) 0 0 /13px 8px repeat-x;animation:btn-dots .9s steps(3) infinite}.btn.is-done{animation:btn-pop .52s var(--ease-jelly)}.btn.is-error{animation:btn-shake .42s var(--ease-out)}@keyframes btn-sweep{to{left:130%}}@keyframes btn-dots{0%{-webkit-clip-path:inset(0 100% 0 0);clip-path:inset(0 100% 0 0)}to{-webkit-clip-path:inset(0 -10% 0 0);clip-path:inset(0 -10% 0 0)}}@keyframes btn-pop{0%{transform:scale(1)}35%{transform:scale(1.12,.9)}65%{transform:scale(.96,1.06)}to{transform:scale(1)}}@keyframes btn-shake{20%,60%{transform:translateX(-5px)}40%,80%{transform:translateX(5px)}}.btn--primary{--btn-bg:var(--sq-candy)}.btn--aqua{--btn-bg:var(--sq-aqua);--btn-fg:#053c45;--btn-shadow:0 12px 26px -10px rgba(15,181,204,.7),0 3px 8px -3px rgba(15,181,204,.35)}.btn--glass{--btn-fg:var(--sq-ink);--btn-bg:linear-gradient(180deg,rgba(255,255,255,.95),rgba(255,240,248,.7));--btn-shadow:0 10px 24px -12px rgba(224,35,127,.4),0 0 0 1px rgba(255,79,168,.18);backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%)}.btn--glass:hover{--btn-shadow:0 14px 28px -12px rgba(224,35,127,.45),0 0 0 1.5px rgba(25,211,230,.55)}.btn--ghost{--btn-bg:transparent;--btn-fg:var(--sq-pink-deep);--btn-shadow:none;box-shadow:none}.btn--ghost:before{display:none}.btn--sm{min-height:36px;padding:0 var(--s-4);font-size:var(--fs-sm)}.btn--lg{min-height:58px;padding:0 var(--s-6);font-size:var(--fs-lg)}.btn--icon{width:var(--tap);padding:0}.btn--icon.btn--sm{width:36px}.badge{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:800;letter-spacing:.02em;color:var(--sq-ink);background:rgba(255,255,255,.85);box-shadow:inset 0 0 0 1px rgba(255,79,168,.2),0 4px 10px -6px rgba(224,35,127,.4)}.badge--new{color:#05505b;background:linear-gradient(90deg,#c9f6fb,#d9fff4)}.badge--sale{color:#fff;background:var(--sq-candy)}.badge--member{color:#fff;background:linear-gradient(90deg,var(--sq-violet),var(--sq-pink))}.badge--warn{background:#fff1d6;color:#8a5300}.badge--danger{background:#ffe0e7;color:#a3173b}.badge--ok{background:#d9f7e9;color:#0b6e45}.field{display:grid;grid-gap:6px;gap:6px}.field label,.field legend{font-size:var(--fs-sm);color:var(--sq-text-muted);font-weight:700}.input{min-height:var(--tap);width:100%;padding:0 var(--s-4);border-radius:var(--r-md);border:0;color:var(--sq-ink);background:rgba(255,255,255,.85);box-shadow:inset 0 0 0 1.5px rgba(255,79,168,.22),inset 0 2px 5px rgba(150,40,100,.06);transition:box-shadow var(--t-fast),background var(--t-fast)}textarea.input{padding:var(--s-3) var(--s-4);line-height:1.5}.input::placeholder{color:var(--sq-text-faint)}.input:focus,.input:hover{background:#fff}.input:focus{outline:none;box-shadow:inset 0 0 0 2px var(--sq-pink),0 0 0 5px rgba(255,79,168,.15)}.input[aria-invalid=true]{box-shadow:inset 0 0 0 2px var(--sq-danger),0 0 0 4px rgba(217,50,89,.12)}.field-error{color:var(--sq-danger);font-size:var(--fs-sm);font-weight:600;margin:0}select.input{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:40px;background-image:linear-gradient(45deg,transparent 50%,var(--sq-pink-deep) 50%),linear-gradient(135deg,var(--sq-pink-deep) 50%,transparent 50%);background-position:calc(100% - 20px) 55%,calc(100% - 14px) 55%;background-size:6px 6px;background-repeat:no-repeat}.mascot{--rx:0deg;--ry:0deg;--mx:40%;--my:30%;position:relative;perspective:1100px;touch-action:manipulation;cursor:-webkit-grab;cursor:grab}.mascot__body{position:relative;transform:rotateX(var(--rx)) rotateY(var(--ry)) translateZ(0);transform-style:preserve-3d;transition:transform .6s var(--ease-out);animation:float 6.5s ease-in-out infinite;filter:drop-shadow(0 26px 30px rgba(224,35,127,.28)) drop-shadow(0 6px 10px rgba(25,211,230,.2))}.mascot__body img{width:100%;height:auto}.mascot__shine{position:absolute;inset:0;pointer-events:none;-webkit-mask:var(--mascot-mask) center /contain no-repeat;mask:var(--mascot-mask) center /contain no-repeat;background:radial-gradient(260px circle at var(--mx) var(--my),rgba(255,255,255,.55),rgba(255,255,255,0) 60%);mix-blend-mode:soft-light;opacity:0;transition:opacity var(--t-med)}.mascot:hover .mascot__shine{opacity:1}.mascot__ground{position:absolute;left:22%;right:22%;bottom:-4%;height:7%;border-radius:50%;z-index:-1;background:radial-gradient(closest-side,rgba(224,35,127,.28),transparent);animation:ground 6.5s ease-in-out infinite}.mascot.is-squished .mascot__body{animation:squish .64s var(--ease-squish),float 6.5s ease-in-out infinite}@keyframes float{0%,to{translate:0 0}50%{translate:0 -16px}}@keyframes ground{0%,to{transform:scale(1);opacity:1}50%{transform:scale(.82);opacity:.7}}@keyframes squish{0%{scale:1 1}25%{scale:1.12 .86}50%{scale:.94 1.08}75%{scale:1.03 .97}to{scale:1 1}}