:root {
  color-scheme: light;
  --page: #f6f8fc;
  --paper: #fff;
  --ink: #173154;
  --blue: #1c56c4;
  --soft-blue: #eaf1fc;
  --muted: #5d6d83;
  --line: #d8e1ee;
  font-family: "Avenir Next", Avenir, "Segoe UI", sans-serif;
  font-synthesis: none;
  color: var(--ink);
  background: var(--page);
  -webkit-font-smoothing: antialiased;
}
* { box-sizing: border-box; }
body { margin: 0; }
button, textarea { font: inherit; }
button, a, textarea { -webkit-tap-highlight-color: transparent; }
button, a { touch-action: manipulation; }
button { cursor: pointer; }
button:disabled { cursor: wait; opacity: .65; }
button:focus-visible, a:focus-visible, textarea:focus-visible { outline: 3px solid var(--blue); outline-offset: 4px; }
[hidden] { display: none !important; }
a { color: var(--blue); }
.page-shell { max-width: 1440px; min-height: 100svh; margin: 0 auto; padding: 0 56px; display: flex; flex-direction: column; }
.site-header { display: flex; align-items: center; justify-content: space-between; padding-top: 30px; gap: 16px; }
.wordmark { display: flex; align-items: center; gap: 10px; color: var(--ink); text-decoration: none; font-size: 23px; font-weight: 700; letter-spacing: -.9px; }
.wordmark-dot { color: var(--blue); }
.brand-mark { width: 35px; height: 35px; color: var(--blue); }
.quiet-button { display: inline-flex; gap: 10px; align-items: center; padding: 10px 0; background: none; border: 0; color: var(--muted); font-size: 14px; min-height: 44px; }
.quiet-button:hover { color: var(--blue); }
main { flex: 1; display: flex; justify-content: center; }
.finder { width: 100%; max-width: 760px; padding: 55px 0 40px; }
.intro { text-align: center; }
.court-motif { width: 135px; margin: 0 auto 24px; color: #b4c7e0; }
.court-motif svg { width: 100%; display: block; }
h1, h2, h3, p { margin: 0; }
.intro h1 { font-size: clamp(46px, 5.4vw, 74px); line-height: 1.03; font-weight: 600; letter-spacing: -3.4px; }
.intro-copy { color: var(--muted); font-size: 19px; margin-top: 25px; margin-bottom: 40px; line-height: 1.5; letter-spacing: -.25px; }
.mobile-break { display: none; }
.composer { background: var(--paper); border: 1px solid #c6d5e9; border-radius: 20px; padding: 22px 24px 18px; box-shadow: 0 10px 32px #19395e08, 0 2px 5px #19395e04; transition: border-color .15s; }
.composer:focus-within { border-color: var(--blue); }
.composer-label { display: block; font-size: 14px; font-weight: 600; margin-bottom: 11px; }
textarea { width: 100%; border: 0; resize: vertical; min-height: 94px; max-height: 240px; background: transparent; color: var(--ink); font-size: 17px; line-height: 1.6; padding: 0; }
textarea::placeholder { color: #768399; opacity: 1; }
textarea:focus-visible { outline: none; }
.composer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 15px; }
.input-hint { font-size: 12px; color: var(--muted); }
.primary-button { background: var(--blue); border: 0; color: white; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; gap: 15px; padding: 13px 17px; min-height: 48px; font-size: 14px; font-weight: 600; white-space: nowrap; text-decoration: none; }
.primary-button:hover { background: #1244a4; }
.primary-button svg { height: 20px; width: 20px; }
.starters { padding-top: 27px; text-align: center; }
.starter-label { color: var(--muted); font-size: 12px; }
.starter-options { display: flex; gap: 10px; justify-content: center; margin-top: 11px; flex-wrap: wrap; }
.starter-options button { min-height: 44px; border: 1px solid var(--line); border-radius: 10px; background: transparent; padding: 10px 14px; color: #435876; font-size: 13px; display: flex; gap: 19px; align-items: center; }
.starter-options button span { color: #71839b; font-size: 17px; }
.starter-options button:hover { background: var(--paper); border-color: #a7bbd9; }
.input-privacy { margin: 24px 0 16px; text-align: center; font-size: 12px; line-height: 1.7; color: var(--muted); }
.site-footer { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 22px 0 27px; font-size: 12px; color: var(--muted); }
.powered { display: flex; align-items: center; gap: 5px; white-space: nowrap; }
.powered strong { font-size: 14px; color: var(--ink); }
.powered svg { width: 15px; height: 15px; color: var(--blue); margin-left: 3px; }
.skip-link { position: absolute; top: -100px; padding: 12px; background: white; z-index: 10; }
.skip-link:focus { top: 8px; left: 8px; }
.conversation-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 35px; }
.conversation-heading h1 { font-size: 30px; font-weight: 600; letter-spacing: -1px; }
.conversation-heading p { color: var(--muted); font-size: 14px; margin-top: 6px; }
.conversation { display: flex; flex-direction: column; gap: 28px; }
.conversation:not(:empty) { margin-bottom: 28px; }
.user-message { align-self: flex-end; max-width: 88%; padding: 15px 20px; color: var(--ink); background: #e7eef9; border-radius: 18px 18px 3px 18px; font-size: 15px; line-height: 1.7; white-space: pre-wrap; overflow-wrap: anywhere; }
.assistant-message { max-width: 100%; line-height: 1.7; font-size: 15px; }
.assistant-label { color: var(--blue); font-weight: 600; font-size: 12px; margin-bottom: 8px; display: flex; gap: 8px; align-items: center; }
.assistant-label::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: var(--blue); }
.reply-options { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 16px; }
.reply-option { display: flex; flex-direction: column; gap: 3px; text-align: left; padding: 15px 14px; min-height: 76px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); color: var(--ink); }
.reply-option:not(:disabled):hover { border-color: var(--blue); background: var(--soft-blue); }
.reply-option:disabled { cursor: default; }
.reply-option-label { font-size: 15px; font-weight: 600; }
.reply-option-description { font-size: 12px; line-height: 1.45; color: var(--muted); }
.paddle-card { margin-top: 18px; border: 1px solid var(--line); border-radius: 17px; background: var(--paper); overflow: hidden; }
.paddle-overview { display: grid; grid-template-columns: 200px 1fr; gap: 24px; padding: 24px; }
.paddle-image { background: white; display: flex; align-items: center; justify-content: center; min-height: 230px; }
.paddle-image img { display: block; width: 100%; height: 245px; object-fit: contain; }
.paddle-info { align-self: center; }
.match-label { color: var(--blue); font-size: 12px; font-weight: 600; margin-bottom: 6px; }
.paddle-info h2 { font-size: 26px; line-height: 1.15; letter-spacing: -.7px; font-weight: 650; }
.paddle-variant { color: var(--muted); font-size: 13px; line-height: 1.5; margin-top: 9px; }
.price { font-size: 23px; font-weight: 600; margin-top: 13px; }
.price span { color: var(--muted); font-size: 12px; font-weight: 400; margin-left: 7px; }
.paddle-info .primary-button { margin-top: 17px; width: 100%; }
.paddle-details { border-top: 1px solid var(--line); padding: 21px 24px; display: grid; gap: 17px; }
.paddle-details h3 { font-size: 13px; font-weight: 650; margin-bottom: 3px; }
.paddle-details p { color: #50627b; font-size: 14px; line-height: 1.65; }
.certification-warning { background: #fff6e2; color: #74551d; padding: 13px 24px; font-size: 13px; line-height: 1.6; }
.match-context { margin-top: 12px; color: var(--muted); font-size: 12px; line-height: 1.7; }
.refine-hint { color: var(--ink); font-size: 14px; margin-top: 14px; }
.thinking { display: flex; align-items: center; gap: 10px; font-size: 14px; color: var(--muted); padding: 0 0 22px; }
.thinking-dot { height: 8px; width: 8px; background: var(--blue); border-radius: 50%; animation: pulse 1.1s ease-in-out infinite alternate; }
@keyframes pulse { from { opacity: .35; } to { opacity: 1; } }
.error { background: #fff1ef; color: #993b2b; border: 1px solid #f0c6bf; border-radius: 10px; padding: 14px 17px; font-size: 14px; line-height: 1.6; margin-top: 14px; }
dialog { width: min(560px, calc(100% - 32px)); max-height: calc(100svh - 48px); border: 1px solid var(--line); border-radius: 20px; padding: 28px; color: var(--ink); box-shadow: 0 24px 80px #12244426; }
dialog::backdrop { background: #17315470; backdrop-filter: blur(3px); }
.dialog-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.dialog-heading h2 { font-size: 26px; letter-spacing: -.8px; line-height: 1.3; }
.icon-button { background: transparent; border: 0; color: var(--muted); font-size: 26px; width: 44px; height: 44px; margin-top: -7px; }
dialog p { color: #50627b; font-size: 14px; line-height: 1.7; margin-top: 15px; }
dialog .dialog-note { font-size: 12px; }
.dialog-links { display: flex; gap: 24px; margin-top: 20px; font-size: 13px; }
@media (min-width: 1500px) { .finder { padding-top: 80px; } }
@media (max-width: 700px) {
  .page-shell { padding: 0 22px; }
  .site-header { padding-top: 20px; }
  .wordmark { font-size: 21px; }
  .brand-mark { width: 31px; height: 31px; }
  .finder { padding-top: 44px; padding-bottom: 25px; }
  .court-motif { width: 110px; margin-bottom: 22px; }
  .intro h1 { font-size: clamp(34px, 10.5vw, 42px); letter-spacing: -1.7px; }
  .intro-copy { font-size: 16px; margin: 23px 0 30px; }
  .composer { padding: 19px 18px 16px; border-radius: 17px; }
  textarea { min-height: 115px; font-size: 16px; }
  .composer-bottom { gap: 9px; }
  .input-hint { font-size: 11px; max-width: 130px; line-height: 1.55; }
  .primary-button { padding: 12px 14px; gap: 10px; }
  .starter-options { gap: 7px; }
  .starter-options button { font-size: 12px; padding: 8px 10px; gap: 11px; }
  .site-footer { font-size: 10px; padding: 20px 0; gap: 12px; }
  .conversation-heading h1 { font-size: 25px; }
  .conversation-heading p { font-size: 12px; }
  .reply-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .paddle-overview { grid-template-columns: 110px minmax(0, 1fr); gap: 16px; padding: 20px 16px; }
  .paddle-image { min-height: 190px; }
  .paddle-image img { height: 185px; }
  .paddle-info h2 { font-size: 22px; }
  .paddle-info .primary-button { font-size: 12px; padding: 11px 10px; white-space: normal; text-align: center; line-height: 1.5; }
  .paddle-details { padding: 19px; }
}
@media (max-width: 380px) {
  .page-shell { padding: 0 16px; }
  .mobile-break { display: initial; }
  .quiet-button { font-size: 12px; }
  .composer-bottom .input-hint { max-width: 95px; }
  .starter-options button { gap: 6px; font-size: 11px; padding: 8px; }
  .paddle-overview { grid-template-columns: 80px minmax(0, 1fr); gap: 12px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }

/* The alternative stays secondary to the recommendation and its purchase link. */
.alternative { padding: 22px 24px; border-bottom: 1px solid var(--line); }
.alternative h3 { font-size: 20px; line-height: 1.3; }
.alternative-copy { color: var(--muted); font-size: 14px; margin-top: 12px; }
.alternative-link { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; margin-top: 5px; }
.comparison-evidence { font-size: 12px; color: var(--muted); }
.comparison-evidence summary { cursor: pointer; min-height: 32px; color: var(--blue); }
.comparison-evidence summary:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }
.comparison-evidence p { font-size: 12px; margin-bottom: 8px; }
.comparison-evidence a { display: block; overflow-wrap: anywhere; padding: 5px 0; }
.reply-options:has(.reply-option:only-child) { grid-template-columns: minmax(160px, max-content); }
@media (max-width: 700px) { .alternative { padding: 18px; } }
/* Pilot feedback uses the existing color and type system. */
.feedback-panel { border-top: 1px solid var(--line, #d8e1ee); padding-top: 20px; margin-top: 24px; }
.feedback-panel h3 { font-size: 15px; margin: 0 0 12px; }
.feedback-options { display: flex; gap: 10px; }
.feedback-choice, .feedback-save { font: inherit; font-size: 14px; font-weight: 600; border: 1px solid #d8e1ee; color: #173154; background: white; border-radius: 10px; padding: 11px 24px; cursor: pointer; }
.feedback-choice[aria-pressed="true"], .feedback-save { background: #1c56c4; color: white; border-color: #1c56c4; }
.feedback-panel button:disabled { opacity: .6; cursor: wait; }
.feedback-detail { margin-top: 16px; font-size: 14px; }
.feedback-detail summary { color: #1c56c4; cursor: pointer; width: fit-content; }
.feedback-detail label { display: block; margin: 18px 0 12px; font-weight: 600; }
.feedback-detail select, .feedback-detail textarea { display: block; width: 100%; border: 1px solid #d8e1ee; border-radius: 10px; padding: 12px; margin-top: 7px; background: white; color: #173154; font: inherit; font-weight: 400; }
.feedback-detail textarea { min-height: 90px; resize: vertical; }
.feedback-panel .feedback-status { font-size: 13px; color: #5d6d83; margin: 12px 0 0; }
.feedback-status:empty { display: none; }
.feedback-panel :focus-visible { outline: 3px solid #1c56c4; outline-offset: 3px; }

/* Link & Dink — Heritage Athletics. The orbit stays behind the reading surface. */
@font-face{font-family:Inter;src:url('/paddle/assets/inter-regular.ttf') format('truetype');font-weight:400 600;font-display:swap}
@font-face{font-family:Inter;src:url('/paddle/assets/inter-bold.ttf') format('truetype');font-weight:700 900;font-display:swap}
:root{--page:#fffdfa;--paper:#fffdfa;--ink:#044026;--blue:#044026;--soft-blue:#edf1e8;--muted:#58655d;--line:#cbd4c9;--lime:#caf368;font-family:Inter,Arial,sans-serif;background:var(--page);color:var(--ink)}
body{position:relative;overflow-x:clip;isolation:isolate}button,input,select,textarea{font:inherit}input,select{color:var(--ink)}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{height:84px;padding:0 4.2%;background:var(--ink);color:var(--page);position:relative;z-index:5;gap:24px}.site-header img{display:block;width:170px;height:auto}.header-note{font-size:10px;letter-spacing:1.8px;margin-left:auto;color:#d1ddce}.header-link{color:var(--page);border:1px solid #78917e;border-radius:30px;background:transparent;min-height:40px;padding:9px 17px;font-size:12px}.header-link span{margin-left:12px}
.page-shell{max-width:none;padding:0 24px;min-height:calc(100svh - 162px);display:block;position:relative;z-index:2}.finder{max-width:680px;padding:58px 0 18px;margin:auto}.intro{padding:0 20px 5px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:9px}.eyebrow>span{width:7px;height:7px;border-radius:50%;background:var(--ink)}.intro h1{margin:20px auto 7px;line-height:1;width:92%;max-width:550px}.intro h1 img{display:block;width:100%;height:auto}.intro-copy{font-size:23px;line-height:1.35;font-weight:700;letter-spacing:-.6px;margin:12px 0 12px;color:var(--ink)}.intro-subcopy{font-size:14px;line-height:1.7;color:var(--muted);margin-bottom:27px}
.journey-progress{list-style:none;padding:15px 0;margin:0 0 16px;display:flex;justify-content:center;gap:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:10px;color:var(--muted)}.journey-progress li{display:flex;align-items:center;gap:7px}.journey-progress span{font-size:10px;width:22px;height:22px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%}.journey-progress [aria-current]{color:var(--ink);font-weight:700}.journey-progress [aria-current] span{background:var(--lime);border-color:var(--lime)}
.composer{border:1px solid var(--ink);padding:23px 24px 16px;border-radius:16px;background:#fffefb;box-shadow:0 7px 0 #0440260a;position:relative}.composer-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.composer-top label{font-size:15px;font-weight:700}.small-pill{font-size:8px;letter-spacing:1px;border:1px solid var(--line);padding:5px 7px;border-radius:4px;white-space:nowrap}textarea{font-size:17px;line-height:1.5;min-height:65px;max-height:240px}textarea::placeholder{color:#7e8981}.composer-bottom{margin-top:8px;gap:12px}.primary-button{background:var(--lime);color:var(--ink);font-weight:700;border:1px solid var(--ink);font-size:12px;min-height:48px;padding:13px 17px;gap:22px;border-radius:10px;white-space:normal;text-align:center}.primary-button:hover{background:#bce84f;color:var(--ink)}.primary-button>span:last-child:not(:first-child){font-size:20px;line-height:1}.photo-button{display:flex;align-items:center;gap:8px;border:0;background:none;color:var(--ink);font-size:11px;padding:10px 0;min-height:44px}.photo-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}.input-hint{font-size:10px;line-height:1.5;margin-top:12px}.quiet-button{color:var(--ink);font-size:12px;font-weight:500;gap:7px}.starters{padding-top:14px}.starters .quiet-button{font-size:11px;justify-content:center;flex-wrap:wrap}.starters .quiet-button span{font-weight:700}.input-privacy{font-size:12px;line-height:1.8;color:var(--ink);margin:23px 0 0}.input-privacy span{font-size:9px;color:var(--muted)}
.court-frame{position:fixed;inset:107px 22px 76px;border:1px solid #c5cfc1;border-radius:100px 100px 32px 32px;pointer-events:none;z-index:0}.court-frame:before,.court-frame:after{content:'';position:absolute;top:0;bottom:0;width:14%;border-right:1px solid #dfe4d8}.court-frame:after{right:0;border:0;border-left:1px solid #dfe4d8}.paddle-universe{position:fixed;inset:85px 0 55px;z-index:1;pointer-events:none;overflow:clip}.orbit-track{position:absolute;left:50%;top:50%;width:1130px;height:700px;transform:translate(-50%,-50%) rotate(-12deg);border:1px solid #dce2d4;border-radius:50%}.track-two{width:1350px;height:900px;transform:translate(-50%,-50%) rotate(16deg);border-style:dashed;opacity:.5}.orbiter{position:absolute;left:50%;top:50%;width:260px;height:260px;margin:-130px;offset-path:ellipse(570px 335px at 50% 50%);offset-rotate:0deg;animation:paddle-orbit 150s linear infinite;filter:drop-shadow(10px 15px 9px #04402616)}.orbit-paddle{width:100%;height:100%;object-fit:contain;transform:rotate(-18deg);clip-path:polygon(42% 8%,58% 8%,64% 10%,69% 16%,70% 20%,70% 48%,68% 53%,60% 59%,55% 64%,54% 91%,46% 92%,46% 65%,42% 59%,32% 52%,30% 47%,30% 20%,32% 13%)}
.orbiter-one{animation-delay:-65s;width:310px;height:310px;margin:-155px}.orbiter-two{animation-delay:-9s}.orbiter-three{animation-delay:-115s;width:230px;height:230px;margin:-115px}.orbiter-four{animation-delay:-38s;width:280px;height:280px;margin:-140px}.orbiter-five{animation-delay:-88s}.orbiter-six{animation-delay:-140s;width:300px;height:300px;margin:-150px}.paddle-two{transform:rotate(24deg);clip-path:polygon(42% 8%,58% 8%,65% 11%,70% 18%,71% 21%,71% 47%,69% 53%,61% 58%,55% 65%,54% 92%,46% 92%,46% 65%,42% 59%,33% 54%,29% 48%,29% 21%,32% 13%)}.paddle-three{transform:rotate(19deg);clip-path:polygon(43% 1%,58% 1%,67% 5%,70% 11%,70% 42%,66% 58%,57% 63%,54% 67%,55% 95%,46% 95%,47% 66%,39% 61%,34% 55%,30% 42%,30% 13%,33% 6%)}.paddle-four{transform:rotate(-21deg);clip-path:polygon(42% 10%,58% 10%,65% 13%,69% 19%,69% 49%,65% 54%,54% 62%,54% 89%,45% 90%,46% 64%,42% 59%,34% 53%,31% 47%,31% 20%,34% 14%)}.paddle-five{transform:rotate(17deg);clip-path:polygon(42% 2%,58% 2%,66% 6%,70% 14%,70% 48%,64% 55%,55% 63%,55% 93%,46% 93%,46% 65%,42% 60%,33% 52%,30% 46%,30% 17%,34% 8%)}.paddle-six{transform:rotate(-17deg)}.orbit-ball{position:absolute;left:8%;top:56%;width:27px;height:27px;border-radius:50%;background:radial-gradient(circle at 34% 35%,#78923c 8%,transparent 9%),radial-gradient(circle at 68% 55%,#78923c 9%,transparent 10%),radial-gradient(circle at 30% 75%,#78923c 7%,transparent 8%),var(--lime);box-shadow:3px 5px 7px #0440261a}.ball-two{left:auto;right:9%;top:14%;width:20px;height:20px;background-color:#b5aff1}.edge-note{position:absolute;top:44%;right:23px;writing-mode:vertical-rl;font-size:8px;font-weight:700;letter-spacing:2px;color:#6b7b68}
@keyframes paddle-orbit{from{offset-distance:0%}to{offset-distance:100%}}body.motion-paused .orbiter{animation-play-state:paused}body.journey-active .finder{background:var(--page);padding:35px 24px 24px;border-inline:1px solid var(--line)}body.journey-active .paddle-universe{opacity:.58}.conversation-heading{margin-bottom:23px;align-items:flex-start}.conversation-heading h1{font-size:25px;line-height:1.15;margin-top:8px;font-weight:700;letter-spacing:-.9px}.conversation-heading .eyebrow{justify-content:flex-start;font-size:9px}.conversation-heading>.quiet-button{white-space:nowrap}
.identity-results:not(:empty){background:var(--paper);margin:24px 0}.identity-results h2{font-size:24px;letter-spacing:-.7px;margin-bottom:8px}.identity-results p{font-size:13px;line-height:1.6}.candidate-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.candidate{border:1px solid var(--line);background:white;border-radius:12px;display:flex;align-items:center;gap:12px;text-align:left;padding:12px;color:var(--ink)}.candidate:hover{border-color:var(--ink);background:#f1f5e9}.candidate img{width:74px;height:100px;object-fit:contain;mix-blend-mode:multiply}.candidate strong{display:block;font-size:13px}.candidate span{font-size:11px;line-height:1.6;color:var(--muted)}.candidate .confirm-hint{color:var(--ink);display:block;font-weight:700;margin-top:6px}.personality-card{background:#edeafa;border:1px solid #bab4d0;border-radius:16px;padding:25px;margin:24px 0;position:relative;overflow:hidden}.personality-card .eyebrow{justify-content:flex-start;color:#4e476b}.personality-card h2{font-size:40px;line-height:1.05;letter-spacing:-1.8px;margin:12px 0}.personality-card>p{font-size:14px;line-height:1.75;max-width:470px}.personality-card .fine-print{font-size:10px;margin-top:15px}.confirmed-paddle{display:flex;align-items:center;gap:12px;border-bottom:1px solid #cac4df;padding-bottom:17px;margin-bottom:19px}.confirmed-paddle img{width:48px;height:65px;object-fit:contain;mix-blend-mode:multiply}.confirmed-paddle p{font-size:11px;line-height:1.6}.confirmed-paddle strong{font-size:13px}.personality-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.personality-actions .primary-button{background:var(--ink);color:var(--page)}.goal-heading{font-size:24px;margin:20px 0 10px;letter-spacing:-.7px}.goal-copy{font-size:13px;color:var(--muted);line-height:1.7}.goals{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:19px 0}.goal-button{border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:14px 8px;color:var(--ink);font-size:12px;text-align:left}.goal-button strong{display:block;margin-bottom:7px}.goal-button span{font-size:9px;color:var(--muted)}.goal-button[aria-pressed=true]{background:var(--lime);border-color:var(--ink)}
.user-message{background:#e5ecd9;color:var(--ink)}.assistant-label{color:var(--ink)}.reply-option{background:#fffefb}.reply-option:hover{background:#eaf1df}.reply-option-label{font-size:13px}.reply-option-description{font-size:10px}.paddle-overview{grid-template-columns:160px 1fr;padding:20px;gap:20px}.paddle-image{background:white;min-height:190px}.paddle-image img{height:220px}.paddle-info h2{font-size:27px}.paddle-details{padding:20px}.paddle-info .primary-button{margin-top:15px}.match-label,.price{color:var(--ink)}.match-context{font-size:11px}.alternative{background:#f1f4e9}.feedback-choice[aria-pressed=true]{background:var(--ink);color:white}.feedback-status{font-size:11px}.feedback-panel{border-color:var(--line)}.community-panel{background:var(--ink);color:var(--page);border-radius:16px;padding:27px;margin-top:28px}.community-panel .eyebrow{justify-content:flex-start;color:var(--lime);font-size:9px}.community-panel h2{font-size:33px;letter-spacing:-1px;line-height:1.1;margin:14px 0}.community-panel>p{font-size:13px;line-height:1.7}.community-fields{display:grid;grid-template-columns:1.6fr 1fr;gap:13px;margin:23px 0}.community-fields label{font-size:11px;display:grid;gap:9px}.community-fields input,.community-fields select{width:100%;min-width:0;min-height:45px;border:1px solid #96ab97;border-radius:8px;background:var(--page);padding:10px;font-size:12px}.community-panel .primary-button{width:100%}.community-panel .fine-print{font-size:10px;line-height:1.7;margin-top:15px;color:#c9d7c9}.fine-print{font-size:11px;color:var(--muted)}
.site-footer{position:relative;z-index:2;display:flex;padding:20px 4%;height:78px;gap:14px;font-size:8px;letter-spacing:1.3px;border-top:1px solid var(--line);background:var(--page)}.site-footer .quiet-button{font-size:10px;letter-spacing:0}.error{border:1px solid #d89b98;background:#fff0ed;color:#743632;padding:14px;border-radius:10px;font-size:13px}.thinking{background:var(--page);font-size:12px;padding:15px}.thinking-dot{background:var(--ink)}dialog{color:var(--ink);background:var(--page);border:1px solid var(--line);max-width:620px;border-radius:16px;padding:28px}dialog p{font-size:13px;line-height:1.75;margin:17px 0}.dialog-heading{display:flex;gap:20px;justify-content:space-between}.dialog-heading h2{font-size:24px}.icon-button{border:0;background:none;color:var(--ink);font-size:30px;min-width:40px}.skip-link{z-index:10}
@media(min-width:1500px){.orbiter{offset-path:ellipse(660px 335px at 50% 50%)}.finder{padding-top:68px}.intro h1{max-width:590px}.intro-copy{margin-top:18px}.paddle-universe .orbit-track{width:1300px}}
@media(max-width:1050px){.orbiter{offset-path:ellipse(450px 355px at 50% 50%);opacity:.6}.finder{max-width:650px}.intro{background:var(--page);border-radius:90px}.journey-progress{background:var(--page)}.court-frame:before,.court-frame:after{width:8%}.header-note{display:none}.header-link{margin-left:auto}.edge-note{display:none}}
@media(max-width:700px){.site-header{height:70px;padding:0 20px}.site-header img{width:143px}.header-link{font-size:10px;padding:8px 12px;min-height:36px}.page-shell{padding:0 22px;min-height:calc(100svh - 145px)}.finder{padding-top:33px;max-width:500px}.intro{padding:0 4px;background:transparent}.eyebrow{font-size:8px;letter-spacing:1.2px}.intro h1{width:92%;margin:24px auto 7px}.intro-copy{font-size:20px;margin:13px 0 9px}.intro-subcopy{font-size:12px;line-height:1.65;margin-bottom:24px}.journey-progress{gap:12px;font-size:8px;padding:12px 0;margin-bottom:18px}.journey-progress li{gap:4px}.journey-progress span{width:19px;height:19px;font-size:8px}.composer{padding:18px 16px 15px;border-radius:13px}.composer-top{margin-bottom:14px}.composer-top label{font-size:13px}.small-pill{display:none}textarea{font-size:15px;min-height:70px}.composer-bottom{display:flex;flex-direction:column;align-items:stretch;gap:6px;margin-top:0}.photo-button{font-size:11px;justify-content:center}.primary-button{min-height:48px;font-size:12px;white-space:normal}.input-hint{font-size:9px;text-align:center}.starters .quiet-button{font-size:10px;gap:4px;line-height:1.6}.starters{padding-top:10px}.input-privacy{margin-top:16px;font-size:11px}.input-privacy span{font-size:8px}.court-frame{inset:87px 10px 77px;border-radius:70px 70px 22px 22px}.court-frame:before,.court-frame:after{display:none}.paddle-universe{inset:70px 0 65px;opacity:.2}.orbiter{offset-path:ellipse(310px 380px at 50% 50%);width:200px;height:200px;margin:-100px;opacity:1}.orbiter-three,.orbiter-six{display:none}.orbit-track{width:710px;height:920px;opacity:.4}.ball-one{left:2%;top:32%;width:18px;height:18px}.ball-two{right:2%;top:5%}.site-footer{font-size:7px;letter-spacing:.7px;padding:15px 20px;height:75px;flex-wrap:wrap;justify-content:space-between}.site-footer>span:last-child{display:none}.site-footer .quiet-button{font-size:9px}body.journey-active .finder{padding:24px 0;border:0}.conversation-heading h1{font-size:24px}.conversation-heading .quiet-button{font-size:10px}.candidate-grid{grid-template-columns:1fr;max-height:420px;overflow:auto}.candidate img{height:80px;width:60px}.personality-card{padding:20px}.personality-card h2{font-size:34px}.personality-card>p{font-size:13px}.goals{grid-template-columns:1fr 1fr}.goal-heading{font-size:23px}.reply-options{grid-template-columns:1fr 1fr}.paddle-overview{grid-template-columns:90px 1fr;gap:14px;padding:16px}.paddle-image{min-height:150px}.paddle-image img{height:170px}.paddle-info h2{font-size:22px}.paddle-info .primary-button{font-size:10px;padding:11px 8px;gap:8px}.paddle-variant{font-size:11px}.paddle-details{padding:17px}.community-panel{padding:23px 19px}.community-panel h2{font-size:29px}.community-fields{grid-template-columns:1fr}.desktop-break{display:none}.conversation{gap:22px}.assistant-message{font-size:14px}.user-message{font-size:13px;padding:12px 16px}}
@media(prefers-reduced-motion:reduce){.orbiter{animation:none}.orbiter-one{offset-distance:43%}.orbiter-two{offset-distance:6%}.orbiter-three{offset-distance:77%}.orbiter-four{offset-distance:25%}.orbiter-five{offset-distance:59%}.orbiter-six{offset-distance:93%}*{scroll-behavior:auto!important;transition:none!important}}
/* Keep the full reading area opaque through every point in the orbit. */
.finder{background:var(--page);position:relative;border-radius:55px 55px 0 0}.input-hint{max-width:none}.affiliate-note{font-size:10px;color:var(--muted);padding:0 20px 18px}.composer:focus-within{outline:2px solid var(--ink);outline-offset:3px}.photo-control{flex:1}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #7665b2;outline-offset:3px}
@media(max-width:700px){.finder{border-radius:55px 55px 0 0}.input-hint{max-width:none}.photo-control{flex:auto}}
body.journey-active .finder{border-radius:0}
@media(max-width:700px){body.journey-active .paddle-universe{opacity:.15}}

/* Fit the full headline and all cards inside narrow in-app browser viewports. */
.finder,.assistant-message,.paddle-info,.candidate>span,.community-fields>label{min-width:0}
.intro h1{width:100%;padding:0 12px;margin-bottom:14px}
.intro h1 img{width:100%;height:auto}
.assistant-message{width:100%;overflow-wrap:anywhere}
.paddle-overview{grid-template-columns:160px minmax(0,1fr)}
.secondary-link{display:block;padding:12px 0 0;font-size:12px;text-align:center;line-height:1.5}
.paddle-choice[aria-pressed=true]{background:var(--ink);color:var(--page);outline:2px solid var(--lime)}
.group-match:not(:empty){display:grid;gap:14px;margin:16px 0}
.group-option{border:1px solid #78917e;border-radius:12px;padding:16px;min-width:0}
.group-option .primary-button{margin-top:14px}
.group-goals{color:var(--lime)}
.group-match h3{font-size:20px;line-height:1.3;margin-bottom:10px}
.group-match p{font-size:12px;line-height:1.6}
#group-status{font-size:11px;line-height:1.6;margin:12px 0}
.community-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
.community-panel,.personality-card{overflow-wrap:anywhere}
@media(max-width:700px){
  .page-shell{padding-inline:max(20px,env(safe-area-inset-left)) max(20px,env(safe-area-inset-right))}
  .intro h1{padding:0 10px;margin:22px auto 14px}
  .community-fields{grid-template-columns:minmax(0,1fr)}
  .paddle-overview{grid-template-columns:80px minmax(0,1fr);gap:12px}
  .paddle-info h2{font-size:21px}
  .community-fields select,.community-fields input,textarea{font-size:16px}
  .site-footer{margin-bottom:env(safe-area-inset-bottom)}
}

/* Missing equipment remains part of the journey, with comfortable phone inputs. */
.starters{display:flex;flex-direction:column;align-items:center;gap:8px}
.custom-paddle-form{border:1px solid var(--ink);border-radius:16px;padding:24px;background:var(--page);margin:22px 0;display:grid;gap:18px}
.custom-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.custom-fields label{display:grid;gap:8px;font-size:13px;font-weight:600;min-width:0}
.custom-fields label:last-child{grid-column:1 / -1}
.custom-fields input{min-width:0;width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:9px;min-height:48px;padding:12px;font:inherit;font-size:16px;color:var(--ink);background:#fff}
.submission-consent{display:flex;gap:12px;align-items:flex-start;font-size:13px;line-height:1.6}
.submission-consent input{flex:none;width:20px;height:20px;margin:1px 0;accent-color:var(--ink)}
.submission-status{border-top:1px solid var(--line);margin-top:22px;padding-top:14px;font-size:13px;line-height:1.65}
.personality-sources{border-top:1px solid var(--line);padding-top:15px;margin:22px 0;font-size:12px;line-height:1.7}
.personality-sources summary{cursor:pointer;font-weight:700;min-height:36px}
.personality-sources p{margin:8px 0 16px}.personality-sources a{color:var(--ink);text-decoration:underline;overflow-wrap:anywhere}
.goal-selection{font-size:13px;line-height:1.6;min-height:42px;margin:16px 0}
.goal-button[aria-pressed="true"]{background:#d4f67b;border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.goal-button[aria-pressed="true"] strong:after{content:' ✓'}
.add-paddle-button{margin-top:20px;width:100%}
@media(max-width:700px){.custom-paddle-form{padding:18px}.custom-fields{grid-template-columns:1fr}.custom-fields label:last-child{grid-column:auto}.goal-button{min-height:88px}.goal-button span{font-size:12px}.goal-selection{font-size:12px}.personality-sources{font-size:12px}}

/* A single active step keeps the next action close on a phone. */
.conversation-heading{margin-bottom:8px;gap:12px}
[tabindex="-1"]:focus{outline:none}
.journey-progress{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:20px;scroll-margin-top:12px}
.journey-progress li{justify-content:center;min-width:0;font-size:11px}
.personality-card{margin:0;padding:24px}
.personality-actions{display:grid;gap:4px;margin-top:20px}
.personality-actions .quiet-button{justify-content:center}
.personality-card h2{font-size:clamp(30px,5vw,40px)}
.goal-heading{margin:0 0 8px}
.goals{grid-template-columns:repeat(2,minmax(0,1fr));margin:18px 0 10px}
.goal-button{padding:16px;min-height:88px}
.goal-button strong{font-size:16px;margin-bottom:5px}
.goal-button span{font-size:12px;line-height:1.4}
.goal-selection{min-height:20px;margin:8px 0 16px;font-size:12px}
body[data-step=goals] .composer{padding:0;border:0;box-shadow:none;background:transparent}
body[data-step=goals] .composer:focus-within{outline:0}
body[data-step=goals] .composer-top{margin-top:8px}
body[data-step=goals] .composer-bottom{position:sticky;bottom:0;padding:10px 0 max(10px,env(safe-area-inset-bottom));background:var(--page);z-index:2}
body[data-step=goals] #send-button{width:100%}
#optional-details summary,.paddle-details summary,.alternative summary,.feedback-fold>summary{cursor:pointer;min-height:48px;display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ink);list-style:none}
#optional-details summary:before,.paddle-details summary:before,.alternative summary:before,.feedback-fold>summary:before{content:'+';font-size:20px;flex:none}
details[open]>summary:before{content:'−'!important}
summary::-webkit-details-marker{display:none}
#optional-details textarea{min-height:76px}
.composer-bottom .primary-button{font-size:14px}
.paddle-overview{padding:20px;grid-template-columns:110px minmax(0,1fr);gap:20px}
.paddle-image{min-height:140px}
.paddle-image img{height:160px;max-width:100%;object-fit:contain}
.paddle-info .price{margin:12px 0 0;font-size:29px}
.paddle-info .secondary-link{padding:8px 0;min-height:44px;text-align:left;font-size:12px}
.paddle-card>.paddle-choice{display:flex;width:calc(100% - 40px);margin:0 20px 12px;min-height:54px;font-size:14px}
.paddle-details{padding:0 20px;border-top:0}
.paddle-details p{font-size:13px;line-height:1.65;margin:0 0 12px}
.affiliate-note{padding:4px 20px 16px;font-size:10px}
.alternative{padding:0 16px;margin-top:12px}
.alternative[open]{padding-bottom:16px}
.alternative .paddle-choice{margin:12px 0;width:100%}
.alternative .alternative-link{display:block;min-height:44px;padding:12px 0}
.feedback-fold{border-top:1px solid var(--line)}
.feedback-fold .feedback-panel{margin:0;padding:0 0 12px;border:0}
.adjust-match{font-size:13px}
.community-panel{margin-top:0;padding:24px}
.community-panel h2{margin:0 0 10px}
.community-fields{gap:16px;margin:20px 0}
.community-fields label{font-size:13px;gap:8px;cursor:pointer}
.community-fields select,.feedback-detail select{appearance:auto;min-height:56px;padding:14px 16px;font-size:16px;cursor:pointer;touch-action:manipulation}
.community-panel .primary-button{min-height:56px;font-size:14px}
#group-status:empty{display:none}
body.journey-active .finder{padding-top:12px;padding-bottom:24px}
@media(max-width:700px){
  .journey-progress{padding:10px 0;gap:4px}
  .journey-progress li{flex-direction:column;font-size:10px;gap:5px}
  .journey-progress span{width:21px;height:21px;font-size:9px}
  .personality-card{padding:20px}
  .personality-card>p{font-size:14px;line-height:1.65}
  .paddle-overview{padding:16px;grid-template-columns:85px minmax(0,1fr);gap:12px}
  .paddle-image img{height:145px}
  .paddle-card>.paddle-choice{margin-inline:16px;width:calc(100% - 32px);font-size:13px}
  .paddle-info h2{font-size:23px}
  .paddle-details{padding-inline:16px}
  .community-panel{padding:20px}
  .goal-button{padding:14px 12px}
}
@media(max-width:700px) and (max-height:650px){
  body[data-step=goals] .composer-bottom{position:fixed;left:0;right:0;bottom:0;padding:12px 20px max(12px,env(safe-area-inset-bottom));border-top:1px solid var(--line);box-shadow:0 -6px 18px #0440260a}
  body[data-step=goals] #send-button{max-width:500px;margin-inline:auto}
  body[data-step=goals] .page-shell{padding-bottom:88px}
}

/* Account handoff uses the same full-width mobile controls as group preferences. */
#email-field { display: grid; gap: 8px; margin: 18px 0; }
#email-field input, #profile-fields input, #profile-fields textarea, #profile-fields select { font: inherit; width: 100%; min-height: 48px; padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); color: var(--ink); }
#profile-fields { display: grid; gap: 12px; padding: 16px 0; }
#profile-fields label { display: grid; gap: 6px; }
#profile-review { margin: 14px 0; }
#profile-review summary { min-height: 44px; cursor: pointer; display: flex; align-items: center; }
#profile-save-status { margin: 12px 0; }
#profile-edit-link { color: inherit; display: inline-flex; min-height: 44px; align-items: center; }
.site-header #account-link { margin-left: auto; }
