@layer pb-reset, pb-thread;









@font-face {
  font-family: "Diatype Rounded";
  src: url("../assets/fonts/diatype-rounded-500.woff2") format("woff2"),
       url("../assets/fonts/diatype-rounded-500.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Diatype Rounded";
  src: url("../assets/fonts/diatype-rounded-800.woff2") format("woff2"),
       url("../assets/fonts/diatype-rounded-800.woff") format("woff");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Diatype Rounded";
  src: url("../assets/fonts/diatype-rounded-900.woff2") format("woff2"),
       url("../assets/fonts/diatype-rounded-900.woff") format("woff");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}



@font-face {
  font-family: "IBM Plex Mono";
  src: url("../assets/fonts/ibm-plex-mono-400.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "IBM Plex Mono";
  src: url("../assets/fonts/ibm-plex-mono-500.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}









@layer pb-reset {
  *,
  *::before,
  *::after { box-sizing: border-box; margin: 0; padding: 0; }
}

html, body { height: 100%; }

body {
  font-family: var(--font-body);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  


  letter-spacing: var(--track-body);
  color: var(--text);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; 
  text-rendering: optimizeLegibility;
}

svg { display: block; }
img, svg { max-width: 100%; }




::selection {
  background: color-mix(in srgb, var(--text-faint) 25%, transparent);
  text-shadow: none;
}




img { -webkit-user-drag: none; }




.app {
  -webkit-user-select: none;
  user-select: none;
}
.app input,
.app textarea,
.app select,
.app [contenteditable] {
  -webkit-user-select: text;
  user-select: text;
}

a { color: inherit; text-decoration: none; }

button {
  font: inherit;
  color: inherit;
  background: none;
  border: none;
  cursor: pointer;
}



:where(a, button, input, select, textarea, [role="button"], [tabindex]) {
  touch-action: manipulation;
}

input, textarea, select {
  font: inherit;
  color: inherit;
}

ul, ol { list-style: none; }





.pb-eyebrow {
  font-family: var(--font-mono);
  font-size: var(--fs-label);
  font-weight: 500;
  letter-spacing: var(--track-label);
  text-transform: uppercase;
  color: var(--text-faint);
}


:where(a, button, input, textarea, select, [tabindex]):focus-visible {
  outline: var(--ring-w) solid var(--ring);
  outline-offset: var(--ring-offset);
  
}



[tabindex="-1"]:focus:not(:focus-visible) { outline: none; }



:where(input:not([type=checkbox], [type=radio], [type=range], [type=button], [type=submit], [type=reset], [type=file], [type=color]), textarea, select):focus-visible { outline: none; }





:is(h1, h2, h3, [role="dialog"], [role="tabpanel"], [role="group"], [role="status"])[tabindex="-1"]:focus { outline: none; }


[data-pb-trap]:focus { outline: none; }


.pb-sr {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.pb-field-err {
  margin: 0.375rem 0 0;
  font-size: var(--fs-sm);
  line-height: 1.4;
  color: var(--bad-fg);
}

.pb-nobr { white-space: nowrap; }


.pb-br { display: block; }
@media (max-width: 560px) { .pb-br { display: inline; } }










html { scrollbar-gutter: stable; }
html.scroll-locked { overflow: hidden; }




* {
  scrollbar-width: thin;
  scrollbar-color: color-mix(in srgb, var(--text) 16%, transparent) transparent;
}
*::-webkit-scrollbar { width: 0.5625rem; height: 0.5625rem; }
*::-webkit-scrollbar-thumb {
  background: var(--border-strong);
  border-radius: var(--r-md);
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }
}



















.pb-fmeta-pill--rate .rate-lock {
  display: inline-flex;
  align-items: center;
  gap: 0.3125rem; 
}
.pb-fmeta-pill--rate .rate-lock svg { width: 13px; height: 13px; flex: none; }







.pb-av-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  border-radius: inherit;
}



.pb-legalfoot {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.4375rem;
  padding: 3rem 1rem 1.25rem;
  




  font-size: var(--fs-xs);
  color: color-mix(in srgb, var(--text-faint) 80%, transparent);
  

  margin-top: auto;
  

}




.pb-legalfoot[data-pending] { visibility: hidden; }












@media (pointer: coarse) {
  





  





  :where(.pb-btn-lg, .pb-btn-go) { position: relative; }
  :root :is(.pb-btn-lg, .pb-btn-go)::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    height: max(100%, var(--touch));
    transform: translateY(-50%);
  }

  
  

  .tool-btn { position: relative; }
  .tool-btn::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: max(100%, var(--touch));
    height: max(100%, var(--touch));
    transform: translate(-50%, -50%);
  }
  .view-seg button { width: 2.5rem; height: 2.5rem; }

  
  :root .pb-btn-x { width: var(--touch); height: var(--touch); }
  :root :is(.drawer, .rqp) .mcal-arrow { width: var(--touch); height: var(--touch); }

  




  .sec-count-x { position: relative; }
  :is(.td2-x, .pb-star, .pb-strip-x, .sec-count-x, .set-toggle)::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: var(--touch);
    height: var(--touch);
    transform: translate(-50%, -50%);
  }

  


  .drawer .cd,
  .rqp .cd { min-height: var(--touch); }

  

  input, select, textarea { font-size: max(16px, var(--fs-body)); min-height: var(--touch); }
  



}

