/* pushin.cc — the few rules the compiled Tailwind sheet does not carry:
   reveal animations, the mobile sheet, the currency marquee, the dashboard. */

/* Playfair Display, self-hosted (the reference loaded it from Google Fonts). */
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/playfair/latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/playfair/latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* Reveal: every element that starts at opacity:0 gets data-m from the generator.
   site.js adds .in when it scrolls into view; the transition matches framer's easeOut. */
[data-m]{transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1);will-change:opacity,transform}
[data-m].in{opacity:1!important;transform:none!important}
@media (prefers-reduced-motion:reduce){[data-m]{transition:none}}
html.no-js [data-m]{opacity:1!important;transform:none!important}

/* Loader */
[data-loader].done{opacity:0;pointer-events:none}
[data-page].ready{opacity:1}
[data-page]{min-height:100vh}

/* Nav on scroll */
[data-nav].scrolled{padding-top:0!important;padding-left:0!important;padding-right:0!important}

/* Mobile sheet */
[data-sheet][hidden]{display:none}
[data-sheet-panel]{animation:sheet-in .35s cubic-bezier(.22,1,.36,1)}
@keyframes sheet-in{from{transform:translateX(100%)}to{transform:none}}
[data-sheet-overlay]{animation:fade-in .25s ease-out}
@keyframes fade-in{from{opacity:0}to{opacity:1}}

/* Continuous marquee for the currency pills (Swiper autoplay, delay 0, linear). */
.country-swiper .swiper-wrapper{width:max-content;animation:marquee 28s linear infinite}
.country-swiper:hover .swiper-wrapper{animation-play-state:paused}

/* Accordion content height for the compiled keyframes */
[data-acc-content]{--radix-accordion-content-height:var(--acc-h,0px)}

/* Scroll-snap fallback carousel on the business page (mobile) */
.no-scrollbar{scrollbar-width:none;-ms-overflow-style:none}
.no-scrollbar::-webkit-scrollbar{display:none}

/* Token strip */
[data-token-buy][aria-disabled="true"]{pointer-events:none}

