@monetize.software/sdk 3.0.0-alpha.1 → 3.0.0-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
- import { PaywallError as T, BillingClient as ut, EventTracker as ht, AuthClient as G } from "../core.js";
1
+ import { PaywallError as E, BillingClient as ut, EventTracker as ht, AuthClient as G } from "../core.js";
2
2
  import { render as U, h as q } from "preact";
3
3
  import { jsxs as d, jsx as r, Fragment as nt } from "preact/jsx-runtime";
4
- import { useRef as E, useEffect as M, useState as v, useMemo as ot } from "preact/hooks";
4
+ import { useRef as z, useEffect as T, useState as b, useMemo as ot } from "preact/hooks";
5
5
  const W = 3600 * 1e3;
6
6
  function R(e) {
7
7
  return `paywall-${e}-trial-time-first-open`;
@@ -98,7 +98,7 @@ class pt {
98
98
  function gt(e, t, i) {
99
99
  return i.storage === "server" ? new pt(e, t, i) : new st(e, t, i);
100
100
  }
101
- const lt = '/*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-950:oklch(27.9% .077 45.635);--color-slate-950:oklch(12.9% .042 264.695);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--blur-sm:8px;--blur-md:12px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:host{all:initial;color-scheme:light;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*,:before,:after{box-sizing:border-box}button{cursor:pointer;font-family:inherit}button:disabled{cursor:not-allowed}[role=button],[role=radio]{cursor:pointer}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.-top-2\\.5{top:calc(var(--spacing) * -2.5)}.top-3{top:calc(var(--spacing) * 3)}.top-10{top:calc(var(--spacing) * 10)}.right-3{right:calc(var(--spacing) * 3)}.left-4{left:calc(var(--spacing) * 4)}.z-10{z-index:10}.z-\\[2147483647\\]{z-index:2147483647}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mt-0\\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-px{margin-top:1px}.-ml-1{margin-left:calc(var(--spacing) * -1)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.h-1{height:calc(var(--spacing) * 1)}.h-1\\.5{height:calc(var(--spacing) * 1.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-px{height:1px}.max-h-\\[calc\\(100dvh-1rem\\)\\]{max-height:calc(100dvh - 1rem)}.min-h-\\[104px\\]{min-height:104px}.w-1{width:calc(var(--spacing) * 1)}.w-1\\.5{width:calc(var(--spacing) * 1.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-full{width:100%}.max-w-\\[18rem\\]{max-width:18rem}.max-w-\\[20rem\\]{max-width:20rem}.max-w-\\[320px\\]{max-width:320px}.max-w-md{max-width:var(--container-md)}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-\\[pw-fade-in_180ms_ease-out\\]{animation:.18s ease-out pw-fade-in}.animate-\\[pw-scale-in_220ms_cubic-bezier\\(0\\.16\\,1\\,0\\.3\\,1\\)\\]{animation:.22s cubic-bezier(.16,1,.3,1) pw-scale-in}.animate-ping{animation:var(--animate-ping)}.animate-spin{animation:var(--animate-spin)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-y-1{row-gap:calc(var(--spacing) * 1)}.self-center{align-self:center}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-\\[2\\.5px\\]{border-style:var(--tw-border-style);border-width:2.5px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\\[var\\(--pw-accent\\)\\]{border-color:var(--pw-accent)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-red-400{border-color:var(--color-red-400)}.border-white\\/40{border-color:#fff6}@supports (color:color-mix(in lab,red,red)){.border-white\\/40{border-color:color-mix(in oklab,var(--color-white) 40%,transparent)}}.border-t-\\[var\\(--pw-accent\\)\\]{border-top-color:var(--pw-accent)}.border-t-gray-700{border-top-color:var(--color-gray-700)}.border-t-white{border-top-color:var(--color-white)}.bg-\\[color-mix\\(in_srgb\\,var\\(--pw-accent\\)_6\\%\\,white\\)\\]{background-color:var(--pw-accent)}@supports (color:color-mix(in lab,red,red)){.bg-\\[color-mix\\(in_srgb\\,var\\(--pw-accent\\)_6\\%\\,white\\)\\]{background-color:color-mix(in srgb,var(--pw-accent) 6%,white)}}.bg-\\[var\\(--pw-accent\\)\\]{background-color:var(--pw-accent)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-50\\/60{background-color:#f9fafb99}@supports (color:color-mix(in lab,red,red)){.bg-gray-50\\/60{background-color:color-mix(in oklab,var(--color-gray-50) 60%,transparent)}}.bg-gray-300{background-color:var(--color-gray-300)}.bg-red-50{background-color:var(--color-red-50)}.bg-slate-950\\/50{background-color:#02061880}@supports (color:color-mix(in lab,red,red)){.bg-slate-950\\/50{background-color:color-mix(in oklab,var(--color-slate-950) 50%,transparent)}}.bg-white{background-color:var(--color-white)}.bg-white\\/80{background-color:#fffc}@supports (color:color-mix(in lab,red,red)){.bg-white\\/80{background-color:color-mix(in oklab,var(--color-white) 80%,transparent)}}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-amber-300{--tw-gradient-from:var(--color-amber-300);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-gray-200{--tw-gradient-from:var(--color-gray-200);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-amber-400{--tw-gradient-to:var(--color-amber-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-gray-200{--tw-gradient-to:var(--color-gray-200);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.p-2{padding:calc(var(--spacing) * 2)}.p-3\\.5{padding:calc(var(--spacing) * 3.5)}.p-7{padding:calc(var(--spacing) * 7)}.px-1\\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-0\\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\\.5{padding-block:calc(var(--spacing) * 3.5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-12{padding-block:calc(var(--spacing) * 12)}.text-center{text-align:center}.text-left{text-align:left}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\\[0\\.9375rem\\]{font-size:.9375rem}.text-\\[1\\.625rem\\]{font-size:1.625rem}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\\[-0\\.02em\\]{--tw-tracking:-.02em;letter-spacing:-.02em}.tracking-\\[0\\.14em\\]{--tw-tracking:.14em;letter-spacing:.14em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-\\[var\\(--pw-accent\\)\\]{color:var(--pw-accent)}.text-amber-950{color:var(--color-amber-950)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.opacity-40{opacity:.4}.opacity-60{opacity:.6}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0_0_0_3px_color-mix\\(in_srgb\\,var\\(--pw-accent\\)_12\\%\\,transparent\\)\\]{--tw-shadow:0 0 0 3px var(--tw-shadow-color,var(--pw-accent))}@supports (color:color-mix(in lab,red,red)){.shadow-\\[0_0_0_3px_color-mix\\(in_srgb\\,var\\(--pw-accent\\)_12\\%\\,transparent\\)\\]{--tw-shadow:0 0 0 3px var(--tw-shadow-color,color-mix(in srgb,var(--pw-accent) 12%,transparent))}}.shadow-\\[0_0_0_3px_color-mix\\(in_srgb\\,var\\(--pw-accent\\)_12\\%\\,transparent\\)\\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0_1px_0_rgba\\(15\\,23\\,42\\,0\\.02\\)\\]{--tw-shadow:0 1px 0 var(--tw-shadow-color,#0f172a05);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0_1px_0_rgba\\(15\\,23\\,42\\,0\\.04\\)\\]{--tw-shadow:0 1px 0 var(--tw-shadow-color,#0f172a0a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-8{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-black\\/5{--tw-ring-color:#0000000d}@supports (color:color-mix(in lab,red,red)){.ring-black\\/5{--tw-ring-color:color-mix(in oklab, var(--color-black) 5%, transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.\\!filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)!important}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.outline-none{--tw-outline-style:none;outline-style:none}@media(hover:hover){.group-hover\\:border-gray-400:is(:where(.group):hover *){border-color:var(--color-gray-400)}}.placeholder\\:text-gray-400::placeholder{color:var(--color-gray-400)}@media(hover:hover){.hover\\:-translate-y-px:hover{--tw-translate-y:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\\:border-gray-300:hover{border-color:var(--color-gray-300)}.hover\\:border-gray-400:hover{border-color:var(--color-gray-400)}.hover\\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\\:bg-gray-50\\/60:hover{background-color:#f9fafb99}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-gray-50\\/60:hover{background-color:color-mix(in oklab,var(--color-gray-50) 60%,transparent)}}.hover\\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\\:bg-white:hover{background-color:var(--color-white)}.hover\\:text-gray-700:hover{color:var(--color-gray-700)}.hover\\:text-gray-900:hover{color:var(--color-gray-900)}.hover\\:text-red-600:hover{color:var(--color-red-600)}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-90:hover{opacity:.9}.hover\\:shadow-sm:hover{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\\:brightness-105:hover{--tw-brightness:brightness(105%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}.focus\\:border-\\[var\\(--pw-accent\\)\\]:focus{border-color:var(--pw-accent)}.focus\\:border-red-500:focus{border-color:var(--color-red-500)}.focus\\:shadow-\\[0_0_0_3px_color-mix\\(in_srgb\\,var\\(--pw-accent\\)_18\\%\\,transparent\\)\\]:focus{--tw-shadow:0 0 0 3px var(--tw-shadow-color,var(--pw-accent))}@supports (color:color-mix(in lab,red,red)){.focus\\:shadow-\\[0_0_0_3px_color-mix\\(in_srgb\\,var\\(--pw-accent\\)_18\\%\\,transparent\\)\\]:focus{--tw-shadow:0 0 0 3px var(--tw-shadow-color,color-mix(in srgb,var(--pw-accent) 18%,transparent))}}.focus\\:shadow-\\[0_0_0_3px_color-mix\\(in_srgb\\,var\\(--pw-accent\\)_18\\%\\,transparent\\)\\]:focus{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\\:shadow-\\[0_0_0_3px_rgba\\(239\\,68\\,68\\,0\\.18\\)\\]:focus{--tw-shadow:0 0 0 3px var(--tw-shadow-color,#ef44442e);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\\:underline:focus-visible{text-decoration-line:underline}.focus-visible\\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\\:ring-\\[var\\(--pw-accent\\)\\]:focus-visible{--tw-ring-color:var(--pw-accent)}.focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.active\\:translate-y-0:active{--tw-translate-y:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.active\\:brightness-95:active{--tw-brightness:brightness(95%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-60:disabled{opacity:.6}@media(hover:hover){.disabled\\:hover\\:translate-y-0:disabled:hover{--tw-translate-y:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.disabled\\:hover\\:shadow-\\[0_1px_0_rgba\\(15\\,23\\,42\\,0\\.04\\)\\]:disabled:hover{--tw-shadow:0 1px 0 var(--tw-shadow-color,#0f172a0a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.disabled\\:hover\\:brightness-100:disabled:hover{--tw-brightness:brightness(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}@media(min-width:40rem){.sm\\:max-h-\\[calc\\(100dvh-2rem\\)\\]{max-height:calc(100dvh - 2rem)}.sm\\:p-4{padding:calc(var(--spacing) * 4)}}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}';
101
+ const lt = '/*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-950:oklch(27.9% .077 45.635);--color-slate-950:oklch(12.9% .042 264.695);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--blur-sm:8px;--blur-md:12px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:host{all:initial;color-scheme:light;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*,:before,:after{box-sizing:border-box}button{cursor:pointer;font-family:inherit}button:disabled{cursor:not-allowed}[role=button],[role=radio]{cursor:pointer}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.-top-2\\.5{top:calc(var(--spacing) * -2.5)}.top-3{top:calc(var(--spacing) * 3)}.top-10{top:calc(var(--spacing) * 10)}.right-3{right:calc(var(--spacing) * 3)}.left-4{left:calc(var(--spacing) * 4)}.z-10{z-index:10}.z-\\[1\\]{z-index:1}.z-\\[2147483647\\]{z-index:2147483647}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mt-0\\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-px{margin-top:1px}.-ml-1{margin-left:calc(var(--spacing) * -1)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.h-1{height:calc(var(--spacing) * 1)}.h-1\\.5{height:calc(var(--spacing) * 1.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-px{height:1px}.max-h-\\[calc\\(100dvh-1rem\\)\\]{max-height:calc(100dvh - 1rem)}.min-h-\\[104px\\]{min-height:104px}.w-1{width:calc(var(--spacing) * 1)}.w-1\\.5{width:calc(var(--spacing) * 1.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-full{width:100%}.max-w-\\[18rem\\]{max-width:18rem}.max-w-\\[20rem\\]{max-width:20rem}.max-w-\\[320px\\]{max-width:320px}.max-w-md{max-width:var(--container-md)}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-\\[pw-fade-in_180ms_ease-out\\]{animation:.18s ease-out pw-fade-in}.animate-\\[pw-scale-in_220ms_cubic-bezier\\(0\\.16\\,1\\,0\\.3\\,1\\)\\]{animation:.22s cubic-bezier(.16,1,.3,1) pw-scale-in}.animate-ping{animation:var(--animate-ping)}.animate-spin{animation:var(--animate-spin)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-y-1{row-gap:calc(var(--spacing) * 1)}.self-center{align-self:center}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-\\[2\\.5px\\]{border-style:var(--tw-border-style);border-width:2.5px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\\[var\\(--pw-accent\\)\\]{border-color:var(--pw-accent)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-red-400{border-color:var(--color-red-400)}.border-white\\/40{border-color:#fff6}@supports (color:color-mix(in lab,red,red)){.border-white\\/40{border-color:color-mix(in oklab,var(--color-white) 40%,transparent)}}.border-t-\\[var\\(--pw-accent\\)\\]{border-top-color:var(--pw-accent)}.border-t-gray-700{border-top-color:var(--color-gray-700)}.border-t-white{border-top-color:var(--color-white)}.bg-\\[color-mix\\(in_srgb\\,var\\(--pw-accent\\)_6\\%\\,white\\)\\]{background-color:var(--pw-accent)}@supports (color:color-mix(in lab,red,red)){.bg-\\[color-mix\\(in_srgb\\,var\\(--pw-accent\\)_6\\%\\,white\\)\\]{background-color:color-mix(in srgb,var(--pw-accent) 6%,white)}}.bg-\\[var\\(--pw-accent\\)\\]{background-color:var(--pw-accent)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-50\\/60{background-color:#f9fafb99}@supports (color:color-mix(in lab,red,red)){.bg-gray-50\\/60{background-color:color-mix(in oklab,var(--color-gray-50) 60%,transparent)}}.bg-gray-300{background-color:var(--color-gray-300)}.bg-red-50{background-color:var(--color-red-50)}.bg-slate-950\\/50{background-color:#02061880}@supports (color:color-mix(in lab,red,red)){.bg-slate-950\\/50{background-color:color-mix(in oklab,var(--color-slate-950) 50%,transparent)}}.bg-white{background-color:var(--color-white)}.bg-white\\/80{background-color:#fffc}@supports (color:color-mix(in lab,red,red)){.bg-white\\/80{background-color:color-mix(in oklab,var(--color-white) 80%,transparent)}}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-amber-300{--tw-gradient-from:var(--color-amber-300);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-gray-200{--tw-gradient-from:var(--color-gray-200);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-amber-400{--tw-gradient-to:var(--color-amber-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-gray-200{--tw-gradient-to:var(--color-gray-200);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.p-2{padding:calc(var(--spacing) * 2)}.p-3\\.5{padding:calc(var(--spacing) * 3.5)}.p-7{padding:calc(var(--spacing) * 7)}.px-1\\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-0\\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\\.5{padding-block:calc(var(--spacing) * 3.5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-12{padding-block:calc(var(--spacing) * 12)}.text-center{text-align:center}.text-left{text-align:left}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\\[0\\.9375rem\\]{font-size:.9375rem}.text-\\[1\\.625rem\\]{font-size:1.625rem}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\\[-0\\.02em\\]{--tw-tracking:-.02em;letter-spacing:-.02em}.tracking-\\[0\\.14em\\]{--tw-tracking:.14em;letter-spacing:.14em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-\\[var\\(--pw-accent\\)\\]{color:var(--pw-accent)}.text-amber-950{color:var(--color-amber-950)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.opacity-40{opacity:.4}.opacity-60{opacity:.6}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0_0_0_3px_color-mix\\(in_srgb\\,var\\(--pw-accent\\)_12\\%\\,transparent\\)\\]{--tw-shadow:0 0 0 3px var(--tw-shadow-color,var(--pw-accent))}@supports (color:color-mix(in lab,red,red)){.shadow-\\[0_0_0_3px_color-mix\\(in_srgb\\,var\\(--pw-accent\\)_12\\%\\,transparent\\)\\]{--tw-shadow:0 0 0 3px var(--tw-shadow-color,color-mix(in srgb,var(--pw-accent) 12%,transparent))}}.shadow-\\[0_0_0_3px_color-mix\\(in_srgb\\,var\\(--pw-accent\\)_12\\%\\,transparent\\)\\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0_1px_0_rgba\\(15\\,23\\,42\\,0\\.02\\)\\]{--tw-shadow:0 1px 0 var(--tw-shadow-color,#0f172a05);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0_1px_0_rgba\\(15\\,23\\,42\\,0\\.04\\)\\]{--tw-shadow:0 1px 0 var(--tw-shadow-color,#0f172a0a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-8{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-black\\/5{--tw-ring-color:#0000000d}@supports (color:color-mix(in lab,red,red)){.ring-black\\/5{--tw-ring-color:color-mix(in oklab, var(--color-black) 5%, transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.\\!filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)!important}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.outline-none{--tw-outline-style:none;outline-style:none}@media(hover:hover){.group-hover\\:border-gray-400:is(:where(.group):hover *){border-color:var(--color-gray-400)}}.placeholder\\:text-gray-400::placeholder{color:var(--color-gray-400)}@media(hover:hover){.hover\\:-translate-y-px:hover{--tw-translate-y:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\\:border-gray-300:hover{border-color:var(--color-gray-300)}.hover\\:border-gray-400:hover{border-color:var(--color-gray-400)}.hover\\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\\:bg-gray-50\\/60:hover{background-color:#f9fafb99}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-gray-50\\/60:hover{background-color:color-mix(in oklab,var(--color-gray-50) 60%,transparent)}}.hover\\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\\:bg-white:hover{background-color:var(--color-white)}.hover\\:text-gray-700:hover{color:var(--color-gray-700)}.hover\\:text-gray-900:hover{color:var(--color-gray-900)}.hover\\:text-red-600:hover{color:var(--color-red-600)}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-90:hover{opacity:.9}.hover\\:shadow-sm:hover{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\\:brightness-105:hover{--tw-brightness:brightness(105%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}.focus\\:border-\\[var\\(--pw-accent\\)\\]:focus{border-color:var(--pw-accent)}.focus\\:border-red-500:focus{border-color:var(--color-red-500)}.focus\\:shadow-\\[0_0_0_3px_color-mix\\(in_srgb\\,var\\(--pw-accent\\)_18\\%\\,transparent\\)\\]:focus{--tw-shadow:0 0 0 3px var(--tw-shadow-color,var(--pw-accent))}@supports (color:color-mix(in lab,red,red)){.focus\\:shadow-\\[0_0_0_3px_color-mix\\(in_srgb\\,var\\(--pw-accent\\)_18\\%\\,transparent\\)\\]:focus{--tw-shadow:0 0 0 3px var(--tw-shadow-color,color-mix(in srgb,var(--pw-accent) 18%,transparent))}}.focus\\:shadow-\\[0_0_0_3px_color-mix\\(in_srgb\\,var\\(--pw-accent\\)_18\\%\\,transparent\\)\\]:focus{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\\:shadow-\\[0_0_0_3px_rgba\\(239\\,68\\,68\\,0\\.18\\)\\]:focus{--tw-shadow:0 0 0 3px var(--tw-shadow-color,#ef44442e);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\\:underline:focus-visible{text-decoration-line:underline}.focus-visible\\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\\:ring-\\[var\\(--pw-accent\\)\\]:focus-visible{--tw-ring-color:var(--pw-accent)}.focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.active\\:translate-y-0:active{--tw-translate-y:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.active\\:brightness-95:active{--tw-brightness:brightness(95%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-60:disabled{opacity:.6}@media(hover:hover){.disabled\\:hover\\:translate-y-0:disabled:hover{--tw-translate-y:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.disabled\\:hover\\:shadow-\\[0_1px_0_rgba\\(15\\,23\\,42\\,0\\.04\\)\\]:disabled:hover{--tw-shadow:0 1px 0 var(--tw-shadow-color,#0f172a0a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.disabled\\:hover\\:brightness-100:disabled:hover{--tw-brightness:brightness(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}@media(min-width:40rem){.sm\\:max-h-\\[calc\\(100dvh-2rem\\)\\]{max-height:calc(100dvh - 2rem)}.sm\\:p-4{padding:calc(var(--spacing) * 4)}}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}';
102
102
  let X = !1;
103
103
  function ft() {
104
104
  if (X || (X = !0, typeof CSS > "u" || typeof CSS.registerProperty != "function")) return;
@@ -128,7 +128,7 @@ function wt(e, t, i = {}) {
128
128
  throw new Error("mountShadow called in non-DOM environment");
129
129
  ft();
130
130
  const n = i.host ?? document.createElement("div");
131
- n.setAttribute("data-paywall-host", ""), n.style.cssText = "all: initial; position: fixed; inset: 0; z-index: 2147483647; pointer-events: none;", n.isConnected || document.body.appendChild(n);
131
+ n.setAttribute("data-paywall-host", ""), n.style.cssText = i.inline ? "all: initial; position: absolute; inset: 0; z-index: 1; pointer-events: none;" : "all: initial; position: fixed; inset: 0; z-index: 2147483647; pointer-events: none;", !n.isConnected && !i.inline && document.body.appendChild(n);
132
132
  const a = n.attachShadow({ mode: i.shadowMode ?? "closed" }), o = `
133
133
  :host {
134
134
  all: initial !important;
@@ -151,11 +151,11 @@ function wt(e, t, i = {}) {
151
151
  s.textContent = o + lt + (i.injectCss ?? ""), a.appendChild(s);
152
152
  const l = document.createElement("div");
153
153
  l.style.pointerEvents = "auto", a.appendChild(l);
154
- let c = t;
155
- return U(q(e, c), l), {
154
+ let h = t;
155
+ return U(q(e, h), l), {
156
156
  shadowRoot: a,
157
- update(p) {
158
- c = { ...c, ...p }, U(q(e, c), l);
157
+ update(c) {
158
+ h = { ...h, ...c }, U(q(e, h), l);
159
159
  },
160
160
  unmount() {
161
161
  U(null, l), n.remove();
@@ -170,49 +170,50 @@ function bt({
170
170
  brandColor: n,
171
171
  testMode: a,
172
172
  allowClose: o = !0,
173
- children: s
173
+ inline: s = !1,
174
+ children: l
174
175
  }) {
175
- const l = E(null), c = E(null);
176
- return M(() => {
176
+ const h = z(null), c = z(null);
177
+ return T(() => {
177
178
  if (!e) return;
178
179
  c.current = document.activeElement ?? null;
179
- const m = l.current;
180
- m && (m.querySelector(K) ?? m).focus({ preventScroll: !0 });
181
- const g = (b) => {
182
- if (b.key === "Escape") {
180
+ const g = h.current;
181
+ g && (g.querySelector(K) ?? g).focus({ preventScroll: !0 });
182
+ const f = (k) => {
183
+ if (k.key === "Escape") {
183
184
  if (!o) return;
184
- b.stopPropagation(), t();
185
+ k.stopPropagation(), t();
185
186
  return;
186
187
  }
187
- if (b.key !== "Tab" || !l.current) return;
188
- const _ = Array.from(
189
- l.current.querySelectorAll(K)
190
- ).filter((y) => !y.hasAttribute("disabled") && y.tabIndex !== -1);
191
- if (_.length === 0) {
192
- b.preventDefault();
188
+ if (k.key !== "Tab" || !h.current) return;
189
+ const m = Array.from(
190
+ h.current.querySelectorAll(K)
191
+ ).filter((j) => !j.hasAttribute("disabled") && j.tabIndex !== -1);
192
+ if (m.length === 0) {
193
+ k.preventDefault();
193
194
  return;
194
195
  }
195
- const A = _[0], k = _[_.length - 1], S = document.activeElement;
196
- b.shiftKey && S === A ? (b.preventDefault(), k.focus()) : !b.shiftKey && S === k && (b.preventDefault(), A.focus());
196
+ const S = m[0], y = m[m.length - 1], P = document.activeElement;
197
+ k.shiftKey && P === S ? (k.preventDefault(), y.focus()) : !k.shiftKey && P === y && (k.preventDefault(), S.focus());
197
198
  };
198
- document.addEventListener("keydown", g, !0);
199
- const w = document.body.style.overflow;
200
- return document.body.style.overflow = "hidden", () => {
201
- document.removeEventListener("keydown", g, !0), document.body.style.overflow = w, c.current?.focus?.({ preventScroll: !0 });
199
+ document.addEventListener("keydown", f, !0);
200
+ const _ = document.body.style.overflow;
201
+ return s || (document.body.style.overflow = "hidden"), () => {
202
+ document.removeEventListener("keydown", f, !0), s || (document.body.style.overflow = _), c.current?.focus?.({ preventScroll: !0 });
202
203
  };
203
- }, [e, t, o]), e ? /* @__PURE__ */ d(
204
+ }, [e, t, o, s]), e ? /* @__PURE__ */ d(
204
205
  "div",
205
206
  {
206
- class: "fixed inset-0 z-[2147483647] flex items-center justify-center bg-slate-950/50 p-2 sm:p-4 backdrop-blur-md animate-[pw-fade-in_180ms_ease-out]",
207
- onClick: (m) => {
208
- o && m.target === m.currentTarget && t();
207
+ class: `${s ? "absolute z-[1]" : "fixed z-[2147483647]"} inset-0 flex items-center justify-center bg-slate-950/50 p-2 sm:p-4 backdrop-blur-md animate-[pw-fade-in_180ms_ease-out]`,
208
+ onClick: (g) => {
209
+ o && g.target === g.currentTarget && t();
209
210
  },
210
211
  "data-pw-root": !0,
211
212
  children: [
212
213
  /* @__PURE__ */ d(
213
214
  "div",
214
215
  {
215
- ref: l,
216
+ ref: h,
216
217
  role: "dialog",
217
218
  "aria-modal": "true",
218
219
  "aria-labelledby": i,
@@ -246,7 +247,7 @@ function bt({
246
247
  ]
247
248
  }
248
249
  ),
249
- /* @__PURE__ */ r("div", { class: "flex-1 overflow-y-auto p-7", children: s }),
250
+ /* @__PURE__ */ r("div", { class: "flex-1 overflow-y-auto p-7", children: l }),
250
251
  o ? /* @__PURE__ */ r(
251
252
  "button",
252
253
  {
@@ -319,36 +320,36 @@ function mt({ email: e, onSignOut: t }) {
319
320
  ] });
320
321
  }
321
322
  function xt({ block: e, allowSignup: t, allowReset: i, ctx: n }) {
322
- const a = n.auth, o = e.providers ?? [], [s, l] = v("signin"), [c, p] = v(""), [f, m] = v(""), [g, w] = v(""), [b, _] = v(null), [A, k] = v(null), [S, y] = v(null), j = async (C) => {
323
- if (C.preventDefault(), !b) {
324
- _("email"), k(null), y(null);
323
+ const a = n.auth, o = e.providers ?? [], [s, l] = b("signin"), [h, c] = b(""), [w, v] = b(""), [A, g] = b(""), [f, _] = b(null), [k, m] = b(null), [S, y] = b(null), P = async (I) => {
324
+ if (I.preventDefault(), !f) {
325
+ _("email"), m(null), y(null);
325
326
  try {
326
- s === "signin" ? await a.signInWithEmail({ email: c, password: f }) : s === "signup" ? (await a.signUp({ email: c, password: f })).kind === "confirmation_required" && (l("reset_verify"), y("Check your email for a confirmation code.")) : s === "forgot" ? (await a.requestPasswordReset({ email: c }), l("reset_sent"), y("If that email exists, a reset code has been sent.")) : s === "reset_verify" && (await a.verifyOtp({
327
- email: c,
328
- token: g,
329
- type: f ? "recovery" : "email"
330
- }), f && await a.updatePassword({ password: f }));
331
- } catch (I) {
332
- const h = I instanceof T ? I.message : "Something went wrong";
333
- k(h);
327
+ s === "signin" ? await a.signInWithEmail({ email: h, password: w }) : s === "signup" ? (await a.signUp({ email: h, password: w })).kind === "confirmation_required" && (l("reset_verify"), y("Check your email for a confirmation code.")) : s === "forgot" ? (await a.requestPasswordReset({ email: h }), l("reset_sent"), y("If that email exists, a reset code has been sent.")) : s === "reset_verify" && (await a.verifyOtp({
328
+ email: h,
329
+ token: A,
330
+ type: w ? "recovery" : "email"
331
+ }), w && await a.updatePassword({ password: w }));
332
+ } catch (M) {
333
+ const C = M instanceof E ? M.message : "Something went wrong";
334
+ m(C);
334
335
  } finally {
335
336
  _(null);
336
337
  }
337
338
  }
338
- }, z = async (C) => {
339
- if (!b) {
340
- _(C), k(null), y(null);
339
+ }, j = async (I) => {
340
+ if (!f) {
341
+ _(I), m(null), y(null);
341
342
  try {
342
343
  await a.signInWithOAuth({
343
- provider: C,
344
+ provider: I,
344
345
  onPopupOpened: () => _(null)
345
346
  });
346
- } catch (I) {
347
- if (I instanceof T) {
348
- if (I.code === "oauth_cancelled" || I.code === "oauth_timeout") return;
349
- k(I.message);
347
+ } catch (M) {
348
+ if (M instanceof E) {
349
+ if (M.code === "oauth_cancelled" || M.code === "oauth_timeout") return;
350
+ m(M.message);
350
351
  } else
351
- k("Sign-in failed");
352
+ m("Sign-in failed");
352
353
  } finally {
353
354
  _(null);
354
355
  }
@@ -357,30 +358,30 @@ function xt({ block: e, allowSignup: t, allowReset: i, ctx: n }) {
357
358
  return /* @__PURE__ */ d("div", { class: "flex flex-col gap-3", children: [
358
359
  e.heading ? /* @__PURE__ */ r("h2", { class: "text-lg font-semibold tracking-tight text-gray-900", children: e.heading }) : null,
359
360
  o.length > 0 && (s === "signin" || s === "signup") ? /* @__PURE__ */ d("div", { class: "flex flex-col gap-2", children: [
360
- o.map((C) => /* @__PURE__ */ d(
361
+ o.map((I) => /* @__PURE__ */ d(
361
362
  "button",
362
363
  {
363
364
  type: "button",
364
- onClick: () => z(C),
365
- disabled: b !== null,
365
+ onClick: () => j(I),
366
+ disabled: f !== null,
366
367
  class: "flex h-11 w-full items-center justify-center gap-2 rounded-xl border border-gray-200 bg-white px-4 text-sm font-medium text-gray-900 shadow-[0_1px_0_rgba(15,23,42,0.04)] transition-all hover:-translate-y-px hover:border-gray-300 hover:bg-gray-50 hover:shadow-sm disabled:cursor-not-allowed disabled:opacity-60 disabled:hover:translate-y-0 disabled:hover:shadow-[0_1px_0_rgba(15,23,42,0.04)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--pw-accent)]",
367
368
  children: [
368
- b === C ? /* @__PURE__ */ r("span", { class: "inline-block h-4 w-4 animate-spin rounded-full border-2 border-gray-300 border-t-gray-700" }) : /* @__PURE__ */ r(_t, { provider: C }),
369
- /* @__PURE__ */ r("span", { children: vt[C] })
369
+ f === I ? /* @__PURE__ */ r("span", { class: "inline-block h-4 w-4 animate-spin rounded-full border-2 border-gray-300 border-t-gray-700" }) : /* @__PURE__ */ r(_t, { provider: I }),
370
+ /* @__PURE__ */ r("span", { children: vt[I] })
370
371
  ]
371
372
  },
372
- C
373
+ I
373
374
  )),
374
375
  /* @__PURE__ */ r(kt, {})
375
376
  ] }) : null,
376
- /* @__PURE__ */ d("form", { onSubmit: j, class: "flex flex-col gap-2", children: [
377
+ /* @__PURE__ */ d("form", { onSubmit: P, class: "flex flex-col gap-2", children: [
377
378
  (s === "signin" || s === "signup" || s === "forgot") && /* @__PURE__ */ r(
378
379
  O,
379
380
  {
380
381
  type: "email",
381
382
  label: "Email",
382
- value: c,
383
- onInput: p,
383
+ value: h,
384
+ onInput: c,
384
385
  autocomplete: "email",
385
386
  required: !0
386
387
  }
@@ -390,8 +391,8 @@ function xt({ block: e, allowSignup: t, allowReset: i, ctx: n }) {
390
391
  {
391
392
  type: "password",
392
393
  label: "Password",
393
- value: f,
394
- onInput: m,
394
+ value: w,
395
+ onInput: v,
395
396
  autocomplete: s === "signin" ? "current-password" : "new-password",
396
397
  required: !0
397
398
  }
@@ -402,8 +403,8 @@ function xt({ block: e, allowSignup: t, allowReset: i, ctx: n }) {
402
403
  {
403
404
  type: "text",
404
405
  label: "Confirmation code",
405
- value: g,
406
- onInput: w,
406
+ value: A,
407
+ onInput: g,
407
408
  autocomplete: "one-time-code",
408
409
  inputMode: "numeric",
409
410
  required: !0
@@ -414,35 +415,35 @@ function xt({ block: e, allowSignup: t, allowReset: i, ctx: n }) {
414
415
  {
415
416
  type: "password",
416
417
  label: "New password (optional — only for password reset)",
417
- value: f,
418
- onInput: m,
418
+ value: w,
419
+ onInput: v,
419
420
  autocomplete: "new-password"
420
421
  }
421
422
  )
422
423
  ] }),
423
424
  s === "reset_sent" && S && /* @__PURE__ */ r("p", { class: "rounded-lg bg-gray-50 px-3 py-2 text-xs text-gray-600", children: S }),
424
- A && /* @__PURE__ */ r("p", { class: "text-xs text-red-600", children: A }),
425
+ k && /* @__PURE__ */ r("p", { class: "text-xs text-red-600", children: k }),
425
426
  S && s !== "reset_sent" && /* @__PURE__ */ r("p", { class: "text-xs text-gray-500", children: S }),
426
427
  s !== "reset_sent" && /* @__PURE__ */ r(
427
428
  "button",
428
429
  {
429
430
  type: "submit",
430
- disabled: b !== null,
431
+ disabled: f !== null,
431
432
  class: "flex h-11 w-full items-center justify-center rounded-xl px-4 text-sm font-semibold tracking-tight text-white transition-all hover:-translate-y-px hover:brightness-105 disabled:cursor-not-allowed disabled:opacity-60 disabled:hover:translate-y-0 disabled:hover:brightness-100 focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-[var(--pw-accent)]",
432
433
  style: {
433
434
  background: "linear-gradient(180deg, color-mix(in srgb, var(--pw-accent) 92%, white), var(--pw-accent))",
434
435
  boxShadow: "0 1px 2px rgba(15,23,42,0.08), 0 6px 14px -4px color-mix(in srgb, var(--pw-accent) 50%, transparent)"
435
436
  },
436
- children: b === "email" ? /* @__PURE__ */ r("span", { class: "inline-block h-4 w-4 animate-spin rounded-full border-2 border-white/40 border-t-white" }) : yt(s)
437
+ children: f === "email" ? /* @__PURE__ */ r("span", { class: "inline-block h-4 w-4 animate-spin rounded-full border-2 border-white/40 border-t-white" }) : yt(s)
437
438
  }
438
439
  )
439
440
  ] }),
440
441
  /* @__PURE__ */ d("div", { class: "flex flex-wrap items-center justify-between gap-x-3 gap-y-1 text-xs text-gray-500", children: [
441
- s === "signin" && t && /* @__PURE__ */ r("button", { type: "button", onClick: () => B(l, k, y, "signup"), class: "font-medium text-gray-700 hover:underline", children: "Create account" }),
442
- s === "signup" && /* @__PURE__ */ r("button", { type: "button", onClick: () => B(l, k, y, "signin"), class: "font-medium text-gray-700 hover:underline", children: "I already have an account" }),
443
- s === "signin" && i && /* @__PURE__ */ r("button", { type: "button", onClick: () => B(l, k, y, "forgot"), class: "hover:underline", children: "Forgot password?" }),
444
- (s === "forgot" || s === "reset_sent" || s === "reset_verify") && /* @__PURE__ */ r("button", { type: "button", onClick: () => B(l, k, y, "signin"), class: "hover:underline", children: "Back to sign in" }),
445
- s === "reset_sent" && /* @__PURE__ */ r("button", { type: "button", onClick: () => B(l, k, y, "reset_verify"), class: "font-medium text-gray-700 hover:underline", children: "I have a code" })
442
+ s === "signin" && t && /* @__PURE__ */ r("button", { type: "button", onClick: () => B(l, m, y, "signup"), class: "font-medium text-gray-700 hover:underline", children: "Create account" }),
443
+ s === "signup" && /* @__PURE__ */ r("button", { type: "button", onClick: () => B(l, m, y, "signin"), class: "font-medium text-gray-700 hover:underline", children: "I already have an account" }),
444
+ s === "signin" && i && /* @__PURE__ */ r("button", { type: "button", onClick: () => B(l, m, y, "forgot"), class: "hover:underline", children: "Forgot password?" }),
445
+ (s === "forgot" || s === "reset_sent" || s === "reset_verify") && /* @__PURE__ */ r("button", { type: "button", onClick: () => B(l, m, y, "signin"), class: "hover:underline", children: "Back to sign in" }),
446
+ s === "reset_sent" && /* @__PURE__ */ r("button", { type: "button", onClick: () => B(l, m, y, "reset_verify"), class: "font-medium text-gray-700 hover:underline", children: "I have a code" })
446
447
  ] })
447
448
  ] });
448
449
  }
@@ -532,27 +533,27 @@ function Ct({
532
533
  heading: n = "Continue as guest",
533
534
  description: a = "Setting up your guest session…"
534
535
  }) {
535
- const [o, s] = v({ kind: "signing-in" }), l = E(!0);
536
- M(() => () => {
536
+ const [o, s] = b({ kind: "signing-in" }), l = z(!0);
537
+ T(() => () => {
537
538
  l.current = !1;
538
539
  }, []);
539
- const c = () => {
540
+ const h = () => {
540
541
  s({ kind: "signing-in" }), (async () => {
541
542
  try {
542
- const p = await e.signInAnonymously();
543
+ const c = await e.signInAnonymously();
543
544
  if (!l.current) return;
544
- t(p);
545
- } catch (p) {
545
+ t(c);
546
+ } catch (c) {
546
547
  if (!l.current) return;
547
548
  s({
548
549
  kind: "error",
549
- message: p instanceof Error ? p.message : "Anonymous sign-in failed"
550
+ message: c instanceof Error ? c.message : "Anonymous sign-in failed"
550
551
  });
551
552
  }
552
553
  })();
553
554
  };
554
- return M(() => {
555
- c();
555
+ return T(() => {
556
+ h();
556
557
  }, []), /* @__PURE__ */ d("div", { class: "flex flex-col gap-3", children: [
557
558
  i ? /* @__PURE__ */ r(
558
559
  "button",
@@ -574,7 +575,7 @@ function Ct({
574
575
  "button",
575
576
  {
576
577
  type: "button",
577
- onClick: c,
578
+ onClick: h,
578
579
  class: "self-start rounded-md bg-[var(--pw-accent)] px-3 py-1.5 text-sm font-medium text-white hover:opacity-90 focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--pw-accent)] focus-visible:ring-offset-2",
579
580
  children: "Try again"
580
581
  }
@@ -590,34 +591,34 @@ function It() {
590
591
  }
591
592
  const N = 3, V = 200, H = 5e3, D = 5, At = 10 * 1024 * 1024, J = ["image/jpeg", "image/png", "image/webp"], Y = /.+@.+\..+/;
592
593
  function Mt({ client: e, authSession: t, origin: i, onBack: n }) {
593
- const a = t?.user.email ?? "", o = a || null, [s, l] = v(a), [c, p] = v(""), [f, m] = v(""), [g, w] = v([]), [b, _] = v(!1), [A, k] = v(null), [S, y] = v({}), j = ot(() => {
594
- const h = (o ?? s).trim().toLowerCase(), u = c.trim(), x = f.trim();
595
- return Y.test(h) && u.length >= N && u.length <= V && x.length >= 1 && x.length <= H;
596
- }, [o, s, c, f]), z = () => {
597
- const h = {}, u = (o ?? s).trim(), x = c.trim(), L = f.trim();
598
- return u ? Y.test(u.toLowerCase()) || (h.email = "Invalid email") : h.email = "Required", (x.length < N || x.length > V) && (h.subject = `${N}–${V} characters`), (L.length < 1 || L.length > H) && (h.message = `1–${H} characters`), y(h), Object.keys(h).length === 0;
599
- }, C = async (h) => {
600
- if (h.preventDefault(), !b && z()) {
594
+ const a = t?.user.email ?? "", o = a || null, [s, l] = b(a), [h, c] = b(""), [w, v] = b(""), [A, g] = b([]), [f, _] = b(!1), [k, m] = b(null), [S, y] = b({}), P = ot(() => {
595
+ const C = (o ?? s).trim().toLowerCase(), u = h.trim(), p = w.trim();
596
+ return Y.test(C) && u.length >= N && u.length <= V && p.length >= 1 && p.length <= H;
597
+ }, [o, s, h, w]), j = () => {
598
+ const C = {}, u = (o ?? s).trim(), p = h.trim(), x = w.trim();
599
+ return u ? Y.test(u.toLowerCase()) || (C.email = "Invalid email") : C.email = "Required", (p.length < N || p.length > V) && (C.subject = `${N}–${V} characters`), (x.length < 1 || x.length > H) && (C.message = `1–${H} characters`), y(C), Object.keys(C).length === 0;
600
+ }, I = async (C) => {
601
+ if (C.preventDefault(), !f && j()) {
601
602
  _(!0), y((u) => ({ ...u, submit: void 0 }));
602
603
  try {
603
604
  const u = (o ?? s).trim();
604
605
  await e.createSupportTicket({
605
- subject: c.trim(),
606
- content: f.trim(),
606
+ subject: h.trim(),
607
+ content: w.trim(),
607
608
  email: u || void 0,
608
- files: g.length > 0 ? g : void 0
609
- }), k(u);
609
+ files: A.length > 0 ? A : void 0
610
+ }), m(u);
610
611
  } catch (u) {
611
- const x = u instanceof T && u.message || "Failed to send. Please try again.";
612
- y((L) => ({ ...L, submit: x }));
612
+ const p = u instanceof E && u.message || "Failed to send. Please try again.";
613
+ y((x) => ({ ...x, submit: p }));
613
614
  } finally {
614
615
  _(!1);
615
616
  }
616
617
  }
617
- }, I = () => {
618
- p(""), m(""), w([]), y({}), k(null);
618
+ }, M = () => {
619
+ c(""), v(""), g([]), y({}), m(null);
619
620
  };
620
- return A ? /* @__PURE__ */ d("div", { class: "flex flex-col items-center gap-4 py-2 text-center", children: [
621
+ return k ? /* @__PURE__ */ d("div", { class: "flex flex-col items-center gap-4 py-2 text-center", children: [
621
622
  /* @__PURE__ */ r(
622
623
  "div",
623
624
  {
@@ -641,7 +642,7 @@ function Mt({ client: e, authSession: t, origin: i, onBack: n }) {
641
642
  /* @__PURE__ */ d("div", { class: "max-w-[320px] text-sm leading-relaxed text-gray-500", children: [
642
643
  "We've received your message and will respond to",
643
644
  " ",
644
- /* @__PURE__ */ r("b", { class: "text-gray-700", children: A }),
645
+ /* @__PURE__ */ r("b", { class: "text-gray-700", children: k }),
645
646
  "."
646
647
  ] }),
647
648
  /* @__PURE__ */ d("div", { class: "mt-2 flex items-center justify-center gap-3", children: [
@@ -658,7 +659,7 @@ function Mt({ client: e, authSession: t, origin: i, onBack: n }) {
658
659
  "button",
659
660
  {
660
661
  type: "button",
661
- onClick: I,
662
+ onClick: M,
662
663
  class: "flex h-10 items-center justify-center rounded-xl px-4 text-sm font-semibold text-white transition-all hover:-translate-y-px hover:brightness-105 focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-[var(--pw-accent)]",
663
664
  style: {
664
665
  background: "linear-gradient(180deg, color-mix(in srgb, var(--pw-accent) 92%, white), var(--pw-accent))",
@@ -683,7 +684,7 @@ function Mt({ client: e, authSession: t, origin: i, onBack: n }) {
683
684
  ) }),
684
685
  /* @__PURE__ */ r("h2", { class: "text-lg font-semibold tracking-tight text-gray-900", children: "Contact Support" }),
685
686
  /* @__PURE__ */ r("p", { class: "text-xs leading-relaxed text-gray-500", children: "Fill out the form below and we'll get back to you." }),
686
- /* @__PURE__ */ d("form", { onSubmit: C, class: "flex flex-col gap-3", children: [
687
+ /* @__PURE__ */ d("form", { onSubmit: I, class: "flex flex-col gap-3", children: [
687
688
  o ? /* @__PURE__ */ d("div", { class: "rounded-xl border border-gray-200 bg-gray-50/60 px-3 py-2 text-xs text-gray-500", children: [
688
689
  "Sending as ",
689
690
  /* @__PURE__ */ r("b", { class: "font-medium text-gray-700", children: o })
@@ -704,8 +705,8 @@ function Mt({ client: e, authSession: t, origin: i, onBack: n }) {
704
705
  {
705
706
  type: "text",
706
707
  label: "Subject",
707
- value: c,
708
- onInput: p,
708
+ value: h,
709
+ onInput: c,
709
710
  error: S.subject,
710
711
  required: !0
711
712
  }
@@ -714,13 +715,13 @@ function Mt({ client: e, authSession: t, origin: i, onBack: n }) {
714
715
  Tt,
715
716
  {
716
717
  label: "Message",
717
- value: f,
718
- onInput: m,
718
+ value: w,
719
+ onInput: v,
719
720
  error: S.message,
720
721
  required: !0
721
722
  }
722
723
  ),
723
- /* @__PURE__ */ r(Et, { files: g, onChange: w, disabled: b }),
724
+ /* @__PURE__ */ r(Et, { files: A, onChange: g, disabled: f }),
724
725
  S.submit && /* @__PURE__ */ r("p", { class: "text-xs text-red-600", children: S.submit }),
725
726
  /* @__PURE__ */ d("div", { class: "mt-1 flex items-center justify-end gap-2", children: [
726
727
  /* @__PURE__ */ r(
@@ -728,7 +729,7 @@ function Mt({ client: e, authSession: t, origin: i, onBack: n }) {
728
729
  {
729
730
  type: "button",
730
731
  onClick: n,
731
- disabled: b,
732
+ disabled: f,
732
733
  class: "rounded-xl px-3 py-2 text-sm font-medium text-gray-600 transition-colors hover:bg-gray-100 disabled:cursor-not-allowed disabled:opacity-60 focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--pw-accent)]",
733
734
  children: i === "standalone" ? "Close" : "Back"
734
735
  }
@@ -737,13 +738,13 @@ function Mt({ client: e, authSession: t, origin: i, onBack: n }) {
737
738
  "button",
738
739
  {
739
740
  type: "submit",
740
- disabled: !j || b,
741
+ disabled: !P || f,
741
742
  class: "flex h-10 items-center justify-center rounded-xl px-4 text-sm font-semibold text-white transition-all hover:-translate-y-px hover:brightness-105 disabled:cursor-not-allowed disabled:opacity-60 disabled:hover:translate-y-0 disabled:hover:brightness-100 focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-[var(--pw-accent)]",
742
743
  style: {
743
744
  background: "linear-gradient(180deg, color-mix(in srgb, var(--pw-accent) 92%, white), var(--pw-accent))",
744
745
  boxShadow: "0 1px 2px rgba(15,23,42,0.08), 0 6px 14px -4px color-mix(in srgb, var(--pw-accent) 50%, transparent)"
745
746
  },
746
- children: b ? /* @__PURE__ */ r("span", { class: "inline-block h-4 w-4 animate-spin rounded-full border-2 border-white/40 border-t-white" }) : "Send"
747
+ children: f ? /* @__PURE__ */ r("span", { class: "inline-block h-4 w-4 animate-spin rounded-full border-2 border-white/40 border-t-white" }) : "Send"
747
748
  }
748
749
  )
749
750
  ] })
@@ -784,22 +785,22 @@ function Tt({ label: e, value: t, onInput: i, error: n, required: a }) {
784
785
  ] });
785
786
  }
786
787
  function Et({ files: e, onChange: t, disabled: i }) {
787
- const n = E(null), [a, o] = v(!1), [s, l] = v(null), c = (p) => {
788
- if (!p || i) return;
788
+ const n = z(null), [a, o] = b(!1), [s, l] = b(null), h = (c) => {
789
+ if (!c || i) return;
789
790
  l(null);
790
- const f = Array.from(p);
791
- if (e.length + f.length > D) {
791
+ const w = Array.from(c);
792
+ if (e.length + w.length > D) {
792
793
  l(`Up to ${D} files`);
793
794
  return;
794
795
  }
795
- const m = f.filter(
796
- (g) => J.includes(g.type) && g.size <= At
796
+ const v = w.filter(
797
+ (A) => J.includes(A.type) && A.size <= At
797
798
  );
798
- if (m.length !== f.length) {
799
+ if (v.length !== w.length) {
799
800
  l("Only JPEG/PNG/WebP, ≤ 10MB each");
800
801
  return;
801
802
  }
802
- t([...e, ...m]);
803
+ t([...e, ...v]);
803
804
  };
804
805
  return /* @__PURE__ */ d("div", { children: [
805
806
  /* @__PURE__ */ r("span", { class: "text-xs font-medium text-gray-700", children: "Attachments (optional)" }),
@@ -810,12 +811,12 @@ function Et({ files: e, onChange: t, disabled: i }) {
810
811
  tabIndex: 0,
811
812
  "aria-label": "Attachments upload",
812
813
  onClick: () => !i && n.current?.click(),
813
- onDragOver: (p) => {
814
- p.preventDefault(), i || o(!0);
814
+ onDragOver: (c) => {
815
+ c.preventDefault(), i || o(!0);
815
816
  },
816
817
  onDragLeave: () => o(!1),
817
- onDrop: (p) => {
818
- p.preventDefault(), o(!1), c(p.dataTransfer?.files ?? null);
818
+ onDrop: (c) => {
819
+ c.preventDefault(), o(!1), h(c.dataTransfer?.files ?? null);
819
820
  },
820
821
  class: `mt-1.5 cursor-pointer rounded-2xl border border-dashed p-3.5 text-center transition-all ${a ? "border-[var(--pw-accent)] bg-[color-mix(in_srgb,var(--pw-accent)_6%,white)]" : "border-gray-300 hover:border-gray-400 hover:bg-gray-50/60"} ${i ? "cursor-not-allowed opacity-60" : ""}`,
821
822
  children: [
@@ -836,40 +837,40 @@ function Et({ files: e, onChange: t, disabled: i }) {
836
837
  multiple: !0,
837
838
  accept: J.join(","),
838
839
  class: "hidden",
839
- onChange: (p) => {
840
- c(p.target.files), p.currentTarget.value = "";
840
+ onChange: (c) => {
841
+ h(c.target.files), c.currentTarget.value = "";
841
842
  }
842
843
  }
843
844
  ),
844
845
  s && /* @__PURE__ */ r("p", { class: "mt-1 text-xs text-red-600", children: s }),
845
- e.length > 0 && /* @__PURE__ */ r("ul", { class: "mt-2 flex flex-col gap-1", children: e.map((p, f) => /* @__PURE__ */ d(
846
+ e.length > 0 && /* @__PURE__ */ r("ul", { class: "mt-2 flex flex-col gap-1", children: e.map((c, w) => /* @__PURE__ */ d(
846
847
  "li",
847
848
  {
848
849
  class: "flex items-center justify-between gap-2 rounded bg-gray-50 px-2 py-1 text-xs",
849
850
  children: [
850
- /* @__PURE__ */ r("span", { class: "truncate text-gray-700", children: p.name }),
851
+ /* @__PURE__ */ r("span", { class: "truncate text-gray-700", children: c.name }),
851
852
  /* @__PURE__ */ r(
852
853
  "button",
853
854
  {
854
855
  type: "button",
855
856
  onClick: () => {
856
- const m = [...e];
857
- m.splice(f, 1), t(m);
857
+ const v = [...e];
858
+ v.splice(w, 1), t(v);
858
859
  },
859
860
  disabled: i,
860
861
  class: "text-gray-500 hover:text-red-600 disabled:cursor-not-allowed disabled:opacity-60",
861
- "aria-label": `Remove ${p.name}`,
862
+ "aria-label": `Remove ${c.name}`,
862
863
  children: "✕"
863
864
  }
864
865
  )
865
866
  ]
866
867
  },
867
- `${p.name}-${p.size}-${f}`
868
+ `${c.name}-${c.size}-${w}`
868
869
  )) })
869
870
  ] });
870
871
  }
871
872
  function Pt({ block: e, ctx: t }) {
872
- const [i, n] = v(!1), a = e.priceId ?? t.selectedPriceId, o = i || e.action === "checkout" && !a;
873
+ const [i, n] = b(!1), a = e.priceId ?? t.selectedPriceId, o = i || e.action === "checkout" && !a;
873
874
  return /* @__PURE__ */ r(
874
875
  "button",
875
876
  {
@@ -895,7 +896,7 @@ function Pt({ block: e, ctx: t }) {
895
896
  );
896
897
  }
897
898
  function jt({ ctx: e }) {
898
- const t = e.authSession, i = e.auth, [n, a] = v(!1), o = () => e.onAction("support");
899
+ const t = e.authSession, i = e.auth, [n, a] = b(!1), o = () => e.onAction("support");
899
900
  if (t && !t.user.is_anonymous) {
900
901
  const s = async () => {
901
902
  if (!(!i || n)) {
@@ -992,11 +993,11 @@ function Ot(e, t) {
992
993
  n -= 1, e.style.fontSize = `${n}px`;
993
994
  }
994
995
  function Ut({ block: e, ctx: t }) {
995
- const i = e.level ?? 1, n = `h${i}`, a = i === 1 ? "text-[1.625rem] font-semibold leading-tight text-gray-900 tracking-[-0.02em]" : i === 2 ? "text-xl font-semibold leading-snug text-gray-900 tracking-tight" : "text-base font-medium text-gray-900", o = E(null), s = i === 1 && !!t.bootstrap.settings.title_auto_fit;
996
- return M(() => {
996
+ const i = e.level ?? 1, n = `h${i}`, a = i === 1 ? "text-[1.625rem] font-semibold leading-tight text-gray-900 tracking-[-0.02em]" : i === 2 ? "text-xl font-semibold leading-snug text-gray-900 tracking-tight" : "text-base font-medium text-gray-900", o = z(null), s = i === 1 && !!t.bootstrap.settings.title_auto_fit;
997
+ return T(() => {
997
998
  if (!s || !o.current) return;
998
- const l = getComputedStyle(o.current), c = parseFloat(l.lineHeight) || dt * 1.5;
999
- Ot(o.current, c);
999
+ const l = getComputedStyle(o.current), h = parseFloat(l.lineHeight) || dt * 1.5;
1000
+ Ot(o.current, h);
1000
1001
  }, [s, e.text]), /* @__PURE__ */ r(n, { ref: o, class: a, children: e.text });
1001
1002
  }
1002
1003
  function Rt(e) {
@@ -1029,24 +1030,24 @@ function Ft({ block: e, ctx: t }) {
1029
1030
  role: "radiogroup",
1030
1031
  "aria-label": "Plans",
1031
1032
  children: n.map((l) => {
1032
- const c = t.selectedPriceId === l.id, p = e.popular_price_id === l.id;
1033
+ const h = t.selectedPriceId === l.id, c = e.popular_price_id === l.id;
1033
1034
  return /* @__PURE__ */ d(
1034
1035
  "button",
1035
1036
  {
1036
1037
  type: "button",
1037
1038
  role: "radio",
1038
- "aria-checked": c,
1039
+ "aria-checked": h,
1039
1040
  onClick: () => {
1040
1041
  t.setSelectedPriceId(l.id), t.onAction("price_selected", { priceId: l.id, price: l });
1041
1042
  },
1042
1043
  class: [
1043
1044
  "group relative rounded-2xl border px-4 py-3.5 text-left transition-all duration-150 focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-[var(--pw-accent)]",
1044
1045
  a ? "flex w-full flex-col items-start gap-1" : "flex w-full items-center justify-between gap-3",
1045
- c ? "border-[var(--pw-accent)] bg-[color-mix(in_srgb,var(--pw-accent)_6%,white)] shadow-[0_0_0_3px_color-mix(in_srgb,var(--pw-accent)_12%,transparent)]" : "border-gray-200 bg-white hover:border-gray-300 hover:shadow-sm",
1046
- p ? "mt-2.5" : ""
1046
+ h ? "border-[var(--pw-accent)] bg-[color-mix(in_srgb,var(--pw-accent)_6%,white)] shadow-[0_0_0_3px_color-mix(in_srgb,var(--pw-accent)_12%,transparent)]" : "border-gray-200 bg-white hover:border-gray-300 hover:shadow-sm",
1047
+ c ? "mt-2.5" : ""
1047
1048
  ].join(" "),
1048
1049
  children: [
1049
- p ? /* @__PURE__ */ r(
1050
+ c ? /* @__PURE__ */ r(
1050
1051
  "span",
1051
1052
  {
1052
1053
  class: "absolute -top-2.5 left-4 rounded-full px-2.5 py-0.5 text-[10px] font-semibold uppercase tracking-wider text-white shadow-sm",
@@ -1062,10 +1063,10 @@ function Ft({ block: e, ctx: t }) {
1062
1063
  {
1063
1064
  class: [
1064
1065
  "mt-0.5 flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-full border transition-colors",
1065
- c ? "border-[var(--pw-accent)] bg-[var(--pw-accent)]" : "border-gray-300 bg-white group-hover:border-gray-400"
1066
+ h ? "border-[var(--pw-accent)] bg-[var(--pw-accent)]" : "border-gray-300 bg-white group-hover:border-gray-400"
1066
1067
  ].join(" "),
1067
1068
  "aria-hidden": "true",
1068
- children: c ? /* @__PURE__ */ r("span", { class: "h-1.5 w-1.5 rounded-full bg-white" }) : null
1069
+ children: h ? /* @__PURE__ */ r("span", { class: "h-1.5 w-1.5 rounded-full bg-white" }) : null
1069
1070
  }
1070
1071
  ),
1071
1072
  /* @__PURE__ */ d("div", { class: "flex flex-col", children: [
@@ -1157,7 +1158,7 @@ const $t = {
1157
1158
  tokenization_gate: Dt
1158
1159
  };
1159
1160
  function Gt({ layout: e, bootstrap: t, onAction: i, auth: n, authSession: a }) {
1160
- const o = ot(() => t.prices[0]?.id ?? null, [t.prices]), [s, l] = v(o), c = {
1161
+ const o = ot(() => t.prices[0]?.id ?? null, [t.prices]), [s, l] = b(o), h = {
1161
1162
  bootstrap: t,
1162
1163
  selectedPriceId: s,
1163
1164
  setSelectedPriceId: l,
@@ -1165,9 +1166,9 @@ function Gt({ layout: e, bootstrap: t, onAction: i, auth: n, authSession: a }) {
1165
1166
  auth: n,
1166
1167
  authSession: a
1167
1168
  };
1168
- return /* @__PURE__ */ r("div", { class: "flex flex-col gap-4", children: e.blocks.map((p, f) => {
1169
- const m = $t[p.type];
1170
- return m ? /* @__PURE__ */ r(m, { block: p, ctx: c }, f) : (typeof console < "u" && console.warn(`[paywall] unknown block type: ${p.type}`), null);
1169
+ return /* @__PURE__ */ r("div", { class: "flex flex-col gap-4", children: e.blocks.map((c, w) => {
1170
+ const v = $t[c.type];
1171
+ return v ? /* @__PURE__ */ r(v, { block: c, ctx: h }, w) : (typeof console < "u" && console.warn(`[paywall] unknown block type: ${c.type}`), null);
1171
1172
  }) });
1172
1173
  }
1173
1174
  function qt(e, t, i, n) {
@@ -1184,137 +1185,145 @@ function Zt({
1184
1185
  initialView: a,
1185
1186
  purchased: o,
1186
1187
  renew: s,
1187
- onState: l
1188
+ onState: l,
1189
+ inline: h
1188
1190
  }) {
1189
- const [c, p] = v({ status: "idle" }), [f, m] = v(
1191
+ const [c, w] = b({ status: "idle" }), [v, A] = b(
1190
1192
  () => e.auth?.getCachedSession() ?? null
1191
- ), [g, w] = v(() => a === "support" ? { kind: "support", origin: "standalone" } : a === "auth" ? { kind: "auth_gate", origin: "standalone" } : a === "anon" ? { kind: "anon_gate", origin: "standalone" } : { kind: "layout" }), b = E(!1), _ = E(null);
1192
- M(() => {
1193
+ ), [g, f] = b(() => a === "support" ? { kind: "support", origin: "standalone" } : a === "auth" ? { kind: "auth_gate", origin: "standalone" } : a === "anon" ? { kind: "anon_gate", origin: "standalone" } : { kind: "layout" }), _ = z(!1), k = z(null);
1194
+ T(() => {
1193
1195
  if (!l) return;
1194
- const h = qt(t, c, g, o), u = _.current;
1195
- u && Wt(u, h) || (_.current = h, l(h));
1196
- }, [t, c, g, o, l]), M(() => {
1196
+ const u = qt(t, c, g, o), p = k.current;
1197
+ p && Wt(p, u) || (k.current = u, l(u));
1198
+ }, [t, c, g, o, l]), T(() => {
1197
1199
  if (e.auth)
1198
- return e.auth.onAuthChange((h) => m(h));
1199
- }, [e.auth]), M(() => {
1200
+ return e.auth.onAuthChange((u) => A(u));
1201
+ }, [e.auth]), T(() => {
1202
+ if (typeof e.onBootstrapChange == "function")
1203
+ return e.onBootstrapChange((u) => {
1204
+ w(
1205
+ (p) => p.status === "ready" ? { status: "ready", data: u } : p
1206
+ );
1207
+ });
1208
+ }, [e]), T(() => {
1200
1209
  if (!t || c.status === "ready" || c.status === "loading") return;
1201
- let h = !1;
1202
- return p({ status: "loading" }), e.bootstrap().then((u) => {
1203
- h || (p({ status: "ready", data: u }), n("ready", u), u.user?.has_active_subscription && !s && (n("purchase_completed", {
1210
+ let u = !1;
1211
+ return w({ status: "loading" }), e.bootstrap().then((p) => {
1212
+ u || (w({ status: "ready", data: p }), n("ready", p), p.user?.has_active_subscription && !s && (n("purchase_completed", {
1204
1213
  priceId: null,
1205
1214
  sessionId: null,
1206
1215
  restored: !0
1207
- }), w({ kind: "purchase_success", restored: !0 })));
1208
- }).catch((u) => {
1209
- if (h) return;
1210
- const x = u instanceof T ? u : new T("unknown", "Failed to load paywall", { cause: u });
1211
- p({ status: "error", error: x }), n("error", x);
1216
+ }), f({ kind: "purchase_success", restored: !0 })));
1217
+ }).catch((p) => {
1218
+ if (u) return;
1219
+ const x = p instanceof E ? p : new E("unknown", "Failed to load paywall", { cause: p });
1220
+ w({ status: "error", error: x }), n("error", x);
1212
1221
  }), () => {
1213
- h = !0;
1222
+ u = !0;
1214
1223
  };
1215
- }, [t, e]), M(() => {
1224
+ }, [t, e]), T(() => {
1216
1225
  if (!t) {
1217
- w({ kind: "layout" }), b.current = !1;
1226
+ f({ kind: "layout" }), _.current = !1;
1218
1227
  return;
1219
1228
  }
1220
- a === "support" ? w({ kind: "support", origin: "standalone" }) : a === "auth" ? w({ kind: "auth_gate", origin: "standalone" }) : a === "anon" && w({ kind: "anon_gate", origin: "standalone" });
1229
+ a === "support" ? f({ kind: "support", origin: "standalone" }) : a === "auth" ? f({ kind: "auth_gate", origin: "standalone" }) : a === "anon" && f({ kind: "anon_gate", origin: "standalone" });
1221
1230
  }, [t, a]);
1222
- const A = async (h) => {
1231
+ const m = async (u) => {
1223
1232
  try {
1224
- const u = await e.createCheckout({
1225
- priceId: h,
1233
+ const p = await e.createCheckout({
1234
+ priceId: u,
1226
1235
  ignoreActivePurchase: s === !0
1227
1236
  });
1228
- if (n("checkout_started", { priceId: h, url: u.url, acquiring: u.acquiring }), typeof window > "u" || !u.url) return;
1229
- const x = window.open(u.url, "_blank");
1237
+ if (n("checkout_started", { priceId: u, url: p.url, acquiring: p.acquiring }), typeof window > "u" || !p.url) return;
1238
+ const x = window.open(p.url, "_blank");
1230
1239
  if (x) {
1231
1240
  try {
1232
1241
  x.opener = null;
1233
1242
  } catch {
1234
1243
  }
1235
- w({ kind: "awaiting_payment", priceId: h, url: u.url });
1244
+ f({ kind: "awaiting_payment", priceId: u, url: p.url });
1236
1245
  } else
1237
- w({ kind: "popup_blocked", priceId: h, url: u.url });
1238
- } catch (u) {
1239
- if (u instanceof T && u.code === "already_purchased") {
1246
+ f({ kind: "popup_blocked", priceId: u, url: p.url });
1247
+ } catch (p) {
1248
+ if (p instanceof E && p.code === "already_purchased") {
1240
1249
  try {
1241
1250
  await e.getUser({ force: !0 });
1242
1251
  } catch {
1243
1252
  }
1244
- n("purchase_completed", { priceId: h, sessionId: null, restored: !0 }), w({ kind: "purchase_success", restored: !0 });
1253
+ n("purchase_completed", { priceId: u, sessionId: null, restored: !0 }), f({ kind: "purchase_success", restored: !0 });
1245
1254
  return;
1246
1255
  }
1247
- const x = u instanceof T ? u : new T("checkout_failed", "Checkout failed", { cause: u });
1248
- n("error", x), w({ kind: "layout" });
1256
+ const x = p instanceof E ? p : new E("checkout_failed", "Checkout failed", { cause: p });
1257
+ n("error", x), f({ kind: "layout" });
1249
1258
  }
1250
- }, k = (h, u) => {
1259
+ }, S = (u, p) => {
1251
1260
  if (typeof window > "u") return;
1252
- const x = window.open(u, "_blank");
1261
+ const x = window.open(p, "_blank");
1253
1262
  if (x) {
1254
1263
  try {
1255
1264
  x.opener = null;
1256
1265
  } catch {
1257
1266
  }
1258
- w({ kind: "awaiting_payment", priceId: h, url: u });
1267
+ f({ kind: "awaiting_payment", priceId: u, url: p });
1259
1268
  }
1260
1269
  };
1261
- M(() => {
1262
- if (g.kind !== "auth_gate" || !f || f.user.is_anonymous || b.current) return;
1263
- b.current = !0;
1264
- const h = g.pendingCheckout, u = g.origin;
1265
- w({ kind: "verifying" }), (async () => {
1270
+ T(() => {
1271
+ if (g.kind !== "auth_gate" || !v || v.user.is_anonymous || _.current) return;
1272
+ _.current = !0;
1273
+ const u = g.pendingCheckout, p = g.origin;
1274
+ f({ kind: "verifying" }), (async () => {
1266
1275
  if (!s)
1267
1276
  try {
1268
1277
  if ((await e.getUser({ force: !0 })).has_active_subscription) {
1269
1278
  n("purchase_completed", {
1270
- priceId: h?.priceId ?? null,
1279
+ priceId: u?.priceId ?? null,
1271
1280
  sessionId: null,
1272
1281
  restored: !0
1273
- }), w({ kind: "purchase_success", restored: !0 });
1282
+ }), f({ kind: "purchase_success", restored: !0 });
1274
1283
  return;
1275
1284
  }
1276
1285
  } catch {
1277
1286
  }
1278
- if (!h) {
1279
- u === "standalone" ? i() : w({ kind: "layout" });
1287
+ if (!u) {
1288
+ p === "standalone" ? i() : f({ kind: "layout" });
1280
1289
  return;
1281
1290
  }
1282
- await A(h.priceId);
1291
+ await m(u.priceId);
1283
1292
  })().finally(() => {
1284
- b.current = !1;
1293
+ _.current = !1;
1285
1294
  });
1286
- }, [f, g]);
1287
- const S = async (h, u) => {
1288
- if (h === "close") {
1295
+ }, [v, g]);
1296
+ const y = async (u, p) => {
1297
+ if (u === "close") {
1289
1298
  i();
1290
1299
  return;
1291
1300
  }
1292
- if (h === "price_selected") {
1293
- n("price_selected", u);
1301
+ if (u === "price_selected") {
1302
+ n("price_selected", p);
1294
1303
  return;
1295
1304
  }
1296
- if (h === "restore") {
1305
+ if (u === "restore") {
1297
1306
  if (!e.auth || e.auth.getCachedSession()) return;
1298
- w({ kind: "auth_gate" });
1307
+ f({ kind: "auth_gate" });
1299
1308
  return;
1300
1309
  }
1301
- if (h === "support") {
1302
- w({ kind: "support", origin: "layout" });
1310
+ if (u === "support") {
1311
+ f({ kind: "support", origin: "layout" });
1303
1312
  return;
1304
1313
  }
1305
- if (h === "checkout" && c.status === "ready") {
1306
- const x = u?.priceId;
1314
+ if (u === "checkout" && c.status === "ready") {
1315
+ const x = p?.priceId;
1307
1316
  if (!x) {
1308
- n("error", new T("no_price", "No price selected"));
1317
+ n("error", new E("no_price", "No price selected"));
1309
1318
  return;
1310
1319
  }
1311
1320
  if ((c.data.settings.checkout_mode ?? "guest") === "preauth" && !!e.auth && !e.auth.getCachedSession()) {
1312
- w({ kind: "auth_gate", pendingCheckout: { priceId: x } });
1321
+ f({ kind: "auth_gate", pendingCheckout: { priceId: x } });
1313
1322
  return;
1314
1323
  }
1315
- await A(x);
1324
+ await m(x);
1316
1325
  }
1317
- }, y = c.status === "ready" ? c.data.settings.brand_color : null, j = c.status === "ready" ? !!c.data.settings.is_test_mode : !1, z = c.status === "ready" ? c.data.settings.allow_close !== !1 : !0, C = {
1326
+ }, P = c.status === "ready" ? c.data.settings.brand_color : null, j = c.status === "ready" ? !!c.data.settings.is_test_mode : !1, I = c.status === "ready" ? c.data.settings.allow_close !== !1 : !0, M = {
1318
1327
  type: "auth_panel",
1319
1328
  heading: "Sign in to continue",
1320
1329
  allow_signup: !0,
@@ -1323,14 +1332,14 @@ function Zt({
1323
1332
  // чем хотим показывать "Signed in as ..." промежуточным экраном.
1324
1333
  hide_when_authenticated: !1,
1325
1334
  providers: c.status === "ready" ? c.data.settings.auth_providers : void 0
1326
- }, I = g.kind === "support" ? /* @__PURE__ */ r(
1335
+ }, C = g.kind === "support" ? /* @__PURE__ */ r(
1327
1336
  Mt,
1328
1337
  {
1329
1338
  client: e,
1330
- authSession: f,
1339
+ authSession: v,
1331
1340
  origin: g.origin,
1332
1341
  onBack: () => {
1333
- g.origin === "standalone" ? i() : w({ kind: "layout" });
1342
+ g.origin === "standalone" ? i() : f({ kind: "layout" });
1334
1343
  }
1335
1344
  }
1336
1345
  ) : null;
@@ -1339,11 +1348,12 @@ function Zt({
1339
1348
  {
1340
1349
  open: t,
1341
1350
  onClose: i,
1342
- brandColor: y,
1351
+ brandColor: P,
1343
1352
  testMode: j,
1344
- allowClose: z,
1353
+ allowClose: I,
1354
+ inline: h,
1345
1355
  labelledBy: "pw-title",
1346
- children: o ? /* @__PURE__ */ r(it, { onContinue: i }) : g.kind === "purchase_success" ? /* @__PURE__ */ r(it, { restored: g.restored, onContinue: i }) : I || (c.status === "loading" || c.status === "idle" || g.kind === "verifying" ? /* @__PURE__ */ d("div", { class: "flex flex-col items-center justify-center gap-3 py-12", children: [
1356
+ children: o ? /* @__PURE__ */ r(it, { onContinue: i }) : g.kind === "purchase_success" ? /* @__PURE__ */ r(it, { restored: g.restored, onContinue: i }) : C || (c.status === "loading" || c.status === "idle" || g.kind === "verifying" ? /* @__PURE__ */ d("div", { class: "flex flex-col items-center justify-center gap-3 py-12", children: [
1347
1357
  /* @__PURE__ */ r("span", { class: "inline-block h-7 w-7 animate-spin rounded-full border-[2.5px] border-gray-200 border-t-[var(--pw-accent)]" }),
1348
1358
  /* @__PURE__ */ r("span", { class: "text-xs font-medium tracking-wide text-gray-500", children: g.kind === "verifying" ? "Checking your subscription…" : "Loading…" })
1349
1359
  ] }) : c.status === "error" ? /* @__PURE__ */ d("div", { class: "flex flex-col items-center gap-2 py-8 text-center", children: [
@@ -1364,13 +1374,13 @@ function Zt({
1364
1374
  ] }) : g.kind === "auth_gate" && e.auth ? /* @__PURE__ */ r(
1365
1375
  St,
1366
1376
  {
1367
- block: C,
1377
+ block: M,
1368
1378
  bootstrap: c.data,
1369
1379
  auth: e.auth,
1370
- authSession: f,
1380
+ authSession: v,
1371
1381
  showBack: g.origin !== "standalone",
1372
1382
  onBack: () => {
1373
- g.origin === "standalone" ? i() : w({ kind: "layout" });
1383
+ g.origin === "standalone" ? i() : f({ kind: "layout" });
1374
1384
  }
1375
1385
  }
1376
1386
  ) : g.kind === "anon_gate" && e.auth ? /* @__PURE__ */ r(
@@ -1378,25 +1388,25 @@ function Zt({
1378
1388
  {
1379
1389
  auth: e.auth,
1380
1390
  onSuccess: () => {
1381
- g.origin === "standalone" ? i() : w({ kind: "layout" });
1391
+ g.origin === "standalone" ? i() : f({ kind: "layout" });
1382
1392
  },
1383
- onBack: g.origin === "standalone" ? void 0 : () => w({ kind: "layout" })
1393
+ onBack: g.origin === "standalone" ? void 0 : () => f({ kind: "layout" })
1384
1394
  }
1385
1395
  ) : g.kind === "awaiting_payment" ? /* @__PURE__ */ r(
1386
1396
  Xt,
1387
1397
  {
1388
1398
  client: e,
1389
- onBack: () => w({ kind: "layout" }),
1399
+ onBack: () => f({ kind: "layout" }),
1390
1400
  onReopen: () => {
1391
1401
  if (typeof window > "u") return;
1392
- const h = window.open(g.url, "_blank");
1393
- if (h)
1402
+ const u = window.open(g.url, "_blank");
1403
+ if (u)
1394
1404
  try {
1395
- h.opener = null;
1405
+ u.opener = null;
1396
1406
  } catch {
1397
1407
  }
1398
1408
  },
1399
- onRetry: () => A(g.priceId)
1409
+ onRetry: () => m(g.priceId)
1400
1410
  }
1401
1411
  ) : g.kind === "popup_blocked" ? /* @__PURE__ */ d("div", { class: "flex flex-col items-center gap-3 py-8 text-center", children: [
1402
1412
  /* @__PURE__ */ r(
@@ -1425,7 +1435,7 @@ function Zt({
1425
1435
  "button",
1426
1436
  {
1427
1437
  type: "button",
1428
- onClick: () => k(g.priceId, g.url),
1438
+ onClick: () => S(g.priceId, g.url),
1429
1439
  class: "mt-1 rounded-xl px-4 py-2 text-xs font-semibold text-white transition-all hover:-translate-y-px hover:brightness-105 focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-[var(--pw-accent)]",
1430
1440
  style: {
1431
1441
  background: "linear-gradient(180deg, color-mix(in srgb, var(--pw-accent) 92%, white), var(--pw-accent))",
@@ -1439,9 +1449,9 @@ function Zt({
1439
1449
  {
1440
1450
  layout: c.data.layout,
1441
1451
  bootstrap: c.data,
1442
- onAction: S,
1452
+ onAction: y,
1443
1453
  auth: e.auth,
1444
- authSession: f
1454
+ authSession: v
1445
1455
  }
1446
1456
  ))
1447
1457
  }
@@ -1453,9 +1463,9 @@ function Xt({
1453
1463
  onReopen: i,
1454
1464
  onRetry: n
1455
1465
  }) {
1456
- const [a, o] = v(!1), [s, l] = v(!1), c = E(null);
1457
- return M(() => () => {
1458
- c.current !== null && clearTimeout(c.current);
1466
+ const [a, o] = b(!1), [s, l] = b(!1), h = z(null);
1467
+ return T(() => () => {
1468
+ h.current !== null && clearTimeout(h.current);
1459
1469
  }, []), /* @__PURE__ */ d("div", { class: "flex flex-col gap-3", children: [
1460
1470
  /* @__PURE__ */ r(
1461
1471
  "button",
@@ -1492,8 +1502,8 @@ function Xt({
1492
1502
  typeof window < "u" && window.postMessage({ type: "paywall_purchase" }, "*");
1493
1503
  return;
1494
1504
  }
1495
- l(!0), c.current !== null && clearTimeout(c.current), c.current = setTimeout(() => {
1496
- l(!1), c.current = null;
1505
+ l(!0), h.current !== null && clearTimeout(h.current), h.current = setTimeout(() => {
1506
+ l(!1), h.current = null;
1497
1507
  }, 5e3);
1498
1508
  } catch {
1499
1509
  l(!0);
@@ -1633,16 +1643,16 @@ class Qt {
1633
1643
  function te() {
1634
1644
  return !(typeof document > "u" || typeof window > "u" || typeof location < "u" && location.protocol === "chrome-extension:");
1635
1645
  }
1636
- const $ = { open: !1, view: null, error: null }, P = {
1646
+ const $ = { open: !1, view: null, error: null }, L = {
1637
1647
  status: "paywall_status",
1638
1648
  priceId: "paywall_price_id",
1639
1649
  sessionId: "paywall_session_id"
1640
1650
  };
1641
- class he {
1651
+ class pe {
1642
1652
  constructor(t) {
1643
1653
  this.handle = null, this.isOpen = !1, this.listeners = /* @__PURE__ */ new Map(), this.userUnsub = null, this.authUnsub = null, this.watcher = null, this.tracker = null, this.purchased = !1, this.trialStore = null, this.trialStoreConfig = null, this.lastTrialStatus = null, this.trialExpiredFired = !1, this.lastVisibility = null, this.currentState = $, this.stateListeners = /* @__PURE__ */ new Set();
1644
1654
  const { auth: i, ownsAuth: n } = ee(t);
1645
- this.auth = i, this.ownsAuth = n, this.billing = t.client ?? new ut({ ...t, auth: this.auth }), this.host = t.host, this.shadowMode = t.shadowMode ?? "closed", this.mountThenLoad = t.mountThenLoad ?? !0, this.userUnsub = this.billing.onUserChange((a) => {
1655
+ this.auth = i, this.ownsAuth = n, this.billing = t.client ?? new ut({ ...t, auth: this.auth }), this.host = t.host, this.shadowMode = t.shadowMode ?? "closed", this.mountThenLoad = t.mountThenLoad ?? !0, this.inline = t.inline === !0, this.userUnsub = this.billing.onUserChange((a) => {
1646
1656
  this.emit("userChange", a);
1647
1657
  }), this.auth && (this.authUnsub = this.auth.onAuthChange((a) => {
1648
1658
  this.emit("authChange", a);
@@ -1727,6 +1737,19 @@ class he {
1727
1737
  onUserChange(t) {
1728
1738
  return this.on("userChange", t);
1729
1739
  }
1740
+ /**
1741
+ * Заменить cachedBootstrap живыми данными — для preview-режима в редакторе
1742
+ * админки. Если модалка открыта, PaywallRoot подписан на onBootstrapChange
1743
+ * и перерендерится мгновенно. До open() — затравка для bootstrap()-effect'а.
1744
+ *
1745
+ * См. {@link BillingClientOptions.preview} — обычно эту опцию ставят на
1746
+ * клиент, чтобы заодно отключить сетевой revalidate. setBootstrap технически
1747
+ * работает и в production-режиме, но конкуренция с revalidate'ом из сети
1748
+ * почти всегда нежелательна.
1749
+ */
1750
+ setBootstrap(t) {
1751
+ this.billing.setBootstrap(t);
1752
+ }
1730
1753
  on(t, i) {
1731
1754
  let n = this.listeners.get(t);
1732
1755
  return n || (n = /* @__PURE__ */ new Set(), this.listeners.set(t, n)), n.add(i), () => n.delete(i);
@@ -1930,9 +1953,10 @@ class he {
1930
1953
  onEvent: (a, o) => {
1931
1954
  this.emit(a, o), a === "checkout_started" && this.startUserWatcher();
1932
1955
  },
1933
- onState: (a) => this.applyState(a)
1956
+ onState: (a) => this.applyState(a),
1957
+ inline: this.inline
1934
1958
  },
1935
- { host: this.host, shadowMode: this.shadowMode }
1959
+ { host: this.host, shadowMode: this.shadowMode, inline: this.inline }
1936
1960
  ), this.emit("open");
1937
1961
  }
1938
1962
  applyState(t) {
@@ -2170,11 +2194,11 @@ function ae(e, t) {
2170
2194
  }
2171
2195
  function at(e) {
2172
2196
  if (!e) return null;
2173
- const t = new URLSearchParams(e), i = t.get(P.status);
2197
+ const t = new URLSearchParams(e), i = t.get(L.status);
2174
2198
  return i ? {
2175
2199
  status: i,
2176
- priceId: t.get(P.priceId),
2177
- sessionId: t.get(P.sessionId)
2200
+ priceId: t.get(L.priceId),
2201
+ sessionId: t.get(L.sessionId)
2178
2202
  } : null;
2179
2203
  }
2180
2204
  function ne(e) {
@@ -2196,14 +2220,14 @@ function oe(e) {
2196
2220
  const t = (n, a) => {
2197
2221
  if (!n) return "";
2198
2222
  const o = new URLSearchParams(n.replace(/^[?#]/, ""));
2199
- o.delete(P.status), o.delete(P.priceId), o.delete(P.sessionId);
2223
+ o.delete(L.status), o.delete(L.priceId), o.delete(L.sessionId);
2200
2224
  const s = o.toString();
2201
2225
  return s ? a + s : "";
2202
2226
  }, i = e.pathname + t(e.search, "?") + t(e.hash, "#");
2203
2227
  window.history.replaceState(null, "", i);
2204
2228
  }
2205
2229
  export {
2206
- he as P,
2230
+ pe as P,
2207
2231
  $t as b
2208
2232
  };
2209
- //# sourceMappingURL=PaywallUI-BHp9afFC.js.map
2233
+ //# sourceMappingURL=PaywallUI-C3W0eKDo.js.map