/* Partner tools use the main dashboard's card grid, type and brand tokens. */
.partner-public,.partner-dash { max-width:1140px; margin:0 auto; padding:120px 24px 100px; }
.public-identity { display:flex; align-items:center; gap:18px; margin-bottom:56px; }
.public-identity p { margin:0; }
.public-identity #public-name { font:600 1.35rem Outfit,sans-serif; }
.public-initial { width:72px; height:72px; display:grid; place-items:center; background:var(--accent); color:var(--bg-0); font:700 2.4rem Outfit,sans-serif; border-radius:12px; }
.public-layout { display:grid; grid-template-columns:1.5fr 1fr; gap:64px; align-items:start; }
.public-layout h1 { font:700 clamp(2.25rem,4vw,3.5rem)/1.1 Outfit,sans-serif; letter-spacing:-.035em; }
.public-line { color:var(--text-secondary); font-size:1.2rem; line-height:1.7; margin:28px 0; max-width:36ch; }
.public-code { font:400 .85rem/1.7 'JetBrains Mono',monospace; margin:20px 0; overflow-wrap:anywhere; }
.public-disclosure { color:var(--text-secondary); font-size:.9rem; margin-bottom:20px; }
.public-type { border-top:5px solid var(--accent); background:var(--bg-1); padding:28px; border-radius:0 0 16px 16px; }
.public-type strong { display:block; font:700 clamp(5rem,10vw,9rem)/1 Outfit,sans-serif; color:var(--accent); margin:24px 0; letter-spacing:-.05em; }
.public-type h2 { font-size:1.5rem; }
.public-type p { color:var(--text-secondary); line-height:1.6; }
.public-type-foot { border-top:1px solid var(--border); margin-top:30px; padding-top:20px; }
.founding-mark { display:inline-block; border:1px solid var(--accent); color:var(--accent); border-radius:99px; padding:3px 10px; font-size:.75rem; margin-top:8px; }
@media(max-width:700px) {
 .partner-public,.partner-dash { padding:96px 20px 100px; }
 .public-layout { grid-template-columns:1fr; gap:36px; }
 .public-identity { margin-bottom:32px; }
 .public-layout h1 { font-size:2.5rem; }
 .public-type strong { font-size:6rem; }
}
.partner-dash .wt-zgrid { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:20px; align-items:start; }
.partner-dash .wt-card { background:var(--bg-1); border:1px solid var(--border); border-radius:var(--radius-lg); padding:28px; min-width:0; }
.partner-dash .full { grid-column:1 / -1; }
.partner-dash h2 { font:600 1.5rem Outfit,sans-serif; margin-bottom:20px; }
.partner-dash h3 { font:600 1.1rem Outfit,sans-serif; margin:18px 0 10px; }
.partner-dash p { color:var(--text-secondary); line-height:1.65; }
.partner-dash-head { margin-bottom:32px; }
.partner-dash-head h1 { font:700 clamp(2.1rem,4vw,3.2rem)/1.15 Outfit,sans-serif; letter-spacing:-.025em; }
.partner-dash-head nav { font-size:.9rem; gap:24px; }
.partner-metrics { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr)); gap:24px; margin:16px 0 24px; }
.partner-metrics strong { display:block; font:600 clamp(1.6rem,3vw,2.5rem) Outfit,sans-serif; color:var(--text); }
.partner-metrics span,.data-date { font-size:.8rem; color:var(--text-muted); }
.milestone-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:24px 0; }
.milestone-list progress { width:100%; height:8px; accent-color:var(--accent); display:block; margin:10px 0; }
.milestone-list small { color:var(--text-secondary); }
.check-label { display:flex; gap:12px; align-items:start; margin:24px 0 12px; font-size:.9rem; }
.check-label input { margin-top:5px; accent-color:var(--accent); }
.partner-dash details { margin:18px 0; }
.partner-dash summary { cursor:pointer; color:var(--text); }
.partner-dash table { width:100%; border-collapse:collapse; margin:16px 0; font-size:.85rem; }
.partner-dash th,.partner-dash td { text-align:left; padding:10px 6px; border-bottom:1px solid var(--border); overflow-wrap:anywhere; }
.partner-dash th { color:var(--text-muted); font-weight:500; }
.partner-dash td:first-child { max-width:180px; }
.data-list { list-style:none; padding:0; }
.data-list li { padding:12px 0; border-bottom:1px solid var(--border); line-height:1.7; }
.tip-list { margin:0; padding-left:24px; }
.tip-list li { padding:10px 0 10px 12px; color:var(--text-secondary); line-height:1.7; }
.tip-list li::marker { color:var(--accent); font-family:'JetBrains Mono',monospace; }
.partner-dash form { margin:20px 0; }
.partner-dash label:not(.check-label) { display:block; margin:16px 0 8px; }
.partner-dash input:not([type=checkbox]),.partner-dash select,.partner-dash textarea { display:block; width:100%; padding:12px; background:var(--bg-0); border:1px solid var(--border); border-radius:8px; color:var(--text); font:inherit; }
.partner-dash select { white-space:normal; }
.partner-dash form button { margin-top:16px; }
.partner-dash pre { white-space:pre-wrap; overflow-wrap:anywhere; font:400 .85rem/1.7 Inter,sans-serif; }
.kit-disclosure { margin-top:24px; }
.kit-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:32px 0; }
.kit-item { min-width:0; display:flex; flex-direction:column; gap:12px; }
.kit-item img { width:100%; aspect-ratio:1; object-fit:contain; background:#171717; border:1px solid var(--border); }
.kit-item h3 { margin:0; }
.kit-item .partner-button { font-size:.8rem; padding:10px 12px; }
.kit-item .partner-actions { margin-top:auto; gap:8px; }
.text-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:start; } /* each draft as tall as its own text (sweep, October 2) */
.text-asset { padding:18px; border:1px solid var(--border); border-radius:8px; }
.text-asset p { white-space:pre-wrap; font-size:.9rem; }
.text-asset button { font-size:.85rem; }
.notice { padding:20px 0; border-top:1px solid var(--border); }
.typical-statement { margin-top:32px; padding:24px 0; border-top:1px solid var(--border); }
@media(max-width:700px) {
 .partner-dash .wt-zgrid { grid-template-columns:minmax(0,1fr); }
 .partner-dash .wt-card { padding:22px 18px; }
 .partner-metrics { grid-template-columns:1fr; gap:14px; }
 .partner-metrics > div { display:flex; justify-content:space-between; align-items:baseline; gap:12px; }
 .partner-metrics strong { font-size:1.8rem; }
 .milestone-list { grid-template-columns:1fr; gap:14px; }
 .kit-grid,.text-grid { grid-template-columns:1fr; }
 .partner-dash th,.partner-dash td { padding:8px 3px; font-size:.75rem; }
}
/* PARTNER-TOUR-1: every kit picture sits in the same square frame, shown whole (a story is tall, a LinkedIn post is wide), so the
   names and the Copy and Download buttons line up under each picture. The script's per-picture ratio is overridden here. */
