/* The entry shares the product's typography and tokens. Auth controls retain
   their existing server-derived availability, error and verification states. */
.ws-entry {
  grid-template-columns: minmax(0,1fr) minmax(0,28rem);
  grid-template-areas: "story auth" "preview auth" "guide guide";
  column-gap: clamp(2rem,6vw,6rem);
  row-gap: 1.5rem;
  align-items: start;
  padding: clamp(2rem,3vw,3rem) clamp(1.5rem,5vw,4rem) 5rem;
}
.ws-entry-story { grid-area: story; min-width: 0; }
.ws-entry-signup { display:none; }
.ws-entry-story h1 {
  font-size: clamp(2.25rem,4.25vw,3.75rem);
  line-height: 1.08;
  letter-spacing: -.045em;
  margin: 1rem 0 1.25rem;
}
.ws-entry .ws-lead { max-width: 28rem; font-size: 1rem; line-height: 1.65; margin: 0; }
.ws-entry-foot { margin: 1rem 0 .25rem; font-size: .8125rem; }
.ws-entry-example {
  display: inline-flex;
  align-items: center;
  gap: .75rem;
  min-height: 2.75rem;
  font-size: .875rem;
  font-weight: 500;
  text-underline-offset: .25rem;
}
.ws-entry-guide { grid-area: guide; min-width: 0; border-top: 1px solid var(--rule-soft); padding-top: 1.5rem; }
.ws-entry-guide h2 { font-size: 1rem; line-height: 1.5; font-weight: 600; margin: 0; letter-spacing: -.015em; }
.ws-entry-guide .ws-benefits { display: grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin: 1.25rem 0; gap: 1.5rem; }
.ws-entry-guide .ws-benefits li { gap: .875rem; }
.ws-entry-guide .ws-benefits li>span { min-width: 1.75rem; font-size: .6875rem; color: var(--ink-muted); }
.ws-entry-guide .ws-benefits strong { font-size: .875rem; line-height: 1.5; }
.ws-entry-guide .ws-benefits p { font-size: .875rem; line-height: 1.55; margin-top: .25rem; }
.ws-entry-scope { max-width: 28rem; font-size: .8125rem; color: var(--ink-muted); line-height: 1.65; margin: 1.25rem 0 0; }
.ws-entry .ws-auth-card { grid-area: auth; min-width: 0; align-self: start; padding: 2rem; border-top-width: 1px; box-shadow: 0 12px 40px #0000000d; }
.ws-entry .ws-auth-mark { width: 1.875rem; height: 1.875rem; margin-bottom: 1.5rem; }
.ws-entry .ws-auth-card h2 { font-size: 1.5rem; line-height: 1.25; }
.ws-entry .ws-auth-card>p:not(.ws-kicker) { font-size: .875rem; }
.ws-entry .ws-auth-card .ws-auth-account-note { margin: 1rem 0 0; font-size: .8125rem; }
.ws-entry .ws-auth-card .ws-auth-free { color:var(--ink); margin:.75rem 0 0; }
.ws-entry .ws-auth-card .ws-auth-legal { padding-top: 1rem; margin-top: 1rem; line-height: 1.7; }
.ws-entry .ws-auth-card :is(input,button,a) { scroll-margin-block: 1rem; }
.ws-preview { grid-area:preview; min-width:0; background:var(--surface); border:1px solid var(--rule-soft); border-radius:1rem; padding:1rem; }
.ws-preview-heading { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:.5rem 1rem; margin-bottom:1rem; }
.ws-preview-heading h2 { font-size:1rem; line-height:1.4; letter-spacing:-.02em; margin:0; }
.ws-preview-heading>span { font-size:.75rem; color:var(--ink-muted); }
.ws-preview-approval { background:var(--surface-quiet); border:1px solid var(--rule-strong); border-radius:.75rem; padding:1.125rem; }
.ws-preview-invoice { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.25rem .75rem; font-size:.8125rem; }
.ws-preview-invoice>span:last-child { color:var(--ink-muted); }
.ws-preview-amount { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:.25rem .75rem; margin:.375rem 0 .875rem; }
.ws-preview-amount strong { font-size:2.5rem; line-height:1.25; letter-spacing:-.05em; font-variant-numeric:tabular-nums; }
.ws-preview-amount small { font-size:.8125rem; letter-spacing:0; font-weight:500; }
.ws-preview-amount>span { font-size:.75rem; color:var(--ink-muted); }
.ws-preview-facts { display:grid; gap:.5rem; margin:0; padding-top:.875rem; border-top:1px solid var(--rule-soft); font-size:.8125rem; }
.ws-preview-facts>div { display:flex; align-items:baseline; justify-content:space-between; gap:1rem; }
.ws-preview-facts dt { color:var(--ink-muted); }
.ws-preview-facts dd { margin:0; font-weight:600; font-variant-numeric:tabular-nums; text-align:right; }
.ws-preview:not([data-stage="ready"]) [data-wp-decision] { color:var(--hold-ink); background:var(--hold-bg); border:1px solid var(--hold-border); padding:0 .5rem; border-radius:.25rem; }
.ws-preview-agents { display:grid; grid-template-columns:minmax(0,1fr) 3rem minmax(0,1fr); align-items:center; gap:.5rem; margin:1rem 0; }
.ws-preview-agents>div:not(.ws-preview-rail) { display:flex; align-items:center; gap:.625rem; min-width:0; }
.ws-preview-agents>div:not(.ws-preview-rail)>div { min-width:0; overflow-wrap:anywhere; }
.ws-preview-avatar { display:grid; place-items:center; width:2.5rem; height:2.5rem; flex-shrink:0; border:1px solid var(--rule-strong); border-radius:.625rem; background:var(--surface-quiet); font-weight:600; }
.ws-preview-agents strong,.ws-preview-agents [data-wp-a-detail],.ws-preview-agents [data-wp-b-detail] { display:block; font-size:.8125rem; line-height:1.45; }
.ws-preview-agents [data-wp-a-detail],.ws-preview-agents [data-wp-b-detail] { font-size:.75rem; color:var(--ink-muted); }
.ws-preview[data-stage="ready"] [data-wp-agent-a] .ws-preview-avatar,.ws-preview[data-stage="received"] [data-wp-agent-b] .ws-preview-avatar { color:var(--primary-ink); background:var(--institutional); border-color:var(--institutional); }
.ws-preview-rail { height:1px; background:var(--rule-strong); position:relative; }
.ws-preview-shuttle { position:absolute; top:50%; left:0; display:grid; place-items:center; width:1.5rem; height:1.5rem; background:var(--surface); color:var(--ink-muted); transform:translate(-.25rem,-50%); }
.ws-preview[data-stage="received"] .ws-preview-shuttle { transform:translate(1.75rem,-50%); color:var(--ink); }
.ws-preview[data-interacted="true"] .ws-preview-shuttle { transition:transform 350ms cubic-bezier(.2,.7,.3,1); }
.ws-preview-result { min-height:2.75rem; margin:0 0 .875rem; font-size:.875rem; line-height:1.55; }
.ws-preview-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem .875rem; }
.ws-preview-actions .ws-button { display:inline-flex; align-items:center; justify-content:center; gap:1rem; max-width:100%; min-height:2.75rem; font-size:.875rem; text-align:center; text-decoration:none; white-space:normal; }
#main-content .ws-preview-actions a.ws-button:visited { color:var(--primary-ink); }
#main-content .ws-entry-signup:visited { color:var(--link); }
.ws-preview-restart { min-height:2.75rem; border:0; padding:.5rem 0; background:transparent; color:var(--link); font:inherit; font-size:.8125rem; text-decoration:underline; text-underline-offset:.2rem; cursor:pointer; }
.ws-preview-foot { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:0 .75rem; margin-top:.625rem; }
.ws-preview-foot .ws-entry-example { font-size:.75rem; }
.ws-preview-foot>span { max-width:20rem; color:var(--ink-muted); font-size:.75rem; line-height:1.5; }
.ws-preview :is(button,a):focus-visible,.ws-entry-signup:focus-visible { outline:3px solid var(--focus); outline-offset:3px; }
.ws-preview [hidden] { display:none!important; }
@media(max-width:60rem) {
  .ws-entry { grid-template-columns: minmax(0,1fr) minmax(0,26rem); column-gap: 2rem; padding-inline: 2rem; }
  .ws-entry-story h1 { font-size: 2.5rem; }
  .ws-entry .ws-auth-card { padding: 1.75rem; }
}
@media(max-width:52rem) {
  .ws-entry { grid-template-columns: minmax(0,1fr); grid-template-areas: "story" "preview" "auth" "guide"; gap: 1.5rem; max-width: 36rem; margin-inline: auto; padding: 2rem 1.5rem 3rem; }
  .ws-entry-story h1 { font-size: clamp(2rem,7vw,2.5rem); margin: .75rem 0 1rem; }
  .ws-entry .ws-lead { font-size: .9375rem; }
  .ws-entry-foot { margin-top: 1rem; }
  .ws-entry-signup { display:inline-flex; align-items:center; gap:.75rem; min-height:2.75rem; color:var(--link); font-weight:600; font-size:.875rem; text-underline-offset:.25rem; }
  .ws-entry-guide .ws-benefits { grid-template-columns:minmax(0,1fr); gap:1.125rem; }
  .ws-entry .ws-auth-card { justify-self: stretch; max-width: none; padding: 1.5rem; border-radius: .75rem; }
  .ws-entry .ws-auth-mark { display: none; }
  .ws-entry .ws-auth-google { margin-top: 1.25rem; }
  .ws-entry .ws-auth-card form { margin-top: 1.25rem; }
}
@media(max-width:24rem) {
  .ws-entry { padding-inline: 1rem; }
  .ws-entry .ws-auth-card { padding: 1.25rem; }
  .ws-preview { padding:1rem; }
  .ws-preview-approval { padding:.875rem; }
  .ws-preview-agents { grid-template-columns:minmax(0,1fr) 1.5rem minmax(0,1fr); gap:.375rem; }
  .ws-preview-agents>div:not(.ws-preview-rail) { gap:.375rem; }
  .ws-preview-avatar { width:2rem; height:2rem; }
  .ws-preview[data-stage="received"] .ws-preview-shuttle { transform:translate(.25rem,-50%); }
}
@media(prefers-reduced-motion:reduce) { .ws-preview[data-interacted="true"] .ws-preview-shuttle { transition:none!important; } }
@media(forced-colors:active) {
  .ws-entry .ws-auth-card { box-shadow: none; border-color: CanvasText; }
  .ws-entry-guide { border-color: CanvasText; }
  .ws-preview,.ws-preview-approval,.ws-preview-avatar { border-color:CanvasText; }
  .ws-preview-rail { background:CanvasText; }
}
