/* Prism File Hero — shared design system. Light is the bare :root; dark redefines in both gates. */
:root{
  --ground:#f4f5f7;
  --surface:#ffffff;
  --sunken:#e9ebef;
  --ink:#12161c;
  --muted:#5b6472;
  --line:rgba(18,22,28,.14);
  --accent:#c8102e;
  --credit:#177245;
  --slab:#0b0f16;
  --slab-ink:#f2f4f8;
  --slab-muted:#9aa4b2;
  --slab-line:rgba(242,244,248,.16);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --ground:#0b0e13;
    --surface:#131720;
    --sunken:#0e1118;
    --ink:#edeff3;
    --muted:#98a1ae;
    --line:rgba(237,239,243,.15);
    --accent:#ff5266;
    --credit:#41c07f;
  }
}
:root[data-theme="dark"]{
  --ground:#0b0e13;
  --surface:#131720;
  --sunken:#0e1118;
  --ink:#edeff3;
  --muted:#98a1ae;
  --line:rgba(237,239,243,.15);
  --accent:#ff5266;
  --credit:#41c07f;
}

body{background:var(--ground);}
h1,h2,h3{text-wrap:balance;}
.num{font-variant-numeric:tabular-nums;}

/* capability / bank ticker */
.marquee{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.marquee-track{display:flex;width:max-content;animation:marquee var(--marquee-dur,38s) linear infinite;}
.marquee:hover .marquee-track{animation-play-state:paused;}
@keyframes marquee{to{transform:translateX(-50%);}}
@media (prefers-reduced-motion: reduce){
  .marquee-track{animation:none;flex-wrap:wrap;width:auto;justify-content:center;}
}

/* nav active link */
.nav-link{position:relative;transition:color .2s ease;}
.nav-link:hover{color:#fff;}
.nav-link[aria-current="page"]{color:#fff;}
.nav-link[aria-current="page"]::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;border-radius:2px;background:var(--accent);}

/* keyboard focus */
a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px;}

/* anchor navigation clears the fixed pill nav */
@media (prefers-reduced-motion: no-preference){ html{scroll-behavior:smooth;} }
section[id]{scroll-margin-top:96px;}

/* tool filter */
.filter-btn{transition:background .2s ease,color .2s ease,border-color .2s ease;}
.filter-btn[aria-pressed="true"]{background:var(--ink);color:var(--ground);border-color:var(--ink);}
.tool-card{position:relative;transition:transform .3s ease,box-shadow .3s ease;}
.tool-card::after{content:"";position:absolute;left:1.25rem;right:1.25rem;bottom:.9rem;height:2px;border-radius:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .35s ease;}
.tool-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px -18px rgba(11,15,22,.35);}
.tool-card:hover::after{transform:scaleX(1);}
.tool-card[data-hidden="true"]{display:none;}

/* billing toggle */
.bill-switch{transition:background .2s ease,color .2s ease;}
.bill-switch[aria-pressed="true"]{background:var(--surface);color:var(--ink);}

/* faq */
details summary::-webkit-details-marker{display:none;}
details[open] .faq-plus{transform:rotate(45deg);}
.faq-plus{transition:transform .2s ease;}

/* bank monogram chip */
.bank-chip{display:flex;align-items:center;gap:.75rem;border:1px solid var(--line);background:var(--surface);border-radius:.9rem;padding:.85rem 1rem;}
.bank-mono{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:.6rem;background:var(--sunken);font-family:'Geist Mono',ui-monospace,monospace;font-size:.8rem;font-weight:600;color:var(--ink);letter-spacing:.02em;}

