/* Mac Philosophy community entry. Brand tokens remain the shared source. */
.community-page { margin: 0; color: var(--aix-ink, #1d1d1f); background: var(--aix-paper, #fafaf9); font-family: var(--aix-font-ui, -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif); -webkit-font-smoothing: antialiased; }
.community-page *, .community-home * { box-sizing: border-box; }
.community-page a { color: inherit; text-decoration: none; }
.community-page a:focus-visible, .community-home a:focus-visible { outline: 3px solid var(--aix-focus, #2855c5); outline-offset: 5px; border-radius: 5px; }
.community-skip { position: absolute; top: 12px; left: 12px; z-index: 2; transform: translateY(-180%); padding: 12px 18px; background: var(--aix-surface, #fff); }
.community-skip:focus { transform: none; }
.community-header { max-width: 1120px; margin: auto; padding: 24px 32px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.community-brand { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; font-size: 15px; font-weight: 600; letter-spacing: -.02em; }
.community-brand img { display: block; flex: none; }
.community-back { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; flex: none; font-size: 14px; }
.community-back:hover { text-decoration: underline; text-underline-offset: 4px; }
.community-main { max-width: 1056px; margin: 48px auto 64px; padding: 32px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 360px); align-items: center; gap: 72px; }
.community-kicker { margin: 0 0 24px; color: var(--aix-muted, #626266); font-size: 14px; font-weight: 500; }
.community-copy h1 { margin: 0; font-size: clamp(44px, 5.1vw, 72px); line-height: 1.14; font-weight: 600; letter-spacing: -.04em; }
.community-lead { margin: 28px 0 0; color: var(--aix-muted, #626266); font-size: 18px; line-height: 1.8; }
.community-card { min-width: 0; text-align: center; }
.community-card h2 { margin: 0 0 16px; font-size: 18px; line-height: 1.5; font-weight: 600; letter-spacing: -.02em; }
.community-qr { display: block; width: min(100%, 288px); height: auto; margin: auto; image-rendering: pixelated; }
.community-scan { margin: 16px 0; font-size: 15px; line-height: 1.6; }
.community-save { display: inline-flex; justify-content: center; align-items: center; gap: 12px; min-height: 44px; padding: 10px 22px; border-radius: 999px; background: var(--aix-action, #1d1d1f); color: var(--aix-action-text, #fff) !important; font-size: 15px; font-weight: 500; line-height: 1.5; }
.community-save:hover { background: var(--aix-action-hover, #363638); }
.community-hint { margin: 16px 0 0; color: var(--aix-muted, #626266); font-size: 13px; line-height: 1.65; }
.community-footer { max-width: 1056px; margin: 0 auto; padding: 24px 32px 32px; color: var(--aix-muted, #626266); display: flex; align-items: center; justify-content: space-between; gap: 16px; font-size: 12px; line-height: 1.5; }
.community-footer p { margin: 0; }
.community-home { margin: 72px auto 0; padding: 48px; border-top: 1px solid var(--aix-line, #dedee2); display: grid; grid-template-columns: minmax(0, 1fr) 240px; gap: 56px; align-items: center; }
.community-home h2 { margin: 0 0 16px; font-size: clamp(28px, 3vw, 40px); line-height: 1.25; letter-spacing: -.03em; font-weight: 600; }
.community-home-copy > p { margin: 0; color: var(--aix-muted, #626266); font-size: 17px; line-height: 1.8; }
.community-home-copy > a { display: inline-flex; min-height: 44px; align-items: center; margin-top: 20px; color: var(--aix-ink, #1d1d1f); font-size: 15px; font-weight: 500; text-decoration: none; }
.community-home-copy > a:hover { text-decoration: underline; text-underline-offset: 4px; }
.community-home-qr { margin: 0; text-align: center; }
.community-home-qr img { width: 220px; max-width: 100%; height: auto; display: block; margin: auto; image-rendering: pixelated; }
.community-home-qr figcaption { margin-top: 12px; color: var(--aix-muted, #626266); font-size: 13px; line-height: 1.6; }
@media (max-width: 700px) {
  .community-header { padding: 16px 20px; gap: 12px; }
  .community-brand { font-size: 13px; gap: 7px; }
  .community-brand img { width: 30px; height: 30px; }
  .community-back { font-size: 13px; gap: 4px; }
  .community-main { margin: 20px auto 24px; padding: 0 24px; grid-template-columns: 1fr; gap: 32px; }
  .community-copy { text-align: center; }
  .community-kicker { margin-bottom: 14px; font-size: 12px; }
  .community-copy h1 { font-size: 40px; line-height: 1.13; }
  .community-lead { margin-top: 16px; font-size: 15px; line-height: 1.7; }
  .community-card h2 { font-size: 16px; margin-bottom: 12px; }
  .community-qr { width: min(100%, 248px); }
  .community-scan { font-size: 14px; margin: 12px 0; }
  .community-hint { font-size: 12px; margin-top: 12px; }
  .community-footer { padding: 24px; font-size: 11px; gap: 12px; }
  .community-home { margin-top: 40px; padding: 32px 0 0; grid-template-columns: 1fr; gap: 28px; }
  .community-home-copy { text-align: center; }
  .community-home-copy > p { font-size: 16px; }
}