.kit-item img { aspect-ratio:1 / 1 !important; height:auto; object-fit:contain; }
.partner-dash .wt-card > h2 { padding-bottom:16px; border-bottom:1px solid var(--border); }
.milestone-list { background:var(--bg-card); padding:20px; border-radius:12px; }
.funnel-bars li { display:grid; grid-template-columns:80px 1fr 42px; gap:16px; align-items:center; }
.funnel-bars strong { text-align:right; font-family:var(--font-mono); }
.funnel-track { height:9px; background:var(--border); border-radius:3px; }
.funnel-track > span { display:block; height:100%; background:var(--wt-accent,var(--accent)); border-radius:3px; }
#notices .notice { border:1px solid var(--border); border-left:3px solid var(--wt-accent,var(--accent)); border-radius:8px; padding:20px; margin:16px 0; }
#leave { background:transparent; }
#leave .partner-button { background:transparent; border-color:var(--border); color:var(--text-secondary); }
.partner-public { position:relative; }
.partner-public::before { content:""; position:absolute; z-index:-1; left:0; right:0; top:80px; height:430px; background:linear-gradient(110deg,var(--wt-accent-soft),transparent); border-top:3px solid var(--wt-accent); }
.public-initial { background:var(--wt-accent); }
.public-layout { display:block; }
.public-disclosure { margin:12px 0 0; max-width:440px; line-height:1.6; }
.public-type { width:60%; padding:0; margin-top:48px; background:transparent; border:0; }
.public-type img { display:block; width:100%; height:auto; border:1px solid var(--border); }
.public-type-caption { display:flex; flex-wrap:wrap; align-items:baseline; column-gap:12px; margin-bottom:16px; }
.public-type-caption strong { font-size:1.4rem; margin:0; color:var(--wt-accent); }
.public-type-caption h2 { font-size:1rem; }
.public-type-caption p { width:100%; margin-top:8px; }
@media(max-width:700px) { .public-type { width:100%; } .funnel-bars li { gap:8px; grid-template-columns:72px 1fr 36px; } }
/* Optional first-week steps remain one column, with room to tap on a phone. */
.week-one-list { list-style: none; padding: 0; margin: 16px 0; }
.week-one-list a { display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 8px 0; overflow-wrap: anywhere; }
.week-one-list a > span:first-child { flex: 0 0 24px; text-align: center; }
.week-one-list .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }

/* PARTNER-TOUR-1 design tournament winner (Claude Opus 5.5; judged by Claude Fable 5.1 over GPT-6 Astra, Grok 4.7 and the old page;
   _pm/_boss/partner_tour/tournament/), with the judge's four fixes: a two-line headline, the disclosure ruled and heavier, the
   card panel aligned to the top, no tilt on phones. Design idea: a framed card for one person, with the invitation and button on the left and the partner's share card on a tinted panel in their type color on the right. */
#partner-public { max-width:1200px; margin:0 auto; padding:112px 24px 96px; position:relative; }
#partner-public::before { content:none; }
#partner-public #public-status { color:var(--text-secondary); font-size:1rem; margin:0; }
#partner-public #public-unavailable:not([hidden]) { display:inline-flex; align-items:center; min-height:52px; padding:0 28px; border-radius:12px; background:var(--wt-accent); color:var(--wt-accent-contrast); font:600 1.1rem Outfit,sans-serif; text-decoration:none; margin-top:20px; }

/* The panel that holds the whole page */
#partner-public #public-content:not([hidden]) {
  display:grid; grid-template-columns:minmax(0,1fr); gap:32px;
  background:var(--bg-1); border:1px solid var(--border); border-top:6px solid var(--wt-accent);
  border-radius:var(--radius-lg); padding:clamp(24px,5vw,64px);
}
#partner-public .public-layout { display:contents; }

/* The partner's name and badge */
#partner-public .public-identity { display:flex; align-items:center; gap:16px; margin:0; }
#partner-public .public-initial { width:60px; height:60px; flex:none; border-radius:14px; background:var(--wt-accent); color:var(--wt-accent-contrast); font:700 2rem/1 Outfit,sans-serif; }
#partner-public .public-identity .partner-kicker { font:600 .78rem/1.3 Inter,sans-serif; letter-spacing:.08em; text-transform:uppercase; color:var(--text-muted); }
#partner-public .public-identity #public-name { font:700 1.4rem/1.25 Outfit,sans-serif; color:var(--text); margin-top:2px; }
#partner-public .founding-mark:not([hidden]) { display:inline-block; margin-top:8px; padding:4px 12px; border:0; border-radius:99px; background:var(--wt-accent-soft); color:var(--wt-accent-strong); font:600 .78rem/1.4 Inter,sans-serif; }