.pb-legalfoot a { color: inherit; text-decoration: none; transition: color var(--dur) var(--ease); }
.pb-legalfoot a:hover { color: var(--text); text-decoration: underline; text-underline-offset: 0.15em; }



















#pb-pre {
  

  



  --sheet: #fff; --ink: color-mix(in srgb, var(--text-soft) 35%, var(--text));
  --tile: var(--bg); --spark: color-mix(in srgb, var(--text-soft) 70%, var(--text));
  --word: var(--ink);
  

  --pre-k: 1.12; --pre-d: 0.15s;
  --pre-book: calc(1.8s * var(--pre-k)); --pre-w: 4.876rem; 
  position: fixed; inset: 0; z-index: 2147483000;
  display: grid; place-items: center;
  background: var(--bg);
}



@media (max-width: 767.98px) { #pb-pre { --pre-w: calc(4.876rem * 0.85); } }


[data-theme="dark"] #pb-pre {
  


  --sheet: color-mix(in srgb, var(--text) 94%, var(--bg));
  

  --ink: color-mix(in srgb, var(--text) 11%, var(--bg));
  

  --spark: color-mix(in srgb, var(--text) 72%, var(--bg));
  --word: var(--sheet);
}













#pb-pre .pre-logo { position: relative; display: block; width: var(--pre-w); aspect-ratio: 227 / 190; }



#pb-pre:not(.go) .pre-logo { opacity: 0; }
#pb-pre .pre-logo .pre-stage { position: absolute; inset: 0; width: auto; }
#pb-pre .pre-word {
  position: absolute; left: calc(50% - var(--pre-w) * 0.276); top: calc(50% - 0.75rem);
  display: block; translate: 0 -50%;
  font: normal 800 calc(var(--pre-w) * 0.39) / 1.2 var(--font-display); letter-spacing: -0.01em;
  color: var(--word); white-space: nowrap;
  
  z-index: 0; overflow: hidden;
  opacity: 0;
}






#pb-pre .pre-word::before {
  content: ""; position: absolute; top: 0; bottom: 0; left: 0;
  width: calc(var(--pre-w) * 4);
  background: linear-gradient(to right, var(--bg) calc(var(--pre-w) * 1.7), transparent calc(var(--pre-w) * 2));
  transform: translateX(calc(var(--pre-w) * -0.855));
  will-change: transform;
}
#pb-pre.go .pre-word::before { animation: pb-pre-reveal calc(1.1s * var(--pre-k)) linear var(--pre-d) both; }
#pb-pre.go .pre-word {
  animation:
    pb-pre-word-in calc(0.95s * var(--pre-k)) cubic-bezier(0.4, 0, 0.6, 1) calc(0.05s * var(--pre-k) + var(--pre-d)) both, 
    pb-pre-fade-out 0.4s ease calc(var(--pre-book) + 0.15s + var(--pre-d)) forwards;
}