/* Live strip */
[data-live-dot].on{background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.18)}
[data-live-dot].off{background:#f59e0b}

/* Docs */
.docs h2{font-family:"Office Times Round",ui-serif,Georgia,serif;font-size:30px;letter-spacing:-.02em;margin:40px 0 14px}
.docs section:first-child h2{margin-top:0}
.docs p,.docs li{font-size:16px;line-height:1.75;color:#252525;margin-bottom:14px}
.docs ol,.docs ul{padding-left:22px;margin-bottom:18px}
.docs ol{list-style:decimal}.docs ul{list-style:disc}
.docs code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em;background:#F3F4F6;border-radius:6px;padding:1px 6px}
.docs pre{background:#0F172A;color:#E2E8F0;border-radius:16px;padding:18px 20px;overflow-x:auto;margin:14px 0 22px;font-size:13px;line-height:1.6}
.docs pre code{background:none;padding:0;color:inherit}
.docs table{width:100%;border-collapse:collapse;margin:14px 0 22px;font-size:14px}
.docs th,.docs td{border-bottom:1px solid #EBEBEB;padding:10px 8px;text-align:left;vertical-align:top}
.docs a{text-decoration:underline;text-underline-offset:4px}

/* ------------------------------------------------------------------ dashboard */
.app-shell{min-height:100vh;background:#fff;color:#0F172A;font-family:"Inter Display",system-ui,sans-serif;font-size:13px;display:flex;flex-direction:column}
.app-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 20px;border-bottom:1px solid #EFEFEF;position:sticky;top:0;background:#fff;z-index:20}
.app-top-divider{width:1px;height:22px;background:#D1D5DB;display:inline-block;margin:0 2px}
.app-top-sub{font-size:9px;line-height:1.05;color:#374151;font-weight:500}
.app-search{flex:1;max-width:340px;display:flex;align-items:center;gap:8px;background:#F7F7F8;border:1px solid #ECECEE;border-radius:10px;padding:7px 12px;color:#6B7280}
.app-search input{background:none;border:0;outline:0;font-size:12px;width:100%;color:#0F172A}
.app-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid #ECECEE;background:#fff;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:500;color:#0F172A}
.app-chip-btn{cursor:pointer}
.app-chip-btn:hover{border-color:#4166FB}
.app-dot{width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.18)}
.app-dot.warn{background:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.18)}
.app-avatar{width:20px;height:20px;border-radius:50%;background:conic-gradient(from 90deg,#4166FB,#EF4444,#F59E0B,#4166FB)}
.app-body{display:grid;grid-template-columns:200px minmax(0,1fr);flex:1}
.app-side{border-right:1px solid #EFEFEF;padding:14px 10px;display:flex;flex-direction:column;gap:2px}
.app-side-sep{height:1px;background:#EFEFEF;margin:10px 4px}
.app-nav{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:10px;color:#4B5563;font-size:12.5px;text-align:left;width:100%}
.app-nav:hover{background:#F5F5F7;color:#0F172A}
.app-nav.active{background:#EEF2FF;color:#0F172A;font-weight:600}
.app-main{padding:20px 26px 60px;max-width:1240px;width:100%}
.app-banner{margin-bottom:16px;border:1px solid #FDE68A;background:#FFFBEB;color:#92400E;border-radius:12px;padding:10px 14px;font-size:12.5px}
.app-banner a{text-decoration:underline}
.app-grid{display:grid;gap:14px}
.app-grid-3{grid-template-columns:2fr 1fr}
.app-grid-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
.app-card{border:1px solid #ECECEE;border-radius:16px;padding:18px;background:#fff;min-width:0}
.app-card.dark{background:#111;color:#fff;border-color:#111}
.app-card h3{font-size:13px;font-weight:600;margin:0 0 6px}
.app-card .big{font-size:30px;font-weight:600;letter-spacing:-.02em;margin:4px 0 2px}
.app-card .muted{color:#6B7280;font-size:12px}
.app-card.dark .muted{color:rgba(255,255,255,.6)}
.app-up{color:#16a34a;font-weight:600}
.app-chart{height:150px;width:100%;display:block;margin-top:14px}
.app-seg{display:inline-flex;gap:4px;background:#F5F5F7;border-radius:10px;padding:3px}
.app-seg button{padding:4px 9px;border-radius:8px;font-size:11px;color:#6B7280}
.app-seg button.on{background:#fff;color:#0F172A;box-shadow:0 1px 2px rgba(0,0,0,.08)}
.app-actions button,.app-actions a{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:7px 4px;font-size:12.5px;color:#0F172A;border-radius:8px}
.app-actions button:hover,.app-actions a:hover{background:#F5F5F7}
.app-table{width:100%;border-collapse:collapse;font-size:12.5px}
.app-table th{text-align:left;color:#6B7280;font-weight:500;padding:8px 8px;border-bottom:1px solid #EFEFEF;white-space:nowrap}
.app-table td{padding:10px 8px;border-bottom:1px solid #F5F5F7;vertical-align:middle;white-space:nowrap}
.app-table td.mono,.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px}
.app-pill{display:inline-block;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}
.app-pill.ok{background:#DCFCE7;color:#166534}.app-pill.off{background:#F3F4F6;color:#6B7280}.app-pill.warn{background:#FEF3C7;color:#92400E}
.app-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:999px;padding:9px 16px;font-size:12.5px;font-weight:600;background:#4166FB;color:#fff;cursor:pointer}
.app-btn:hover{background:#3358e0}
.app-btn:disabled{opacity:.5;cursor:not-allowed}
.app-btn.ghost{background:#fff;color:#0F172A;border:1px solid #E5E7EB}
.app-btn.ghost:hover{background:#F9FAFB}
.app-btn.sm{padding:5px 10px;font-size:11.5px}
.app-form{display:grid;gap:12px}
.app-form label{display:block;font-size:12px;font-weight:600;margin-bottom:5px}
.app-form input,.app-form select,.app-form textarea{width:100%;border:1px solid #E5E7EB;border-radius:10px;padding:9px 11px;font-size:13px;background:#fff;outline:0}
.app-form input:focus,.app-form select:focus,.app-form textarea:focus{border-color:#4166FB;box-shadow:0 0 0 3px rgba(65,102,251,.1)}
.app-form .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.app-form .hint{font-size:11.5px;color:#6B7280;margin-top:4px}
.app-empty{padding:28px;text-align:center;color:#6B7280;border:1px dashed #E5E7EB;border-radius:14px;font-size:12.5px}
.app-toasts{position:fixed;right:16px;bottom:16px;display:flex;flex-direction:column;gap:8px;z-index:60}
.app-toast{background:#0F172A;color:#fff;border-radius:12px;padding:10px 14px;font-size:12.5px;max-width:360px;box-shadow:0 10px 30px rgba(0,0,0,.2)}
.app-toast.err{background:#B91C1C}
.app-toast a{text-decoration:underline}
.app-modal{position:fixed;inset:0;z-index:50;background:rgba(15,23,42,.45);display:flex;align-items:center;justify-content:center;padding:16px}
.app-modal[hidden]{display:none}
.app-modal-card{background:#fff;border-radius:20px;padding:22px;width:100%;max-width:520px;max-height:90vh;overflow:auto;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.app-modal-card h2{font-size:18px;font-weight:600;margin:0 0 14px}
.app-connect{display:flex;flex-direction:column;align-items:center;gap:14px;padding:48px 20px;text-align:center}
.app-connect h2{font-family:"Office Times Round",ui-serif,Georgia,serif;font-size:32px;letter-spacing:-.02em}
.app-wallets{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.app-kv{display:grid;grid-template-columns:140px 1fr;gap:8px 12px;font-size:12.5px}
.app-kv dt{color:#6B7280}
.app-kv dd{word-break:break-all}
@media (max-width:900px){.app-body{grid-template-columns:1fr}.app-side{flex-direction:row;flex-wrap:wrap;border-right:0;border-bottom:1px solid #EFEFEF;padding:8px}.app-side-sep{display:none}.app-nav{width:auto}.app-nav span{display:none}.app-grid-3,.app-grid-cards{grid-template-columns:1fr}.app-search{display:none}.app-main{padding:14px}.app-form .row{grid-template-columns:1fr}.app-top-sub,.app-top-divider{display:none}}

/* Utilities used by PUSHIN's own pages that the reference never needed (Tailwind spec values). */
.pt-32{padding-top:8rem}.pb-16{padding-bottom:4rem}.mb-10{margin-bottom:2.5rem}.pr-4{padding-right:1rem}.gap-x-6{column-gap:1.5rem}
.max-w-\[860px\]{max-width:860px}.max-w-\[1100px\]{max-width:1100px}.max-w-\[560px\]{max-width:560px}.max-w-\[70\%\]{max-width:70%}
.max-h-16{max-height:4rem}.max-h-\[420px\]{max-height:420px}.min-w-\[520px\]{min-width:520px}.w-auto{width:auto}
.leading-7{line-height:1.75rem}.leading-\[140\%\]{line-height:140%}.text-\[30px\]{font-size:30px}.text-\[\#4B5563\]{color:#4B5563}.text-neutral-400{color:#a3a3a3}
.bg-\[\#CBD5E1\]{background-color:#CBD5E1}.from-\[\#EEEEEE\]{--tw-gradient-from:#EEEEEE var(--tw-gradient-from-position);--tw-gradient-to:rgba(238,238,238,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.-bottom-\[150px\]{bottom:-150px}.z-\[80\]{z-index:80}.z-\[90\]{z-index:90}.duration-700{transition-duration:.7s}
.transition-\[max-height\]{transition-property:max-height;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}
.hover\:border-\[\#4166FB\]:hover{border-color:#4166FB}.hover\:text-\[\#0F172A\]:hover{color:#0F172A}
.group:hover .group-hover\:-translate-y-\[3px\]{transform:translateY(-3px)}
[aria-disabled="true"].aria-disabled\:cursor-not-allowed{cursor:not-allowed}[aria-disabled="true"].aria-disabled\:opacity-60{opacity:.6}
@media (min-width:640px){.sm\:text-\[38px\]{font-size:38px}}
@media (min-width:768px){.md\:pt-40{padding-top:10rem}.md\:text-\[52px\]{font-size:52px}}
@media (min-width:1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:flex-nowrap{flex-wrap:nowrap}.lg\:text-right{text-align:right}.lg\:max-w-\[560px\]{max-width:560px}.lg\:min-h-auto{min-height:auto}}

/* The hidden attribute must beat display:flex/grid utilities (the invoice summary rows, blog cards). */
[hidden]{display:none!important}