/* The invitation and the button */
#partner-public .public-layout h1 { font:700 clamp(2rem,3.4vw + .5rem,3.2rem)/1.08 Outfit,sans-serif; letter-spacing:-.03em; color:var(--text); margin:0; max-width:19ch; }
#partner-public .public-line { font:400 clamp(1.08rem,1.2vw + .7rem,1.3rem)/1.6 Inter,sans-serif; color:var(--text-secondary); margin:20px 0 32px; max-width:36ch; }
#partner-public .partner-button:not([hidden]) {
  display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:0 30px;
  border-radius:12px; background:var(--wt-accent); color:var(--wt-accent-contrast); border:2px solid var(--wt-accent);
  font:600 1.12rem/1.2 Outfit,sans-serif; text-decoration:none; transition:background .15s, transform .15s;
}
#partner-public .partner-button:not([hidden]):hover { background:var(--wt-accent-strong); border-color:var(--wt-accent-strong); transform:translateY(-1px); }
#partner-public .partner-button:focus-visible { outline:3px solid var(--wt-accent-strong); outline-offset:3px; }
#partner-public .partner-button.secondary:not([hidden]) { background:transparent; color:var(--text); border-color:var(--wt-accent); margin-top:16px; min-height:48px; }
#partner-public .partner-button.secondary:not([hidden]):hover { background:var(--wt-accent-soft); }

/* The disclosure sits right under the button */
#partner-public .public-disclosure { margin:14px 0 0; max-width:44ch; padding-left:12px; border-left:3px solid var(--wt-accent); font:600 .95rem/1.55 Inter,sans-serif; color:var(--text); }
#partner-public .public-disclosure:empty { margin:0; }
#partner-public .public-code {
  font:400 .95rem/1.65 Inter,sans-serif; color:var(--text-secondary); max-width:46ch; overflow-wrap:anywhere;
  margin:28px 0 0; padding-top:20px; border-top:1px solid var(--border);
}
#partner-public .public-code:empty { display:none; }

/* The share card on a tinted panel */
#partner-public .public-type {
  display:flex; flex-direction:column; width:auto; max-width:440px; margin:0; padding:clamp(20px,3vw,32px);
  background:var(--wt-accent-soft); border:0; border-radius:var(--radius-lg);
}
#partner-public .public-type img {
  order:-1; display:block; width:100%; height:auto; aspect-ratio:1/1; object-fit:contain;
  border:0; border-radius:14px; box-shadow:0 20px 40px -20px rgba(0,0,0,.45), 0 2px 6px rgba(0,0,0,.12);
  transform:rotate(-1deg);
}
#partner-public .public-type-caption { display:flex; flex-wrap:wrap; align-items:baseline; column-gap:10px; margin:24px 0 0; }
#partner-public .public-type-caption .partner-kicker { width:100%; font:600 .75rem/1.3 Inter,sans-serif; letter-spacing:.08em; text-transform:uppercase; color:var(--text-muted); margin-bottom:6px; }
#partner-public .public-type-caption strong { display:inline; font:800 1.6rem/1 Outfit,sans-serif; letter-spacing:-.02em; color:var(--wt-accent-strong); margin:0; }
#partner-public .public-type-caption h2 { font:600 1.15rem/1.3 Outfit,sans-serif; color:var(--text); margin:0; }
#partner-public .public-type-caption p { width:100%; margin:8px 0 0; font-size:.98rem; line-height:1.55; color:var(--text-secondary); }

/* Wide screens: two columns, the card beside the words */
@media (min-width:900px) {
  #partner-public #public-content:not([hidden]) {
    grid-template-columns:minmax(0,1fr) minmax(300px,420px);
    grid-template-areas:"who card" "pitch card"; column-gap:clamp(40px,6vw,96px); row-gap:40px; align-items:start;
  }
  #partner-public .public-identity { grid-area:who; }
  #partner-public .public-layout > div:first-child { grid-area:pitch; }
  #partner-public .public-type { grid-area:card; align-self:start; justify-self:end; width:100%; }
}

/* Phones */
@media (max-width:700px) {
  #partner-public { padding:88px 16px 72px; }
  #partner-public #public-content:not([hidden]) { padding:24px 20px 28px; gap:28px; }
  #partner-public .public-initial { width:52px; height:52px; font-size:1.7rem; border-radius:12px; }
  #partner-public .partner-button:not([hidden]) { display:flex; width:100%; }
  #partner-public .public-line { margin:16px 0 24px; }
  #partner-public .public-type { max-width:400px; width:100%; margin:4px auto 0; padding:18px; }
  #partner-public .public-type img { transform:none; }
}
@media (prefers-reduced-motion:reduce) {
  #partner-public .partner-button { transition:none; }
  #partner-public .partner-button:hover { transform:none; }
}
