/* Shared page geometry and action sizes. Preserve the homepage display scale. */
:root{--page-gutter:32px;--reading-max:1040px;--footer-max:1180px;--button-radius:50px;--button-large-height:60px;--button-medium-height:54px}
/* Shared public navigation and single-column reading flow. */
.header .brand{flex-shrink:0;gap:10px}.header nav{display:flex;align-items:center;gap:26px}.header nav a{text-decoration:none;text-decoration-line:none}.header nav .login{display:inline-block}.header .brand .brand-wordmark{display:flex;flex-direction:column;align-items:center;gap:3px;line-height:1}.header .brand .brand-name{font-size:25px;font-weight:900;line-height:1.2;letter-spacing:0}.header .brand .brand-tagline{display:block;font-size:13px;font-weight:600;line-height:1.2;letter-spacing:.035em;color:var(--ink)}.header .brand svg{width:66px;height:52px;flex:none;color:var(--orange);stroke:currentColor;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.guide-main,.app-screen{width:calc(100% - var(--page-gutter) - var(--page-gutter));max-width:var(--reading-max)}.guide-steps,.task-grid,.work-grid{grid-template-columns:minmax(0,1fr)}.work-aside{position:static;top:auto}.guide-heading h1,.app-screen h1{font-size:clamp(30px,3.4vw,42px);line-height:1.45;letter-spacing:-.025em}.guide-section,.work-panel,.aside-card{line-height:1.85}.task-card-bottom{justify-content:space-between}.dashboard-head,.detail-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px}.dashboard-head .section-kicker,.detail-head .section-kicker{margin-bottom:8px}.work-aside .aside-card{max-width:none}.form-card{margin-inline:auto}.guide-back .primary{font-size:17px}.home-start{display:inline-block}
@media(max-width:760px){.header{flex-wrap:wrap;justify-content:center;gap:9px;padding:12px}.header .brand{gap:8px}.header .brand .brand-name{font-size:22px}.header .brand .brand-tagline{font-size:12px}.header .brand svg{width:58px;height:46px}.header nav{gap:20px;font-size:14px;flex-wrap:wrap;justify-content:center}:root{--page-gutter:18px;--button-large-height:56px}.guide-main{padding-inline:0}.guide-steps,.task-grid,.work-grid{grid-template-columns:minmax(0,1fr)}.guide-heading h1,.app-screen h1{font-size:30px}.header nav .login{padding:7px 15px}}

