:root{--ink:#0F1728;--mut:#64748B;--faint:#94A3B8;--card:#FFFFFF;--line:#E8ECF4;--mono:rgba(15,23,40,.28);--brand:#4F46E5;--brand2:#7C6FF0;--brandsoft:#EEF0FF;--on-brand:#FFFFFF;--canvas-a:#EEF0FF;--canvas-b:#F7F5FF;--canvas-c:#FDFDFF;--hero-a:#4F46E5;--hero-b:#7C6FF0;--hero-text:#FFFFFF;--dock-bg:rgba(15,23,40,.94);--dock-text:#FFFFFF;--chip-bg:#FFFFFF;--chip-text:#64748B;--chip-on-bg:#4F46E5;--chip-on-text:#FFFFFF;--greensoft:#E9F9EF;--green-text:#16A34A;--ambersoft:#FEF3E2;--amber-text:#D97706;--redsoft:#FDECEC;--red-text:#DC2626;--limitsoft:#EEF0FF;--limit-text:#4F46E5;--green:#16A34A;--amber:#D97706;--red:#DC2626;--ring-bg:rgba(255,255,255,.9);--img-h:calc(258px * var(--s));--sh:0 1px 2px rgba(15,23,40,.05),0 8px 24px -12px rgba(15,23,40,.12);--sh2:0 24px 60px -24px rgba(79,70,229,.35);--font-head:var(--f-jakarta);--font-body:var(--f-jakarta);--head-weight:800;--s:1}*{box-sizing:border-box}body,html{margin:0;background:var(--canvas-b);color:var(--ink);line-height:1.5;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}.app,body,html{font-family:var(--font-body)}.app{min-height:100dvh;max-width:480px;margin:0 auto;display:flex;flex-direction:column;position:relative;background:linear-gradient(180deg,var(--canvas-a) 0,var(--canvas-b) 34%,var(--canvas-c) 70%)}.scroll{flex:1 1;overflow-y:auto;padding-bottom:calc(112px * var(--s));scrollbar-width:none}.scroll::-webkit-scrollbar{display:none}.p-head{padding:calc(14px * var(--s)) 20px 0}.p-top{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:calc(26px * var(--s))}.hi{font-size:calc(12px * var(--s));color:var(--mut);font-weight:500;letter-spacing:.01em}.app{--logo-base:116px;--logo-hf:1;--logo-wf:62}.app[data-logo=small]{--logo-base:62px}.app[data-logo=medium]{--logo-base:88px}.app[data-logo=large]{--logo-base:116px}.p-mark[data-shape=square]{--logo-hf:1;--logo-wf:62}.p-mark[data-shape=mid]{--logo-hf:.86;--logo-wf:86}.p-mark[data-shape=wide]{--logo-hf:.74;--logo-wf:96}.p-mark{text-align:center;margin:calc(10px * var(--s)) 0 calc(2px * var(--s))}.p-mark b{display:inline-block;font-family:var(--font-head);font-weight:var(--head-weight);font-size:calc(var(--logo-base) * .2 * var(--s));line-height:1.15;letter-spacing:.14em;text-indent:.14em;text-transform:uppercase}.p-mark img{max-height:calc(var(--logo-base) * var(--logo-hf) * var(--s));max-width:calc(var(--logo-wf) * 1%);object-fit:contain;display:inline-block;vertical-align:top}.p-mark[data-shape=square] img{border-radius:calc(16px * var(--s))}.p-loc{margin-left:auto;display:flex;align-items:center;gap:7px;background:var(--card);border:1px solid var(--line);border-radius:99px;padding:calc(8px * var(--s)) calc(13px * var(--s));font-size:calc(12px * var(--s));font-weight:600;color:var(--ink);box-shadow:var(--sh);white-space:nowrap;flex:none}.p-loc svg{color:var(--brand);flex:none}.p-chips{display:flex;gap:8px;padding:calc(12px * var(--s)) 20px calc(4px * var(--s));overflow-x:auto;scrollbar-width:none}.p-chips::-webkit-scrollbar{display:none}.chip{flex:none;padding:calc(9px * var(--s)) calc(16px * var(--s));border-radius:99px;background:var(--chip-bg);border:1px solid var(--line);font-family:inherit;font-size:calc(12.5px * var(--s));font-weight:600;color:var(--chip-text);cursor:pointer}.chip.on{background:var(--chip-on-bg);border-color:var(--chip-on-bg);color:var(--chip-on-text);box-shadow:var(--sh2)}.chip.dead{opacity:.45;text-decoration:line-through}.chip.none{opacity:.38;background:transparent;border-style:dashed;cursor:default}.daynote{margin:calc(6px * var(--s)) 20px 0;font-size:calc(12px * var(--s));color:var(--mut)}.hero{margin:calc(14px * var(--s)) 20px 0;background:linear-gradient(135deg,var(--hero-a),var(--hero-b));border-radius:26px;padding:calc(20px * var(--s)) 20px calc(18px * var(--s));color:var(--hero-text);box-shadow:var(--sh2);position:relative;overflow:hidden}.hero:before{content:"";position:absolute;right:-40px;top:-40px;width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,.14)}.hero small{font-size:calc(11px * var(--s));font-weight:600;opacity:.85;letter-spacing:.04em}.hero b{display:block;font-family:var(--font-head);font-weight:var(--head-weight);font-size:calc(21px * var(--s));margin:4px 0 2px;letter-spacing:-.01em;line-height:1.2}.hero p{margin:0;opacity:.85}.hero .cta,.hero p{font-size:calc(12px * var(--s));position:relative}.hero .cta{display:inline-flex;margin-top:calc(12px * var(--s));background:var(--card);color:var(--brand);border-radius:99px;padding:calc(9px * var(--s)) calc(16px * var(--s));font-weight:700}.cards{padding:calc(18px * var(--s)) 20px 0;display:flex;flex-direction:column;gap:calc(16px * var(--s))}.fcard{background:var(--card);border-radius:24px;box-shadow:var(--sh)}.fcard,.fimg{overflow:hidden;position:relative}.fimg{height:var(--img-h);display:flex;align-items:center;justify-content:center}.fimg img{width:100%;height:100%;object-fit:cover;display:block}.app[data-img=standard]{--img-h:calc(172px * var(--s))}.app[data-img=full],.app[data-img=tall]{--img-h:calc(258px * var(--s))}.app[data-img=full] .fimg img{object-fit:contain}.fmono{font-family:var(--font-head);font-weight:var(--head-weight);font-size:calc(46px * var(--s));letter-spacing:.12em;text-indent:.12em;color:var(--mono)}.ring{position:absolute;top:12px;left:12px;background:var(--ring-bg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:99px;padding:6px 10px 6px 6px;display:flex;align-items:center;gap:7px;box-shadow:var(--sh)}.ring.flat{padding-left:12px}.ring svg{display:block;flex:none}.ring b{font-size:calc(11px * var(--s));font-weight:700;color:var(--ink);display:block}.ring small{display:block;font-size:calc(8.5px * var(--s));color:var(--mut);font-weight:600;margin-top:-2px}.fbody{padding:calc(15px * var(--s)) 17px calc(16px * var(--s))}.frow{display:flex;align-items:center;justify-content:space-between;gap:10px}.frow b{font-family:var(--font-head);font-weight:var(--head-weight);font-size:calc(17px * var(--s));letter-spacing:-.01em;line-height:1.25}.price{font-size:calc(16px * var(--s));font-weight:800;color:var(--brand);white-space:nowrap}.fdesc{margin:3px 0 0;font-size:calc(12.5px * var(--s));color:var(--mut)}.fmeta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:calc(13px * var(--s))}.pillinfo{display:flex;gap:6px;flex-wrap:wrap}.pill{font-size:calc(10.5px * var(--s));font-weight:700;border-radius:99px;padding:5px 10px}.pill.g{background:var(--greensoft);color:var(--green-text)}.pill.a{background:var(--ambersoft);color:var(--amber-text)}.pill.r{background:var(--redsoft);color:var(--red-text)}.pill.b{background:var(--limitsoft);color:var(--limit-text)}.addb{width:calc(44px * var(--s));height:calc(44px * var(--s));border-radius:14px;border:0;background:var(--brand);color:var(--on-brand);font-size:calc(20px * var(--s));font-family:inherit;cursor:pointer;box-shadow:var(--sh2);flex:none}.stepper{display:flex;align-items:center;gap:2px;background:var(--brandsoft);border-radius:14px;padding:3px;flex:none}.stepper button{width:calc(38px * var(--s));height:calc(38px * var(--s));border-radius:11px;border:0;background:var(--card);color:var(--brand);font-size:calc(16px * var(--s));font-family:inherit;font-weight:700;cursor:pointer;box-shadow:var(--sh)}.stepper button[disabled]{opacity:.4;cursor:default}.stepper span{min-width:calc(26px * var(--s));text-align:center;font-weight:800;font-size:calc(14px * var(--s));color:var(--ink)}.fcard.sold .fimg img,.fcard.sold .fmono{filter:grayscale(1) opacity(.55)}.fcard.sold .frow b,.fcard.sold .price{color:var(--faint)}.p-dock{position:-webkit-sticky;position:sticky;bottom:0;margin:0 14px calc(14px + env(safe-area-inset-bottom));background:var(--dock-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:24px;padding:calc(12px * var(--s)) 14px calc(12px * var(--s)) 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--dock-text);box-shadow:0 20px 40px -18px rgba(15,23,40,.6)}.p-dock small{display:block;font-size:calc(10.5px * var(--s));opacity:.65;font-weight:500}.p-dock b{font-size:calc(16px * var(--s));font-weight:800}.p-dock .go{background:var(--brand);color:var(--on-brand);border:0;border-radius:16px;padding:calc(12px * var(--s)) calc(20px * var(--s));font-size:calc(13px * var(--s));font-family:inherit;font-weight:700;display:flex;align-items:center;gap:8px;cursor:pointer}.p-dock .go[disabled]{opacity:.45;cursor:default}.sheet{padding:calc(18px * var(--s)) 20px 0}.sheet h2{font-family:var(--font-head);font-weight:var(--head-weight);font-size:calc(22px * var(--s));margin:0 0 calc(14px * var(--s));letter-spacing:-.01em}.bline{gap:12px;background:var(--card);border-radius:18px;box-shadow:var(--sh);padding:calc(11px * var(--s)) 13px;margin-bottom:calc(10px * var(--s))}.bline,.bshot{display:flex;align-items:center}.bshot{width:calc(52px * var(--s));height:calc(52px * var(--s));border-radius:14px;flex:none;justify-content:center;overflow:hidden;font-family:var(--font-head);font-weight:var(--head-weight);font-size:calc(15px * var(--s));color:var(--mono)}.bshot img{width:100%;height:100%;object-fit:cover}.binfo{flex:1 1;min-width:0}.binfo b{display:block;font-size:calc(14px * var(--s));font-weight:700;line-height:1.3}.binfo small{display:block;font-size:calc(11.5px * var(--s));color:var(--mut)}.btot{background:var(--card);border-radius:18px;box-shadow:var(--sh);padding:calc(14px * var(--s)) 16px;margin-top:calc(4px * var(--s))}.trow{display:flex;justify-content:space-between;font-size:calc(13px * var(--s));color:var(--mut);padding:4px 0}.trow.big{color:var(--ink);font-weight:800;font-size:calc(15px * var(--s));border-top:1px solid var(--line);margin-top:8px;padding-top:12px}.trow.big span:last-child{font-size:calc(19px * var(--s));color:var(--brand)}.linkbtn{background:none;border:0;color:var(--mut);font-family:inherit;font-size:calc(12.5px * var(--s));font-weight:600;cursor:pointer;padding:calc(12px * var(--s));width:100%}.mid{flex:1 1;flex-direction:column;text-align:center;padding:40px 34px}.mid,.mid .badge{display:flex;align-items:center;justify-content:center}.mid .badge{width:56px;height:56px;border-radius:20px;background:var(--brandsoft);color:var(--brand);margin-bottom:16px}.mid h1{font-family:var(--font-head);font-weight:var(--head-weight);font-size:calc(21px * var(--s));margin:0 0 8px;letter-spacing:-.01em}.mid p{max-width:30ch;margin:0;line-height:1.6}.empty,.mid p{font-size:calc(13px * var(--s));color:var(--mut)}.empty{padding:calc(28px * var(--s)) 20px;text-align:center}.paysub{margin:calc(-8px * var(--s)) 0 calc(14px * var(--s));font-size:calc(12px * var(--s));color:var(--mut);font-weight:600}.paybox{background:var(--card);border-radius:20px;box-shadow:var(--sh);padding:calc(16px * var(--s)) 16px}.paynote{font-size:calc(11.5px * var(--s));color:var(--mut);margin:calc(12px * var(--s)) 0 0;line-height:1.5;text-align:center}.payerr{background:var(--redsoft);color:var(--red-text);border-radius:14px;padding:calc(11px * var(--s)) 14px;font-size:calc(12.5px * var(--s));font-weight:600;margin-top:calc(12px * var(--s))}.ring-spin{width:46px;height:46px;border-radius:50%;border:3px solid var(--brandsoft);border-top-color:var(--brand);animation:ta-spin .9s linear infinite;margin-bottom:18px}@keyframes ta-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.ring-spin{animation-duration:2.4s}}.tick{width:56px;height:56px;border-radius:50%;margin-bottom:16px;background:var(--greensoft);color:var(--green-text);display:flex;align-items:center;justify-content:center}.reftag{margin-top:calc(18px * var(--s));border:1px solid var(--line);border-radius:99px;padding:8px 14px;font-size:calc(11px * var(--s));letter-spacing:.1em;text-transform:uppercase;color:var(--mut);font-weight:700}.p-dock a.go{text-decoration:none}.whobox{background:var(--card);border-radius:20px;box-shadow:var(--sh);padding:calc(16px * var(--s)) 16px calc(6px * var(--s));margin-top:calc(14px * var(--s))}.whobox h3{font-family:var(--font-head);font-weight:var(--head-weight);font-size:calc(16px * var(--s));margin:0 0 calc(12px * var(--s))}.whobox .field{margin-bottom:calc(12px * var(--s))}.whobox label{display:block;font-size:calc(10.5px * var(--s));font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin-bottom:calc(5px * var(--s))}.whobox input{width:100%;border:1px solid var(--line);border-radius:14px;padding:calc(13px * var(--s)) 14px;font-family:inherit;font-size:calc(15px * var(--s));color:var(--ink);background:var(--card)}.whobox input:focus{outline:2px solid var(--brand);outline-offset:-1px}.fieldnote{font-size:calc(11.5px * var(--s));color:var(--mut);margin:calc(6px * var(--s)) 0 0}.fieldnote.bad{color:var(--red-text);font-weight:600}.pass{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:calc(20px * var(--s)) 22px}.tick.big{width:calc(78px * var(--s));height:calc(78px * var(--s));margin-bottom:calc(20px * var(--s));animation:ta-arrive .52s cubic-bezier(.2,.9,.3,1.2) both}.ring-spin.big{width:calc(64px * var(--s));height:calc(64px * var(--s));border-width:4px}@keyframes ta-arrive{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.08);opacity:1}to{transform:scale(1);opacity:1}}@media (prefers-reduced-motion:reduce){.tick.big{animation:none}}.passhead{font-family:var(--font-head);font-weight:800;font-size:calc(26px * var(--s));letter-spacing:-.02em;margin:0 0 calc(8px * var(--s))}.thanks{font-size:calc(14px * var(--s));color:var(--mut);line-height:1.55;margin:0 0 calc(24px * var(--s));max-width:30ch}.passref{width:100%;background:var(--ink);color:var(--card);border-radius:24px;padding:calc(18px * var(--s)) 18px calc(20px * var(--s));box-shadow:0 20px 44px -20px rgba(15,23,40,.55)}.passref small{display:block;font-size:calc(10px * var(--s));letter-spacing:.18em;text-transform:uppercase;opacity:.6;margin-bottom:calc(6px * var(--s))}.passref b{display:block;font-family:ui-monospace,JetBrains Mono,SFMono-Regular,Menlo,monospace;font-size:calc(52px * var(--s));font-weight:800;line-height:1;letter-spacing:.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.passref.waiting{background:var(--card);color:var(--ink);border:1px solid var(--line);box-shadow:var(--sh)}.passref.waiting small{opacity:.5}.passmeta{display:flex;gap:10px;width:100%;margin-top:calc(12px * var(--s))}.passmeta span{flex:1 1;background:var(--card);border-radius:16px;box-shadow:var(--sh);padding:calc(12px * var(--s)) 14px;text-align:left}.passmeta small{display:block;font-size:calc(10px * var(--s));letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin-bottom:3px}.passmeta b{font-size:calc(14px * var(--s));font-weight:700}.mid .badge.closed{background:var(--ambersoft);color:var(--amber-text)}