/* hero: popular-job chips */
.job-chip{border-color:rgba(242,244,248,.22);color:#dfe3e9;background:rgba(255,255,255,.04);transition:transform .25s ease,border-color .25s ease,background .25s ease;}
.job-chip:hover{transform:translateY(-2px);border-color:var(--accent);background:rgba(200,16,46,.12);}

/* hero: live demo window */
.demo-window{border:1px solid var(--slab-line);border-radius:1rem;background:var(--slab);box-shadow:0 44px 120px -50px rgba(11,15,22,.65),0 0 0 1px rgba(255,255,255,.03) inset;}
.demo-titlebar{border-bottom:1px solid var(--slab-line);background:rgba(255,255,255,.03);}
.demo-tab{border:1px solid transparent;border-radius:.5rem;padding:.35rem .7rem;font-family:'Geist Mono',ui-monospace,monospace;font-size:11px;color:#8b95a3;white-space:nowrap;transition:color .2s ease,background .2s ease;}
.demo-tab:hover{color:#e8eaee;}
.demo-tab[aria-selected="true"]{color:#fff;background:rgba(255,255,255,.07);border-color:var(--slab-line);}
.demo-scene{opacity:0;visibility:hidden;}
.demo-scene.is-live{opacity:1;visibility:visible;}
#drop-zone{cursor:pointer;transition:background .25s ease;}
#drop-zone:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;}
.drop-frame{border:1.5px dashed var(--slab-line);transition:border-color .25s ease,background .25s ease;}
#drop-zone.is-drop .drop-frame{border-color:var(--accent);background:rgba(200,16,46,.07);}
/* idle invite: breathing dashed frame + bobbing icon, only while empty */
.demo-scene[data-scene="merge"]:not(.has-files):not(.is-magic) .drop-frame{animation:dropPulse 2.8s ease-in-out infinite;}
.demo-scene[data-scene="merge"]:not(.has-files):not(.is-magic) .drop-icon{animation:dropBob 2.8s ease-in-out infinite;}
@keyframes dropPulse{0%,100%{border-color:var(--slab-line);}50%{border-color:rgba(255,82,102,.55);}}
@keyframes dropBob{0%,100%{transform:translateY(0);}50%{transform:translateY(-4px);}}
#drop-list{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent;}
/* magic: shimmer sweep across the output page while merging */
.magic-shine{position:relative;}
.magic-shine::after{content:"";position:absolute;top:-10%;left:-60%;width:45%;height:120%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.65),transparent);transform:skewX(-18deg);opacity:0;}
.demo-scene[data-scene="merge"].is-magic .magic-shine::after{animation:shine 1.1s ease-in-out infinite;opacity:1;}
@keyframes shine{to{left:130%;}}
@media (prefers-reduced-motion: reduce){
  .demo-scene{opacity:1;visibility:visible;position:relative;}
  .demo-scene + .demo-scene{margin-top:2rem;}
  .demo-body{height:auto !important;}
  .drop-frame,.drop-icon,.magic-shine::after{animation:none !important;}
}

/* accessibility: skip link */
.skip-link{position:fixed;left:12px;top:-56px;z-index:100;background:#fff;color:#0b0f16;padding:.6rem 1rem;border-radius:.6rem;font-family:'Outfit',ui-sans-serif,sans-serif;font-weight:600;font-size:.9rem;text-decoration:none;box-shadow:0 8px 24px -8px rgba(0,0,0,.5);transition:top .2s ease;}
.skip-link:focus{top:12px;}

/* tactile press feedback (filter-based so it never fights Tailwind transform utilities) */
@media (hover:hover){
  a:active,button:active,.tool-card:active,.job-chip:active,.filter-btn:active{filter:brightness(.93) saturate(.92);}
}

/* job buttons in the live demo */
[hidden]{display:none !important;}
.job-btn{display:flex;align-items:center;justify-content:space-between;gap:.5rem;text-align:left;border:1px solid var(--slab-line);border-radius:.6rem;padding:.6rem .75rem;font-family:'Outfit',ui-sans-serif,sans-serif;font-size:13px;font-weight:500;color:#dfe3e9;background:rgba(255,255,255,.03);cursor:pointer;transition:border-color .2s ease,background .2s ease,transform .2s ease;}
.job-btn:hover:not(:disabled){border-color:var(--accent);background:rgba(200,16,46,.08);transform:translateY(-1px);}
.job-btn:disabled{opacity:.4;cursor:not-allowed;}
.job-tag,.job-lock{font-family:'Geist Mono',ui-monospace,monospace;font-size:9px;letter-spacing:.08em;text-transform:uppercase;padding:.1rem .35rem;border-radius:.3rem;flex-shrink:0;}
.job-tag{background:rgba(65,192,127,.16);color:#41c07f;}
.job-lock{background:rgba(255,255,255,.06);color:#8b95a3;}
.job-app{cursor:pointer;}

/* film grain: one fixed overlay kills the flat-vector sterility across the whole site */
body::after{content:"";position:fixed;inset:0;z-index:70;pointer-events:none;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
@media (prefers-reduced-motion: reduce){ body::after{opacity:.04;} }

/* auth form (account.html) */
.auth-field{display:block;margin-top:1rem;}
.auth-label{display:block;font-family:'Geist Mono',ui-monospace,monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#8b95a3;margin-bottom:.4rem;}
.auth-input{width:100%;background:rgba(255,255,255,.04);border:1px solid var(--slab-line);border-radius:.6rem;padding:.7rem .85rem;color:var(--slab-ink);font-family:'Outfit',ui-sans-serif,sans-serif;font-size:15px;transition:border-color .2s ease,background .2s ease;}
.auth-input::placeholder{color:#5b6472;}
.auth-input:focus{outline:none;border-color:var(--accent);background:rgba(255,255,255,.06);}
.auth-input[aria-invalid="true"]{border-color:#ff5266;}
.auth-wrap{position:relative;}
.auth-eye{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:none;border:0;padding:.4rem;color:#8b95a3;cursor:pointer;border-radius:.4rem;}
.auth-eye:hover{color:#e8eaee;}
.auth-err{display:none;margin-top:.35rem;font-size:12px;color:#ff5266;}
.auth-err.show{display:block;}
.auth-tab{flex:1;padding:.75rem;font-family:'Outfit',ui-sans-serif,sans-serif;font-size:14px;font-weight:600;color:#8b95a3;background:transparent;border:0;border-bottom:2px solid transparent;cursor:pointer;transition:color .2s ease,border-color .2s ease;}
.auth-tab[aria-selected="true"]{color:#fff;border-bottom-color:var(--accent);}
.auth-submit{width:100%;margin-top:1.25rem;background:var(--accent);color:#fff;border:0;border-radius:.7rem;padding:.85rem;font-family:'Outfit',ui-sans-serif,sans-serif;font-size:15px;font-weight:600;cursor:pointer;transition:filter .2s ease,transform .2s ease;}
.auth-submit:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px);}
.auth-submit:disabled{opacity:.6;cursor:progress;}
.auth-social{width:100%;margin-top:.75rem;display:flex;align-items:center;justify-content:center;gap:.6rem;background:rgba(255,255,255,.04);border:1px solid var(--slab-line);border-radius:.7rem;padding:.8rem;font-family:'Outfit',ui-sans-serif,sans-serif;font-size:14px;font-weight:500;color:#e4e7ec;cursor:pointer;transition:background .2s ease,border-color .2s ease;}
.auth-social:hover{background:rgba(255,255,255,.08);border-color:rgba(242,244,248,.3);}
.auth-check{display:flex;align-items:flex-start;gap:.55rem;margin-top:1rem;font-size:13px;color:#b6bfcb;}
.auth-check input{margin-top:.2rem;accent-color:var(--accent);width:15px;height:15px;flex-shrink:0;}

/* ============================================================
   MINIMAL THEME: flat, light, quiet surfaces (promoted from preview)
   ============================================================ */
:root{
  --ground:#ffffff; --surface:#ffffff; --sunken:#f5f6f8;
  --ink:#10151d; --muted:#5b6472; --line:rgba(16,21,29,.10);
  --accent:#c8102e; --credit:#177245;
  --slab:#ffffff; --slab-ink:#10151d; --slab-muted:#5b6472; --slab-line:rgba(16,21,29,.10);
}
/* remove texture + decorative backgrounds */
body::after{display:none !important;}
body{background:#fff;}
#top img, img[src*="hero-"], img[src*="scan-rescue"], img[src*="tools-archive"], img[src*="receipt"]{display:none !important;}
[style*="radial-gradient"],[style*="repeating-linear-gradient"],[style*="linear-gradient(to top"],[style*="linear-gradient(to right"]{background-image:none !important;}
/* remap light-on-dark inline text to dark-on-light */
[style*="color:#b6bfcb"],[style*="color:#c3cad4"],[style*="color:#9aa4b2"],[style*="color:#8b95a3"],[style*="color:#67717f"],[style*="color:#dfe3e9"],[style*="color:#e4e7ec"],[style*="color:#f2f4f8"]{color:var(--muted) !important;}
.text-white{color:var(--ink) !important;}
/* hairline separation instead of dark slabs */
section[style*="var(--slab)"]{border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
/* buttons: one accent, rest quiet */
.bg-white{background:var(--accent) !important;color:#fff !important;}
a[style*="color:#0b0f16"],button[style*="color:#0b0f16"]{color:#fff !important;}
/* nav pill: light with a hairline */
nav[style*="rgba(11,15,22"]{background:rgba(255,255,255,.85) !important;color:var(--ink) !important;border-color:var(--line) !important;box-shadow:0 1px 0 rgba(16,21,29,.06);}
nav a{color:var(--muted) !important;}
nav a[aria-current="page"]{color:var(--ink) !important;}
/* demo window + chips on light */
.demo-window{background:#fff !important;box-shadow:0 1px 0 rgba(16,21,29,.06);border-color:var(--line) !important;}
.demo-titlebar{background:#fafbfc !important;}
[style*="rgba(255,255,255,.04)"],[style*="rgba(255,255,255,.03)"],[style*="rgba(255,255,255,.05)"],[style*="rgba(255,255,255,.06)"]{background:#f5f6f8 !important;}
[style*="rgba(255,255,255,.08)"]{background:#eef0f3 !important;}
.demo-tab{color:var(--muted) !important;}
.demo-tab[aria-selected="true"]{color:var(--ink) !important;background:#eef0f3 !important;}
.job-btn{color:var(--ink) !important;}
.job-btn:hover:not(:disabled){background:#f5f6f8 !important;}
/* cards: white + hairline, drop heavy shadows */
.rounded-2xl,.rounded-xl{box-shadow:none !important;}
/* footer */
footer{background:#fff !important;color:var(--ink) !important;}
footer a{color:var(--muted) !important;}
footer a:hover{color:var(--ink) !important;}
/* account form: light-mode contrast for the auth component classes */
.auth-tab{color:var(--muted) !important;}
.auth-tab[aria-selected="true"]{color:var(--ink) !important;border-bottom-color:var(--accent) !important;}
.auth-label{color:var(--muted) !important;}
.auth-input{background:#fff !important;color:var(--ink) !important;border-color:var(--line) !important;}
.auth-input::placeholder{color:#9aa4b2 !important;}
.auth-eye{color:var(--muted) !important;}
.auth-social{background:#fff !important;color:var(--ink) !important;border-color:var(--line) !important;}
.auth-check{color:var(--muted) !important;}

/* per-tool working page */
.tool{display:grid;grid-template-columns:1fr;gap:1rem;}
@media (min-width:768px){.tool{grid-template-columns:1fr 1fr;}}
.tool-in,.tool-out{border:1px solid var(--line);border-radius:1rem;background:var(--surface);padding:1.1rem;}
.tool-out{min-height:180px;display:flex;flex-direction:column;gap:.75rem;justify-content:center;}
.tool-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;text-align:center;padding:1.6rem 1rem;border:1.5px dashed var(--line);border-radius:.9rem;color:var(--muted);cursor:pointer;transition:border-color .2s ease,background .2s ease;}
.tool-drop:hover,.tool-drop.is-drop{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,transparent);}
.tool-drop-t{font-family:'Outfit',sans-serif;font-weight:600;font-size:15px;color:var(--ink);}
.tool-drop-s{font-family:'Geist Mono',monospace;font-size:10px;letter-spacing:.04em;}
.tool-files{margin-top:.75rem;display:flex;flex-direction:column;gap:.4rem;}
.tool-file{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:13px;background:var(--sunken);border-radius:.5rem;padding:.5rem .7rem;}
.tool-file-n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);}
.tool-file-s{font-family:'Geist Mono',monospace;font-size:10px;color:var(--muted);flex-shrink:0;}
.tool-opts{margin-top:.85rem;display:flex;flex-direction:column;gap:.6rem;}
.tool-opt{display:flex;flex-direction:column;gap:.3rem;}
.tool-opt-l{font-family:'Geist Mono',monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);}
.tool-opt-h{font-size:11px;color:var(--muted);}
.tool-text,.tool-select{background:var(--ground);border:1px solid var(--line);border-radius:.5rem;padding:.55rem .7rem;color:var(--ink);font-family:'Outfit',sans-serif;font-size:14px;}
.tool-run{margin-top:1rem;width:100%;background:var(--accent);color:#fff;border:0;border-radius:.7rem;padding:.8rem;font-family:'Outfit',sans-serif;font-size:15px;font-weight:600;cursor:pointer;transition:filter .2s ease,transform .2s ease;}
.tool-run:hover:not(:disabled){filter:brightness(1.07);transform:translateY(-1px);}
.tool-run:disabled{opacity:.5;cursor:not-allowed;}
.tool-idle{text-align:center;color:var(--muted);font-size:14px;}
.tool-result{border:1px solid var(--line);border-radius:.7rem;padding:.9rem 1rem;background:var(--sunken);}
.tool-result-n{font-family:'Outfit',sans-serif;font-weight:600;color:var(--ink);}
.tool-result-s{font-size:12px;color:var(--muted);margin-top:.15rem;}
.tool-result-dl{display:inline-block;margin-top:.6rem;background:var(--ink);color:var(--ground);border-radius:9999px;padding:.5rem 1.1rem;font-family:'Outfit',sans-serif;font-size:13px;font-weight:600;text-decoration:none;}
.tool-error{color:var(--accent);font-size:14px;text-align:center;}
.tool-fallback{border:1px solid var(--line);border-radius:1rem;background:var(--surface);padding:1.6rem;text-align:center;}
.tool-fb-title{font-family:'Outfit',sans-serif;font-weight:600;font-size:17px;color:var(--ink);}
.tool-fb-body{margin-top:.5rem;font-size:14px;color:var(--muted);max-width:42ch;margin-left:auto;margin-right:auto;}
.tool-fb-btn{display:inline-block;margin-top:1.1rem;background:var(--accent);color:#fff;border-radius:9999px;padding:.65rem 1.4rem;font-family:'Outfit',sans-serif;font-weight:600;font-size:14px;text-decoration:none;}
.clerk-root{min-height:240px;display:flex;flex-direction:column;}
.clerk-root [data-clerk-component]{width:100%;}
.clerk-signed,.clerk-err{font-family:'Outfit',sans-serif;font-size:14px;text-align:center;margin:10px 0;}
.clerk-signed{color:#c3cad4;}
.clerk-err{color:#ff8a99;}
.auth-entry{display:flex;flex-direction:column;gap:.7rem;padding:.4rem 0;}
.auth-cta{display:block;text-align:center;background:var(--accent);color:#fff;border-radius:9999px;padding:.85rem 1.2rem;font-family:'Outfit',sans-serif;font-weight:600;font-size:15px;text-decoration:none;}
.auth-cta2{display:block;text-align:center;border:1px solid var(--slab-line);color:#e4e7ec;background:transparent;border-radius:9999px;padding:.85rem 1.2rem;font-family:'Outfit',sans-serif;font-weight:600;font-size:15px;text-decoration:none;cursor:pointer;}
.auth-entry-note{margin-top:.4rem;text-align:center;font-size:12px;color:#8b95a3;}