#pb-pre .pre-by {
  position: fixed; left: 0; right: 0; bottom: 2rem; display: block;
  font: normal 500 var(--fs-xs) / 1 var(--font-body);
  color: var(--text-faint); text-align: center; letter-spacing: 0.01em;
  opacity: 0;
}
#pb-pre.go .pre-by {
  animation:
    pb-pre-fade-in 0.4s ease calc(0.2s + var(--pre-d)) both,
    pb-pre-fade-out 0.4s ease calc(var(--pre-book) + 0.15s + var(--pre-d)) forwards;
}

@keyframes pb-pre-reveal {
  0%     { transform: translateX(calc(var(--pre-w) * -0.855)); animation-timing-function: cubic-bezier(0.6, 0, 0.2, 1); }
  77.27% { transform: translateX(calc(var(--pre-w) * -1.76)); animation-timing-function: ease-in-out; }
  100%   { transform: translateX(calc(var(--pre-w) * -2)); }
}
@keyframes pb-pre-word-in { from { opacity: 0; } to { opacity: 1; } }




#pb-pre .pre-stage {
  position: relative; display: block; z-index: 1; width: var(--pre-w); aspect-ratio: 227 / 190;
  transform: translate(3.1%, 12.4%); translate: 0 -0.75rem;
}


#pb-pre.go .pre-stage {
  animation:
    pb-pre-fade-in 0.4s ease var(--pre-d) both,
    pb-pre-slide calc(0.85s * var(--pre-k)) cubic-bezier(0.6, 0, 0.2, 1) var(--pre-d) both, 
    pb-pre-fade-out 0.4s ease calc(var(--pre-book) + 0.15s + var(--pre-d)) forwards;
}
@keyframes pb-pre-slide {
  from { translate: 0 -0.75rem; }
  to   { translate: calc(var(--pre-w) * -0.905) -0.75rem; }
}
@keyframes pb-pre-fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes pb-pre-fade-out { from { opacity: 1; } to { opacity: 0; } }










#pb-pre .pre-book { transform-origin: 43.74% 66.53%; }
#pb-pre.go .pre-book { animation: pb-pre-sway var(--pre-book) linear var(--pre-d) both; }
@keyframes pb-pre-sway {
  
  0%   { rotate: 0.5deg;  translate: 0 0.8%;  scale: 0.985; animation-timing-function: cubic-bezier(0.3, 0, 0.4, 1); }
  30%  { rotate: -1.8deg; translate: 0 -1.3%; scale: 1.008; animation-timing-function: cubic-bezier(0.45, 0, 0.55, 1); }
  52%  { rotate: 0.8deg;  translate: 0 0.3%;  scale: 1;     animation-timing-function: cubic-bezier(0.45, 0, 0.55, 1); }
  70%  { rotate: -0.3deg; translate: 0 -0.15%; animation-timing-function: cubic-bezier(0.45, 0, 0.55, 1); }
  85%  { rotate: 0.1deg;  translate: 0 0; }
  100% { rotate: 0deg;    translate: 0 0;     scale: 1; }
}








#pb-pre .pre-book { position: absolute; top: calc(-300% / 190); bottom: 0; left: calc(-700% / 227); width: calc(23400% / 227); display: block; }






#pb-pre .pre-book { clip-path: inset(0 4.36% 0 0); }
#pb-pre .pre-book svg { display: block; width: 100%; height: 100%; }
#pb-pre .pre-book .pf { fill: var(--sheet); }
#pb-pre .pre-book .pi { fill: var(--ink); }
#pb-pre.go .pre-strip { animation: pb-pre-frames var(--pre-book) steps(51, end) var(--pre-d) both; }




