/* Shared presentation for the studio, help and policy pages. */
.site-header {min-height:120px;gap:24px}
.wordmark .brand-o {font:inherit;color:var(--wine);margin:0}
.site-header .header-actions {gap:12px}
.site-header .quiet {border:1px solid var(--line);background:var(--paper);border-radius:16px;padding:10px 16px}
.site-header .quiet:hover {background:#e5e8d7}
.site-header a.quiet,.site-header a.secondary {text-decoration:none}
.site-header #account-open {font-size:22px;min-height:56px;padding:12px 22px;justify-content:center}
#size-toggle[aria-pressed=true] {background:var(--teal);color:var(--paper)}
.legal-page {max-width:1000px;padding:44px 32px 80px}
.legal-page h1 {font:700 clamp(42px,6vw,68px)/1.1 var(--display);letter-spacing:-.035em;margin:32px 0 20px;text-wrap:balance;overflow-wrap:anywhere;hyphens:auto}
.back-to-cards,.policy-nav a,.legal-links a,footer>a,footer a[href^="mailto:"],.account-view a[href^="mailto:"],#help-dialog a,.policy-content>a {
  text-decoration:none;display:inline-flex;align-items:center;min-height:48px;
  padding:10px 18px;border:1px solid var(--line);border-radius:28px;background:var(--paper);font-weight:700;
}
.back-to-cards:hover,.policy-nav a:hover,.legal-links a:hover,footer>a:hover,#help-dialog a:hover,.policy-content>a:hover {background:#e5e8d7;border-color:var(--teal)}
.policy-nav {gap:12px;margin:28px 0}
.policy-nav a,.policy-nav button,.legal-page .policy-nav a {font-size:20px;line-height:1.4;padding:12px 20px;min-height:54px;border:1px solid var(--line);border-radius:28px;text-decoration:none;background:var(--paper);font-weight:700}
.policy-nav a[aria-current=page],.policy-nav button[aria-pressed=true] {background:var(--teal);color:var(--paper);border-color:var(--teal)}
.policy-content,.legal-page .policy-content {font:22px/1.6 var(--body)}
.policy-intro {margin-bottom:24px}
.policy-content details {border:1px solid var(--line);border-radius:18px;background:#fffaf1f5;margin:14px 0;padding:0;overflow:hidden}
.policy-content summary {list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;min-height:72px;font-size:23px;line-height:1.4}
.policy-content summary::-webkit-details-marker {display:none}
.policy-content summary::after {content:'+';font-size:30px;line-height:1;flex-shrink:0;color:var(--teal)}
.policy-content details[open] summary::after {content:'−'}
.policy-content details p {padding:0 24px 24px;margin:0;max-width:65ch}
.policy-draft {font-size:18px;line-height:1.5}
#help-dialog {width:min(760px,calc(100vw - 32px));padding:48px 40px 36px}
#help-dialog h2 {padding-right:24px;font-size:clamp(38px,6vw,54px);line-height:1.1}
#help-dialog p,#help-dialog li {font-size:22px;line-height:1.6}
.help-list {margin:28px 0;padding-left:30px}
.help-list li {padding-left:10px;margin-bottom:24px}
.help-actions {display:grid;gap:16px;margin-top:28px}
.help-actions button {width:100%;justify-content:center;white-space:normal;min-height:64px;font-size:24px}
.help-more {margin-top:28px;border-top:1px solid var(--line);overflow:hidden}
.help-more summary {padding:20px 0;cursor:pointer;font-weight:800;min-height:60px}
.help-more p {padding-top:12px}
.legal-links {gap:12px;font-size:18px}
body.extra-large .policy-content,body.extra-large .legal-page .policy-content,body.extra-large #help-dialog p,body.extra-large #help-dialog li {font-size:28px}
body.extra-large .policy-content summary {font-size:29px}
body.extra-large .policy-nav a,body.extra-large .policy-nav button,body.extra-large .legal-links,body.extra-large .policy-draft {font-size:24px}
body.extra-large .quiet,body.extra-large .help-actions button,body.extra-large .category {font-size:27px}
body.extra-large .template-footer {font-size:29px}
body.extra-large .card-guide p,body.extra-large .card-guide button {font-size:27px}
body.extra-large .account-view label,body.extra-large .account-view input,body.extra-large .account-view button,body.extra-large .account-view p {font-size:27px}
body.extra-large #account-open {font-size:27px}
body.extra-large .legal-page h1 {font-size:clamp(52px,7vw,80px)}
@media(max-width:700px) {
  .site-header {min-height:120px;flex-wrap:wrap;padding:20px 24px;gap:18px}
  .site-header .header-actions {width:100%;justify-content:space-between;gap:8px}
  .site-header .quiet {font-size:20px;padding:8px 12px}
  .site-header #account-open {width:100%;flex:1 1 100%;min-height:56px;font-size:22px;padding:12px 20px;margin:0}
  .site-header .font-language-controls {flex:1;justify-content:space-between}
  .site-header #help-open {margin-left:auto}
  .legal-page {padding:28px 20px 56px}
  .policy-nav {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .policy-nav a,.policy-nav button,.legal-page .policy-nav a {min-width:0;overflow-wrap:anywhere;padding:12px 14px;font-size:19px;justify-content:center;text-align:center}
  .policy-content summary {padding:20px;font-size:22px}
  .policy-content details p {padding:0 20px 22px}
  #help-dialog {padding:48px 24px 28px}
  body.extra-large .policy-nav {grid-template-columns:1fr}
  body.extra-large .site-header .quiet {font-size:25px}
}
@media(max-width:430px) {
  .policy-nav {grid-template-columns:minmax(0,1fr)}
}
@media(max-width:360px) {
  body.extra-large .legal-page h1 {font-size:44px}
}