/* Shared navigation feedback and compact illustrated activity guide. */
.header nav a:hover{color:var(--deep);text-decoration-line:underline;text-decoration-color:var(--orange);text-decoration-thickness:3px;text-underline-offset:8px}
.hero .home-start{margin:0 0 18px}.graphic-steps{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}.step-disclosure{background:#fffdf8;border-radius:24px;overflow:hidden}.step-disclosure summary{display:grid;grid-template-columns:150px minmax(0,1fr) auto;align-items:center;gap:28px;padding:28px 32px;cursor:pointer;list-style:none}.step-disclosure summary::-webkit-details-marker,.rules-disclosure summary::-webkit-details-marker{display:none}.step-art{display:flex;align-items:center;justify-content:center;width:130px;height:120px;background:#f9ebce;border-radius:48% 52% 45% 55%}.step-art svg{width:95px;height:95px}.step-disclosure:nth-child(2) .step-art{background:#deedf4}.step-disclosure:nth-child(4) .step-art{background:#f4e0d5}.step-caption .guide-number{font-size:15px;margin-bottom:4px}.step-caption strong{font-size:25px;line-height:1.5;font-weight:800}.disclosure-hint{display:flex;align-items:center;gap:15px;font-size:14px;color:var(--muted);white-space:nowrap}.chevron{display:inline-block;width:22px;height:auto;border:0;transform:none;margin:0;font-size:22px;font-weight:400;line-height:1}.chevron::after{content:"＋"}details[open]>summary .chevron{transform:none;margin:0}details[open]>summary .chevron::after{content:"−"}.step-body{padding:0 32px 28px;font-size:16px;line-height:1.9}.step-body>p+p{margin-top:12px}.step-body h3{font-size:22px;margin-bottom:10px}.practice-purpose{padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--line)}.step-ai{border-top:1px solid var(--line);margin-top:25px;padding-top:22px}.step-ai>p{font-size:16px}.rules-disclosure{margin-top:22px;background:#fffdf8;border-radius:24px}.rules-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 32px;list-style:none;cursor:pointer;font-size:23px}.guide-back .primary{font-size:19px}.support-footer .support-columns,.support-footer .footer-bottom{max-width:var(--footer-max)}
@media(max-width:760px){.step-disclosure summary{grid-template-columns:76px minmax(0,1fr);gap:12px 18px;padding:22px}.step-art{width:76px;height:82px;grid-row:1/3}.step-art svg{width:65px;height:65px}.step-caption strong{font-size:22px}.step-caption .guide-number{font-size:14px}.disclosure-hint{grid-column:2;font-size:14px;gap:12px}.step-body{padding:0 22px 24px}.rules-disclosure>summary{padding:22px;font-size:22px}.guide-back .primary{font-size:18px}.graphic-steps{gap:16px}}
.step-disclosure>summary::after,.rules-disclosure>summary::after{content:none}
details.step-disclosure[open]>summary::after,details.rules-disclosure[open]>summary::after{content:none}

/* Keep the audience cards compact while retaining their readable text and padding. */
.audience-grid{max-width:1000px;margin-inline:auto}

/* Border-inclusive variants; min-height lets long labels wrap and grow. */
.secondary,.app-screen .primary,.guide-back .primary,dialog .button-row .primary{box-sizing:border-box;height:auto;border-radius:var(--button-radius);white-space:normal}
.secondary,.app-screen .secondary,#tasks-screen .secondary{min-height:var(--button-medium-height);padding-block:11px}
.app-screen .primary{min-height:var(--button-medium-height);padding-block:12px}
.app-screen .form-card .primary,.guide-back .primary,dialog .button-row .primary{min-height:var(--button-large-height);padding-block:15px}
.app-screen .form-card [data-cancel-signup],dialog .button-row .secondary{min-height:var(--button-large-height);padding-block:14px}
.mock-notifications summary{list-style:none;list-style-type:none;padding-right:30px}
.mock-notifications summary::-webkit-details-marker{display:none}
.mock-notifications summary::marker{content:""}
@media(max-width:760px){
  .app-screen .form-card .primary,.guide-back .primary,dialog .button-row .primary{padding-block:13px}
  .app-screen .form-card [data-cancel-signup],dialog .button-row .secondary{padding-block:12px}
}

/* Activity guide title and preview badge retain a clear visual gap. */
.guide-heading .guide-status{margin-top:18px}

/* One action family: homepage geometry, outlined secondary/return actions. */
:root{--button-medium-height:var(--button-large-height)}
.secondary,.app-screen .secondary,#tasks-screen.app-screen .secondary,dialog .button-row .secondary,button.text-button{display:inline-block;box-sizing:border-box;background:transparent;color:var(--deep);border:1px solid var(--orange);border-radius:var(--button-radius);font-family:inherit;font-size:20px;font-weight:800;line-height:1.5;min-height:var(--button-large-height);height:auto;padding:14px 24px;text-align:center;text-decoration:none;white-space:normal;max-width:100%;cursor:pointer;box-shadow:none;transform:none;transition:background .2s}
.secondary:hover,.text-button:hover{background:#fff0e6;transform:none}
.app-screen .primary,.task-card-bottom .primary{display:inline-block;min-height:var(--button-large-height);padding:15px 28px;text-align:center}
.primary,.app-screen .form-card .primary{border:1px solid var(--orange);box-shadow:none;transform:none;transition:background .2s,border-color .2s}
.primary:hover,.app-screen .form-card .primary:hover:not(:disabled){background:#d95b27;border-color:#d95b27;transform:none}
.back-link.secondary{text-decoration:none}
.primary:disabled,.secondary:disabled,.text-button:disabled{opacity:.55;cursor:not-allowed;transform:none}
:focus-visible{outline:3px solid var(--deep);outline-offset:5px}
/* Route headings keep accessible focus without looking like editable fields. */
.app-screen h1[tabindex="-1"]:focus{outline:none}
.participant-review-note strong{font-size:18px}
@media(max-width:760px){
  .secondary,.app-screen .secondary,#tasks-screen.app-screen .secondary,dialog .button-row .secondary,button.text-button{padding-block:12px}
  .app-screen .primary,.task-card-bottom .primary{padding-block:13px}
  .note-entry-head .text-button{flex-shrink:1}
}
@media(prefers-reduced-motion:reduce){.secondary,button.text-button{transition:none}}

/* Six-step activity guide: retain the original single-column disclosure rows. */
.guide-page .graphic-steps{align-items:start}
.guide-page .step-disclosure,.guide-page .step-caption{min-width:0}
.guide-page .step-caption strong{display:block}
.guide-page .step-disclosure:nth-child(5) .step-art{background:#deedf4}