#pb-pre.go .pre-boil { animation: pb-pre-bookboil 0.25s steps(1, end) infinite; }
@keyframes pb-pre-bookboil {
  0%      { filter: url(#pbb1); }
  33.33%  { filter: url(#pbb2); }
  66.66%  { filter: url(#pbb3); }
}
@keyframes pb-pre-frames { to { transform: translateX(-11577px); } }











#pb-pre .pre-sp {
  position: absolute; display: block; width: var(--sw); aspect-ratio: 1;
  left: calc(var(--x) - var(--sw) / 2); top: calc(var(--y) - var(--sw) * 227 / 190 / 2);
  opacity: 0;
}
#pb-pre .pre-sp svg { display: block; width: 100%; height: 100%; overflow: visible; }
#pb-pre .pre-sp path {
  

  fill: none; stroke: var(--spark); stroke-width: var(--st); stroke-linejoin: round; stroke-linecap: round;
  stroke-dasharray: 1; stroke-dashoffset: 0.75;
}
#pb-pre .pre-sp1 { --sw: 10.1%; --st: 0.165; --x: 9.47%;  --y: 12.11%; --pop: 0.1s;  --tw: 0.95s; }



#pb-pre .pre-sp2 { --sw: 15.4%; --st: 0.109; --x: 94.49%; --y: 74.74%; --pop: 0.55s; --tw: 1.2s; }
#pb-pre .pre-sp3 { --sw: 10.1%; --st: 0.165; --x: 82.6%;  --y: 93.68%; --pop: 0.8s;  --tw: 1.45s; }
#pb-pre.go .pre-sp {
  animation:
    pb-pre-toon-pop 0.42s linear calc(var(--pop) * var(--pre-k) + var(--pre-d)) both,
    pb-pre-toon-twinkle 0.5s linear calc(var(--tw) * var(--pre-k) + var(--pre-d));
}



#pb-pre.go .pre-sp path { --vis: calc(var(--pop) * var(--pre-k) + var(--pre-d) + 0.0735s); animation: pb-pre-draw 0.25s steps(3, end) var(--vis) forwards, pb-pre-boil 0.25s steps(1, end) var(--vis) infinite; }

#pb-pre.go .pre-sp path:nth-child(2) { animation-delay: var(--vis), calc(var(--vis) - 0.0833s); }
#pb-pre.go .pre-sp path:nth-child(3) { animation-delay: var(--vis), calc(var(--vis) - 0.1667s); }
@keyframes pb-pre-draw { to { stroke-dashoffset: 0; } }
@keyframes pb-pre-boil { 0% { opacity: 1; } 33.34%, 100% { opacity: 0; } }


@keyframes pb-pre-toon-pop {
  0%   { opacity: 0; transform: scale(1.3, 0.8); animation-timing-function: steps(2, jump-none); }
  35%  { opacity: 1; transform: scale(1.3, 0.8); animation-timing-function: steps(2, jump-none); }
  65%  { opacity: 1; transform: scale(0.85, 1.2); animation-timing-function: steps(2, jump-none); }
  100% { opacity: 1; transform: none; }
}
@keyframes pb-pre-toon-twinkle {
  0%   { scale: 1; animation-timing-function: steps(2, end); }
  40%  { scale: 1.45; animation-timing-function: steps(2, end); }
  75%  { scale: 0.6; animation-timing-function: steps(1, end); }
  100% { scale: 1; }
}

#pb-pre.go { animation: pb-pre-out 0.45s ease forwards; animation-delay: calc(var(--pre-book) + 0.45s + var(--pre-d)); }
@keyframes pb-pre-out { to { opacity: 0; visibility: hidden; } }
@media (prefers-reduced-motion: reduce) { #pb-pre { display: none; } }
















@keyframes pb-enter-rise { from { opacity: 0; translate: 0 1.25rem; } }
@media (prefers-reduced-motion: no-preference) {
  html.pb-hold :is(.app-main > .main-top, .hero > *, pb-results-toolbar > *, .pba-head > *, pb-agent-composer > .pba-comp, .app-main > .pb-enter-item) { opacity: 0; }
  html.pb-enter :is(.app-main > .main-top, .hero > *, pb-results-toolbar > *, .pba-head > *, pb-agent-composer > .pba-comp, .app-main > .pb-enter-item) {
    animation: pb-enter-rise 0.7s cubic-bezier(0, 0, 0.35, 1) calc(var(--enter-i, 0) * 80ms) backwards;
  }
  html.pb-enter :is(.hero > :nth-child(1), .pba-head > :nth-child(1)) { --enter-i: 1; }
  html.pb-enter :is(.hero > :nth-child(2), .pba-head > :nth-child(2)) { --enter-i: 2; }
  html.pb-enter :is(.hero > :nth-child(n + 3), pb-agent-composer > .pba-comp) { --enter-i: 3; }
  html.pb-enter pb-results-toolbar > * { --enter-i: 4; }
  html.pb-feedhold #feed > pb-talent-card { opacity: 0; }
}
