/* Agent Cat — Astra campaign refinement.
 * Hallmark · pre-emit critique: P4 H4 E4 S5 R4 V4
 * Fixed campaign palette. Other routes retain their own theme controls. */
:root {
  --campaign-ink: #10100d;
  --campaign-cream: #f5efe5;
  --campaign-paper: #fbf8f1;
  --campaign-muted: #b0aa9f;
  --campaign-subtle: #69665e;
  --campaign-accent: #ff926e;
  --campaign-accent-ink: #8d402b;
  --campaign-meter: #d9d1c3;
  --campaign-rule: #393831;
  --campaign-dark-rule: #d4cec3;
  --campaign-film-bg: #171714;
  --campaign-ease-out: cubic-bezier(.16,1,.3,1);
  --campaign-ease-in-out: cubic-bezier(.65,0,.35,1);
  --campaign-max: 1280px;
}
html, body { overflow-x: clip; }
body { background: var(--campaign-ink); color: var(--campaign-cream); font-family: var(--display); }
html[lang="zh"] { --display: "Pretendard Variable", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, sans-serif; }
.campaign, .campaign *, .nav, footer { box-sizing: border-box; }
.campaign { color: var(--campaign-cream); background: var(--campaign-ink); }
.campaign-wrap, .nav .wrap, footer .wrap { width: min(var(--campaign-max), calc(100% - 112px)); margin-inline: auto; }
.campaign section { scroll-margin-top: 96px; }
.campaign h1, .campaign h2, .campaign h3 { min-width: 0; margin: 0; font-family: var(--display); font-style: normal; overflow-wrap: anywhere; word-break: keep-all; text-wrap: balance; }
.campaign h2 { font-size: clamp(2.15rem, 3.55vw, 3.2rem); font-weight: 650; letter-spacing: -.046em; line-height: 1.2; }
.campaign a, .nav a, footer a { text-decoration: none; }
.campaign a:focus-visible, .campaign button:focus-visible, .campaign summary:focus-visible, .nav a:focus-visible, .nav button:focus-visible, footer a:focus-visible { outline: 2px solid var(--campaign-accent); outline-offset: 5px; }
.campaign-proof :is(a,button):focus-visible, .campaign-install a:focus-visible, .campaign-faq summary:focus-visible, .campaign-issues a:focus-visible { outline-color: var(--campaign-accent-ink); }
.campaign-index, .campaign-kicker { margin: 0 0 27px; color: var(--campaign-muted); font: 500 .65rem/1.5 var(--mono); letter-spacing: .12em; }
.campaign-text-link { display: inline-flex; align-items: center; gap: 20px; margin-top: 28px; padding: 8px 0; color: inherit; border-bottom: 1px solid var(--campaign-rule); font-size: .88rem; font-weight: 550; white-space: nowrap; }
.campaign-text-link span, .campaign-cta span, .campaign-merch-copy a span, .campaign-discover-action > span { transition: transform 180ms ease; }
.campaign-text-link:hover span, .campaign-cta:hover span, .campaign-merch-copy a:hover span, .campaign-discover-links a:hover .campaign-discover-action > span { transform: translate(3px, -2px); }

/* A quiet, legible masthead in every saved theme. */
.nav { --ink: var(--campaign-cream); position: sticky; top: 0; z-index: 50; color: var(--campaign-cream); background: var(--campaign-ink); border-bottom: 1px solid var(--campaign-rule); backdrop-filter: none; }
.nav .nav-inner { min-height: 72px; gap: 28px; }
.nav .brand { color: var(--campaign-cream); font-size: 17px; font-weight: 650; letter-spacing: -.025em; }
.nav .brand-mark, footer .brand-mark { width: 28px; height: 28px; border-radius: 0; box-shadow: none; background: transparent; }
.nav .brand-mark .sprite-cat-mark, footer .brand-mark .sprite-cat-mark { width: 27px; height: 27px; transform: none; filter: none; background-image: none; background-color: currentColor; mask: url('/assets/agentcat-mark.svg') center / contain no-repeat; }
.nav .nav-links { gap: 26px; color: var(--campaign-muted); font-size: 13px; }
.nav .nav-links a { color: inherit; white-space: nowrap; }
.nav .nav-links .campaign-nav-merch { color: var(--campaign-accent); }
.campaign-top-merch { display: none; }
.nav .nav-links a:hover { color: var(--campaign-cream); }
.nav .lang-switch { height: 32px; padding: 0; border: 0; border-radius: 0; background: transparent; }
.nav .lang-switch a { height: 30px; min-width: 27px; padding: 0 5px; color: var(--campaign-muted); background: transparent; border-radius: 0; font-size: 10px; }
.nav .lang-switch a[aria-current="page"] { color: var(--campaign-cream); box-shadow: inset 0 -1px var(--campaign-accent); }
.nav .lang-switch a:hover { color: var(--campaign-accent); }
.nav .nav-cta { padding: 10px 15px; color: var(--campaign-ink); background: var(--campaign-cream); border-radius: 0; font-size: 12px; }
.nav .nav-cta:hover { background: var(--campaign-accent); }
.nav .nav-toggle { color: var(--campaign-cream); border-color: var(--campaign-rule); border-radius: 0; }
.nav .nav-toggle span { background: var(--campaign-cream); }

/* Real product UI leads the introduction. Native captures retain their pixels. */
.campaign-hero { padding: 48px 0 64px; }
.campaign-hero-grid { display: grid; grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr); gap: 38px; align-items: center; }
.campaign-intro { padding-block: 30px; }
.campaign-kicker { margin-bottom: 28px; font-size: .64rem; letter-spacing: .045em; }
.campaign h1 { color: var(--campaign-cream); font-size: clamp(3rem,5vw,4.5rem); font-weight: 680; letter-spacing: -.057em; line-height: 1.14; }
.campaign h1 span { color: var(--campaign-accent); }
.campaign-lede { max-width: 545px; margin: 29px 0 30px; color: var(--campaign-muted); font-size: 1.02rem; line-height: 1.85; letter-spacing: -.01em; word-break: keep-all; }
.campaign-free { margin: 17px 0 0; color: var(--campaign-cream); font-size: .87rem; font-weight: 600; line-height: 1.6; }
.campaign-free + .campaign-platforms { margin-top: 7px; }
.campaign-free-scope { max-width: 420px; color: var(--campaign-subtle) !important; }
.campaign-merch-support { max-width: 370px; margin: 18px 0 24px; color: var(--campaign-muted); font-size: .88rem; line-height: 1.8; word-break: keep-all; }
.campaign-lede strong { color: var(--campaign-cream); font-weight: 600; }
.campaign-cta { display: inline-flex; align-items: center; justify-content: space-between; min-height: 54px; gap: 38px; padding: 0 22px; color: var(--campaign-ink); background: var(--campaign-cream); font-size: .9rem; font-weight: 650; white-space: nowrap; transition: background 160ms ease; }
.campaign-cta:hover { color: var(--campaign-ink); background: var(--campaign-accent); }
.campaign-cta span { font-size: 21px; font-weight: 400; }
.campaign-platforms { margin: 15px 0 0; color: var(--campaign-muted); font-size: .7rem; line-height: 1.6; }
.campaign-hero-detail { display: inline-flex; gap: 12px; margin-top: 34px; color: var(--campaign-muted); font-size: .77rem; }
.campaign-hero-detail:hover { color: var(--campaign-accent); }
.campaign-native { min-width: 0; margin: 0; }
.campaign-capture-link { position: relative; display: block; color: inherit; }
.campaign-native picture { display: block; }
.campaign-native img { display: block; width: 100%; height: auto; }
.campaign-native figcaption { display: flex; align-items: start; justify-content: space-between; gap: 10px 20px; margin-top: 15px; color: var(--campaign-muted); font-size: .63rem; line-height: 1.6; }
.campaign-native figcaption a { color: inherit; text-underline-offset: 3px; }
.campaign-native figcaption a:hover { text-decoration: underline; }
.campaign-capture-zoom { position: absolute; right: 10px; bottom: 10px; display: grid; place-items: center; width: 30px; height: 30px; color: var(--campaign-cream); background: var(--campaign-ink); border: 1px solid var(--campaign-muted); border-radius: 50%; font-size: 17px; opacity: 0; transition: opacity 160ms; }
.campaign-capture-link:hover .campaign-capture-zoom, .campaign-capture-link:focus-visible .campaign-capture-zoom { opacity: 1; }
.campaign-native-popover { width: min(100%,520px); margin-left: auto; }
.campaign-native-popover .campaign-capture-link { overflow: hidden; border-radius: 15px; box-shadow: 0 20px 55px #0005; }
.campaign-native-crop.native-mobile-status { display: none; }
.campaign-native-crop { display: block; position: relative; overflow: hidden; }
.campaign-native-crop img { display: block; width: 100%; height: auto; max-width: none; }
.native-reset-card { aspect-ratio: 700 / 830; }

/* One primary Mac surface; both companion platforms are visible from the start. */
.campaign-hero-devices { display: grid; grid-template-columns: minmax(0,1fr) 232px; align-items: end; gap: 24px; min-width: 0; }
.campaign-hero-devices .campaign-native-popover { width: 100%; }
.campaign-hero-devices .campaign-native figcaption { flex-direction: column; gap: 5px; }
.campaign-hero-phone { min-width: 0; padding-bottom: 34px; }
.campaign-phone-copy { margin-bottom: 14px; }
.campaign-device-label { margin: 0 0 12px; color: var(--campaign-accent); font-size: .72rem; font-weight: 550; line-height: 1.6; word-break: keep-all; }
.campaign-device-note { margin: 0; color: var(--campaign-muted); font-size: .7rem; line-height: 1.7; word-break: keep-all; }
.campaign-signal { position: relative; display: block; height: 1px; margin: 20px 0 16px; background: var(--campaign-rule); }
.campaign-signal i { position: absolute; inset: 0; background: var(--campaign-accent); transform-origin: left; }
.campaign-phone-pair { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; min-width: 0; }
.campaign-platform-name { margin: 0 0 9px; color: var(--campaign-cream); font-size: .8rem; line-height: 1.5; font-weight: 620; }
.campaign-platform-phone .campaign-capture-link { overflow: hidden; border: 1px solid var(--campaign-rule); border-radius: 12px; }
.campaign-platform-phone figcaption { display: flex; flex-direction: column; margin-top: 4px; gap: 4px; font-size: .55rem; line-height: 1.65; }
.campaign-platform-phone figcaption .campaign-store-link { display: inline-flex; align-items: center; min-height: 38px; color: var(--campaign-cream); font-size: .63rem; white-space: nowrap; }
.campaign-platform-phone figcaption .campaign-store-link:hover { color: var(--campaign-accent); }
.native-phone { aspect-ratio: 1080 / 1020; }
.native-phone img { position: absolute; width: 111.6667%; left: -5.7407%; top: -150.9804%; }
.native-android { aspect-ratio: 972 / 944; }
.native-android img { position: absolute; width: 111.1111%; left: -5.5556%; top: -72.8814%; }
.campaign-reading-guide { display: flex; gap: 18px; margin-bottom: 16px; color: var(--campaign-subtle); font-size: .69rem; }
.campaign-reading-guide span { flex: 1; padding-top: 9px; border-top: 2px solid var(--campaign-accent-ink); }

/* Reflect on usage, then discover what to read and try next. */
.campaign-explore { padding: 82px 0 86px; }
.campaign-explore-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 56px; align-items: start; }
.campaign-explore-item { min-width: 0; }
.campaign-explore-copy { min-height: 130px; margin-bottom: 25px; }
.campaign-explore-copy h3 { font-size: 1.55rem; font-weight: 600; letter-spacing: -.035em; }
.campaign-explore-copy p { max-width: 480px; margin: 14px 0 0; color: var(--campaign-muted); font-size: .91rem; line-height: 1.85; word-break: keep-all; }
.campaign-explore .campaign-native { max-width: 440px; }
.campaign-explore .campaign-capture-link { overflow: hidden; border: 1px solid var(--campaign-rule); border-radius: 12px; }
.native-history { aspect-ratio: 840 / 665; }
.native-projects { aspect-ratio: 700 / 505; }
.native-news { aspect-ratio: 700 / 440; }
.native-store { aspect-ratio: 840 / 405; }
.native-pins { aspect-ratio: 860 / 470; }
.campaign .campaign-measure { margin: 15px 0 0; padding-top: 13px; border-top: 1px solid var(--campaign-rule); color: var(--campaign-muted); font-size: .68rem; line-height: 1.65; word-break: keep-all; }
.campaign-retrospect + .campaign-groups { padding-top: 82px; }
.campaign-retrospect + .campaign-groups > .campaign-wrap { padding-top: 0; border-top: 0; }
.campaign-pins { padding: 82px 0; color: var(--campaign-ink); background: var(--campaign-cream); }
.campaign-pins-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); grid-template-areas: "copy pins" "film pins"; gap: 32px 72px; align-items: center; }
.campaign-pins-copy { grid-area: copy; }
.campaign-pins .campaign-index { color: var(--campaign-subtle); }
.campaign-pins-copy > p:not(.campaign-index):not(.campaign-measure) { max-width: 465px; margin: 24px 0 0; color: var(--campaign-subtle); font-size: .93rem; line-height: 1.85; word-break: keep-all; }
.campaign-pins .campaign-measure { color: var(--campaign-subtle); border-color: var(--campaign-dark-rule); }
.campaign-pins > .campaign-wrap > .campaign-native { grid-area: pins; }
.campaign-pins .campaign-native figcaption { color: var(--campaign-subtle); }
.campaign-pins .campaign-capture-link { overflow: hidden; border: 1px solid var(--campaign-dark-rule); border-radius: 12px; }
.campaign-pins-brand { grid-area: film; max-width: 430px; }

/* A useful reason for each moment in an AI working day. */
.campaign-proof, .campaign-limits, .campaign-setup, .campaign-install, .campaign-faq, .campaign-issues { color: var(--campaign-ink); background: var(--campaign-cream); }
.campaign-proof { padding: 0 0 86px; }
.campaign-proof > .campaign-wrap { padding-top: 72px; border-top: 1px solid var(--campaign-dark-rule); }
.campaign-section-heading { margin-bottom: 45px; }
.campaign-proof .campaign-index, .campaign-limits .campaign-index, .campaign-setup .campaign-index, .campaign-install .campaign-index, .campaign-faq .campaign-index, .campaign-issues .campaign-index { color: var(--campaign-subtle); }
.campaign-proof-grid { display: grid; grid-template-columns: minmax(0,1.12fr) minmax(0,1fr); gap: 72px; align-items: center; }
.campaign-brand-scene { min-width: 0; margin: 0; }
.campaign-film { position: relative; width: 100%; margin: 0; aspect-ratio: 16/9; overflow: hidden; background: #27221d; }
.campaign-film :is(video,img) { display: block; width: 100%; height: 100%; object-fit: cover; }
.campaign-film-control { position: absolute; bottom: 12px; right: 12px; display: grid; width: 42px; height: 42px; padding: 0; place-items: center; color: var(--campaign-cream); background: #10100d88; border: 1px solid #f5efe566; border-radius: 50%; cursor: pointer; }
.campaign-film-control::before { content: 'Ⅱ'; font: 500 1rem/1 var(--mono); }
.campaign-film-control[aria-pressed='true']::before { content: '▷'; font-size: 1.2rem; }
.campaign-film-control[data-ended='true']::before { content: '↻'; }
.campaign-film-control:hover { background: var(--campaign-ink); }
.campaign-brand-scene figcaption { margin-top: 13px; color: var(--campaign-subtle); font-size: .63rem; line-height: 1.6; }
.campaign-reasons { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--campaign-dark-rule); }
.campaign-reasons li { display: grid; grid-template-columns: 28px minmax(0,1fr); gap: 20px; padding: 24px 0; border-bottom: 1px solid var(--campaign-dark-rule); }
.campaign-reasons li > span { padding-top: 4px; color: var(--campaign-accent-ink); font: 500 .67rem/1.5 var(--mono); }
.campaign-reasons h3 { font-size: 1.18rem; font-weight: 650; letter-spacing: -.03em; }
.campaign-reasons p { margin: 9px 0 0; color: var(--campaign-subtle); font-size: .91rem; line-height: 1.75; word-break: keep-all; }

/* Read the provider's actual detail, with its context beside the image. */
.campaign-limits { padding: 86px 0 76px; }
.campaign-limits-grid { display: grid; grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr); grid-template-areas: "intro proof" "details proof"; gap: 0 72px; align-items: start; padding-top: 0; }
.campaign-limits-copy { grid-area: intro; }
.campaign-limits-details { grid-area: details; }
.campaign-limits-grid > figure { grid-area: proof; align-self: center; }
.campaign-limits-copy > p:not(.campaign-index) { margin: 25px 0 0; color: var(--campaign-subtle); font-size: .97rem; line-height: 1.85; word-break: keep-all; }
.campaign-native-provider { width: 100%; max-width: 440px; margin-left: auto; }
.campaign-native-provider .campaign-capture-link { overflow: hidden; border: 1px solid var(--campaign-dark-rule); border-radius: 12px; box-shadow: 0 18px 40px #382d1510; }
.campaign-limits .campaign-native figcaption { color: var(--campaign-subtle); }
.campaign-feature-notes { display: grid; gap: 21px; margin: 28px 0 0; }
.campaign-feature-notes div { padding-left: 16px; border-left: 2px solid var(--campaign-accent-ink); }
.campaign-feature-notes dt { margin-bottom: 6px; font-size: .88rem; font-weight: 650; }
.campaign-feature-notes dd { margin: 0; color: var(--campaign-subtle); font-size: .8rem; line-height: 1.65; }
.campaign .campaign-small-note { margin-top: 22px; color: var(--campaign-muted); font-size: .71rem; line-height: 1.7; }
.campaign-limits .campaign-small-note { color: var(--campaign-subtle); font-size: .71rem !important; }

/* Separate personal device use from team usage sharing. */
.campaign-groups { padding: 0 0 86px; color: var(--campaign-ink); background: var(--campaign-cream); }
.campaign-groups > .campaign-wrap { padding-top: 64px; border-top: 1px solid var(--campaign-dark-rule); }
.campaign-groups .campaign-index { color: var(--campaign-subtle); }
.campaign-groups-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 44px; }
.campaign-group-copy { margin-bottom: 24px; min-height: 140px; }
.campaign-native-group { max-width: 420px; }
.native-hub-cards { aspect-ratio: 700 / 585; }
.native-team-members { aspect-ratio: 700 / 660; }
.campaign-group-eyebrow { margin: 0 0 10px; color: var(--campaign-accent-ink); font-size: .75rem; }
.campaign-group h3 { font-size: 1.85rem; letter-spacing: -.035em; font-weight: 650; }
.campaign-group-copy > p:last-child { max-width: 460px; margin: 16px 0 0; color: var(--campaign-subtle); font-size: .91rem; line-height: 1.8; word-break: keep-all; }
.campaign-group .campaign-capture-link { overflow: hidden; border: 1px solid var(--campaign-dark-rule); border-radius: 12px; }
.campaign-group .campaign-native figcaption { color: var(--campaign-subtle); }

/* Account sync is the bridge to the real mobile and watch screens. */
.campaign-connected { padding: 82px 0 72px; }
.campaign-connected-grid { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: 88px; align-items: center; }
.campaign-connected-copy > p:not(.campaign-index):not(.campaign-small-note) { max-width: 470px; margin: 26px 0 0; color: var(--campaign-muted); font-size: .94rem; line-height: 1.85; word-break: keep-all; }
.campaign-connected .campaign-text-link { color: var(--campaign-accent); }
.campaign-connected-copy .campaign-connected-readout { padding-top: 22px; border-top: 1px solid var(--campaign-rule); color: var(--campaign-cream) !important; font-size: 1.1rem !important; }
.campaign-connected-shots { display: block; min-width: 0; max-width: 580px; }
.campaign-connected-shots .campaign-phone-pair { gap: 24px; }
.campaign-connected-shots figcaption { font-size: .61rem; }
.campaign-connected-shots figcaption .campaign-store-link { font-size: .76rem; }
.campaign-connected-shots .campaign-platform-name { font-size: 1rem; }
.campaign-wrist .campaign-native figcaption { flex-direction: column; gap: 5px; }
.campaign-native-watch { width: 150px; flex-shrink: 0; }
.campaign-native-watch .campaign-capture-link { border-radius: 16px; overflow: hidden; }
.campaign-native-watch figcaption { font-size: .55rem; }
.campaign-sync-source { display: flex; align-items: center; gap: 15px; width: max-content; max-width: 100%; margin: 0 auto; }
.campaign-sync-source strong { display: block; font-size: .93rem; font-weight: 600; }
.campaign-sync-source > div > span { display: block; color: var(--campaign-muted); font-size: .65rem; margin-top: 5px; }
.campaign-sync-cat { width: 36px; height: 42px; background: var(--campaign-accent); mask: url('/assets/agentcat-mark.svg') center/contain no-repeat; }
.campaign-scene-replay { display: grid; place-items: center; width: 36px; height: 36px; margin-left: 14px; padding: 0; color: var(--campaign-muted); border: 1px solid var(--campaign-rule); background: transparent; border-radius: 50%; font-size: 22px; cursor: pointer; }
.campaign-scene-replay:hover { color: var(--campaign-accent); border-color: var(--campaign-accent); }
.campaign-scene-replay[hidden] { display: none; }
.campaign-sync-branch { position: relative; height: 68px; margin-inline: 25%; }
.campaign-sync-trunk { position: absolute; top: 10px; left: 50%; width: 1px; height: 28px; background: var(--campaign-rule); }
.campaign-sync-fork { position: absolute; left: 0; right: 0; top: 37px; height: 20px; border: 1px solid var(--campaign-rule); border-bottom: 0; border-radius: 12px 12px 0 0; }
.campaign-sync-packet { position: absolute; width: 5px; height: 5px; left: calc(50% - 2px); top: 10px; border-radius: 50%; background: var(--campaign-accent); opacity: 0; pointer-events: none; }
.campaign-wrist { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 26px; margin-top: 28px; padding-top: 28px; border-top: 1px solid var(--campaign-rule); }
.campaign-wrist > div { max-width: 310px; }
.campaign-wrist .campaign-device-label { font-size: 1.08rem; }
.campaign-wrist .campaign-small-note { color: var(--campaign-muted); font-size: .61rem; }
.campaign-wrist-path { position: absolute; top: 0; left: 0; width: 100%; height: 1px; }
.campaign-wrist-path i { display: block; width: 100%; height: 100%; background: var(--campaign-accent); transform-origin: left; }
.campaign-setup { padding: 0 0 65px; }
.campaign-setup > .campaign-wrap { padding-top: 44px; border-top: 1px solid var(--campaign-dark-rule); }
.campaign-setup-start { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 9px 25px; margin-top: 22px; padding-block: 9px; font-size: .82rem; font-weight: 650; color: var(--campaign-ink); }
.campaign-setup-start span { color: var(--campaign-accent-ink); }
.campaign-setup h2 { font-size: clamp(1.8rem,3vw,2.5rem); }
.campaign-setup-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 45px; margin: 40px 0 0; padding: 0; list-style: none; }
.campaign-setup-steps li { padding-top: 21px; border-top: 1px solid var(--campaign-dark-rule); }
.campaign-setup-steps span { color: var(--campaign-accent-ink); font: 500 .7rem/1.5 var(--mono); }
.campaign-setup-steps h3 { margin-top: 19px; font-size: 1.16rem; font-weight: 650; letter-spacing: -.03em; }
.campaign-setup-steps p { margin: 10px 0 0; color: var(--campaign-subtle); font-size: .86rem; line-height: 1.75; word-break: keep-all; }
.campaign-trust { display: grid; grid-template-columns: 28px minmax(0,1fr) auto; align-items: center; gap: 24px; margin-top: 52px; padding-top: 26px; border-top: 1px solid var(--campaign-dark-rule); }
.campaign-trust-mark { height: 28px; background: var(--campaign-accent-ink); mask: url('/assets/agentcat-mark.svg') center/contain no-repeat; }
.campaign-trust p { max-width: 740px; margin: 0; color: var(--campaign-subtle); font-size: .76rem; line-height: 1.75; word-break: keep-all; }
.campaign-trust a { color: var(--campaign-accent-ink); font-size: .74rem; white-space: nowrap; }
.campaign-discover { padding: 66px 0 78px; }
.campaign-discover-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 80px; align-items: center; padding-top: 42px; border-top: 1px solid var(--campaign-rule); }
.campaign-discover-lede { max-width: 480px; margin: 0; color: var(--campaign-muted); font-size: .96rem; line-height: 1.85; word-break: keep-all; }
.campaign-discover .campaign-text-link { color: var(--campaign-accent); }
.campaign-faq { padding-top: 40px; }
.campaign-faq-grid { border-top: 0; }
.campaign-install { border-top: 1px solid var(--campaign-dark-rule); }
/* Full-size authentic front and back photos. No crop, filter or garment edits. */
.campaign-identity { padding: 104px 0 82px; }
.campaign-identity-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 80px; align-items: end; margin-bottom: 50px; }
.campaign-identity-head > p { max-width: 520px; margin: 0 0 5px; color: var(--campaign-muted); font-size: .96rem; line-height: 1.85; word-break: keep-all; }
.campaign-merch { margin: 0; }
.campaign-merch-photos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; align-items: start; }
.campaign-merch-photos figure { min-width: 0; margin: 0; }
.campaign-merch-photos img { display: block; width: 100%; height: auto; background: var(--campaign-meter); }
.campaign-merch-photos figcaption { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 6px 16px; margin-top: 14px; color: var(--campaign-muted); font-size: .72rem; line-height: 1.5; }
.campaign-merch-photos figcaption > span { font: 400 .58rem/1.6 var(--mono); letter-spacing: .1em; }
.campaign-merch-copy { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-top: 39px; padding-top: 27px; border-top: 1px solid var(--campaign-rule); }
.campaign-merch-copy p:not(.campaign-merch-support) { margin: 0 0 12px; color: var(--campaign-muted); font: 400 .58rem/1.5 var(--mono); letter-spacing: .09em; }
.campaign-merch-copy h3 { color: var(--campaign-cream); font-size: clamp(1.5rem, 2.7vw, 2.35rem); font-weight: 550; letter-spacing: -.035em; line-height: 1.3; }
.campaign-merch-copy a { display: inline-flex; align-items: center; justify-content: space-between; gap: 42px; min-height: 50px; padding: 0 20px; color: var(--campaign-ink); background: var(--campaign-accent); font-size: .87rem; font-weight: 650; white-space: nowrap; }
.campaign-merch-copy a:hover { background: var(--campaign-cream); }

/* Download decisions and compact answers share a calm paper surface. */
.campaign-install { padding: 94px 0 76px; }
.campaign-install-grid, .campaign-faq-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(60px, 8vw, 128px); align-items: start; }
.campaign-install h2 { font-size: clamp(2rem, 3.25vw, 3rem); }
.campaign-downloads { border-top: 1px solid var(--campaign-dark-rule); }
.campaign-downloads a:not(.campaign-install-mobile) { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px 20px; padding: 25px 0; color: var(--campaign-ink); border-bottom: 1px solid var(--campaign-dark-rule); }
.campaign-downloads a:not(.campaign-install-mobile) > span { align-self: center; color: var(--campaign-subtle); font: 400 .75rem/1.4 var(--mono); }
.campaign-downloads strong { font-size: clamp(1rem, 1.8vw, 1.45rem); font-weight: 600; letter-spacing: -.035em; white-space: nowrap; }
.campaign-downloads b { display: inline-block; margin-left: 8px; color: var(--campaign-accent-ink); font-weight: 400; transition: transform 160ms ease; }
.campaign-downloads a:not(.campaign-install-mobile):hover b { transform: translateX(5px); }
.campaign-downloads small { grid-column: 1/-1; color: var(--campaign-subtle); font: 400 .65rem/1.5 var(--mono); }
.campaign-install-mobile { margin-top: 18px; font-size: .76rem; border-color: var(--campaign-dark-rule); }
.campaign-faq { padding: 0 0 86px; }
.campaign-faq-grid { padding-top: 57px; border-top: 1px solid var(--campaign-dark-rule); }
.campaign-faq h2 { font-size: clamp(1.8rem, 2.5vw, 2.3rem); }
.campaign-faq details { border-bottom: 1px solid var(--campaign-dark-rule); }
.campaign-faq details:first-child { margin-top: -16px; }
.campaign-faq summary { position: relative; display: block; padding: 21px 30px 21px 0; color: var(--campaign-ink); font-size: .99rem; font-weight: 550; line-height: 1.55; list-style: none; cursor: pointer; }
.campaign-faq summary::-webkit-details-marker { display: none; }
.campaign-faq summary::after { position: absolute; right: 0; top: 20px; content: "+"; color: var(--campaign-accent-ink); font-size: 1.3rem; font-weight: 400; }
.campaign-faq details[open] summary::after { content: "−"; }
.campaign-faq details p { max-width: 530px; margin: 0 25px 22px 0; color: var(--campaign-subtle); font-size: .88rem; line-height: 1.75; word-break: keep-all; }

/* An actual public notebook, with readable issue titles and quiet metadata. */
.campaign-issues { padding: 94px 0; }
.campaign-issues-grid { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); gap: 0 clamp(60px, 8vw, 128px); align-items: start; }
.campaign-issues h2 + p { max-width: 400px; margin: 25px 0 0; color: var(--campaign-subtle); font-size: .93rem; line-height: 1.85; word-break: keep-all; }
.campaign-issues-list { min-width: 0; border-top: 1px solid var(--campaign-dark-rule); }
.campaign-issue-list { margin: 0; padding: 0; list-style: none; }
.campaign-issue-list li { position: relative; display: grid; gap: 11px; padding: 21px 28px 21px 0; border-bottom: 1px solid var(--campaign-dark-rule); }
.campaign-issue-title { color: var(--campaign-ink); font-size: 1rem; font-weight: 550; letter-spacing: -.015em; line-height: 1.55; overflow-wrap: anywhere; }
.campaign-issue-title::after { position: absolute; right: 0; top: 24px; content: "↗"; color: var(--campaign-subtle); font-size: 14px; font-weight: 400; }
.campaign-issue-title:hover { color: var(--campaign-accent-ink); }
.campaign-issue-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; color: var(--campaign-subtle); font-size: .65rem; font-weight: 400; line-height: 1.5; }
.campaign-issue-meta > span:not(.campaign-issue-labels) { color: var(--campaign-subtle); }
.campaign-issue-meta > span:not(.campaign-issue-labels)::before { content: ""; display: inline-block; width: 5px; height: 5px; margin: 0 5px 1px 0; border: 1px solid currentColor; border-radius: 50%; }
.campaign-issue-labels { display: inline-flex; flex-wrap: wrap; gap: 5px; }
.campaign-issue-labels span { padding: 1px 5px; border: 1px solid var(--campaign-dark-rule); }
.campaign-issues-link { grid-column: 2; justify-self: start; margin-top: 21px; border-color: var(--campaign-dark-rule); }
.campaign-issues-notice { margin: 0; padding: 23px 0; color: var(--campaign-subtle); font-size: .87rem; line-height: 1.7; }
.campaign-issues-fallback { color: var(--campaign-ink); text-decoration: underline !important; text-underline-offset: 4px; }

/* The masthead's palette returns at the end, independent of system/storage theme. */
.campaign + footer { --ink: var(--campaign-cream); --ink-2: var(--campaign-muted); --ink-3: var(--campaign-muted); --line: var(--campaign-rule); --accent: var(--campaign-accent); color: var(--campaign-cream); background: var(--campaign-ink); border-top: 1px solid var(--campaign-rule); }
footer .footer-grid { grid-template-columns: minmax(0, 1.5fr) repeat(4, minmax(0, 1fr)); gap: 32px; padding: 60px 0 44px; }
footer .footer-brand { font-size: 19px; }
footer .footer-brand em { display: block; margin: 5px 0 0; font-size: 10px; }
footer .footer-brand-col p { max-width: 200px; font-size: 12px; line-height: 1.75; }
footer .footer-col { gap: 12px; }
footer .footer-col h4 { margin-bottom: 8px; font-size: 11px; }
footer .footer-col a { font-size: 11.5px; line-height: 1.45; white-space: nowrap; }
footer .footer-bottom, footer .footer-business-info { font-size: 10px; }
footer .footer-business-info { margin-top: 2px; padding-top: 15px; }
footer .footer-biz-heading { font-size: 10px; }


html:is([lang="ja"],[lang="zh"]) .campaign :is(h1,h2,h3,p,dd) { word-break: normal; overflow-wrap: anywhere; line-break: strict; }
@media (max-width: 1100px) {
 .campaign-wrap,.nav .wrap,footer .wrap { width: calc(100% - 72px); }
 .nav .nav-inner { gap: 17px; } .nav .nav-links { gap: 19px; }
 .campaign-hero-grid,.campaign-proof-grid,.campaign-limits-grid,.campaign-connected-grid { gap: 40px; }
 .campaign h1 { font-size: clamp(2.5rem,4.7vw,3.5rem); }
 .campaign-lede { font-size: .88rem; }
 .campaign-connected-shots { gap: 15px; }
 footer .footer-grid { grid-template-columns: minmax(0,1.2fr) repeat(3,minmax(0,1fr)); gap: 30px; }
 footer .footer-brand-col { grid-column: 1/-1; } footer .footer-brand-col p { max-width: 400px; }
}
@media (max-width: 940px) {
 .campaign-top-merch { display: flex; justify-content: space-between; align-items: center; min-height: 36px; padding: 7px 36px; color: var(--campaign-accent); border-top: 1px solid var(--campaign-rule); font-size: 11px; line-height: 1.5; }
 .campaign-top-merch > span:last-child { color: var(--campaign-muted); font-size: 10px; }
 .campaign section { scroll-margin-top: 126px; }
 .campaign-native-crop.native-mobile-status { display: block; aspect-ratio: 1160 / 365; }
 .native-popover-main { aspect-ratio: 526 / 246; margin: 15px; border-radius: 10px; }
 .native-popover-main img { position: absolute; width: 220.5323%; left: -9.1255%; top: -340.6504%; }
 .campaign-native-popover .campaign-capture-link { background: #f5f0e7; }
 .campaign-hero-grid { grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr); gap: 30px; }
 .campaign h1 { font-size: clamp(2rem,4.5vw,2.6rem); }
 .campaign-intro { max-width: 640px; padding-block: 0; }
 .campaign-hero-devices { grid-template-columns: minmax(0,1fr); width: 100%; max-width: 420px; margin-inline: auto; gap: 25px; }
 .campaign-hero-phone { display: block; padding: 19px 0 0; border-top: 1px solid var(--campaign-rule); }
 .campaign-hero-phone .campaign-phone-copy { display: flex; justify-content: space-between; gap: 20px; align-items: baseline; margin-bottom: 18px; }
 .campaign-hero-phone .campaign-device-label { margin: 0; font-size: .72rem; }
 .campaign-hero-phone .campaign-device-note { max-width: 200px; font-size: .65rem; }
 .campaign-hero-phone .campaign-signal { display: none; }
 .campaign-hero-phone .campaign-phone-pair { max-width: 360px; margin-inline: auto; gap: 20px; }
 .campaign-phone-copy { margin: 0; }
 .campaign-hero-phone .campaign-native figcaption { font-size: .55rem; }
 .campaign-connected-grid { gap: 40px; }
 .campaign-explore-grid { gap: 32px; }
 .campaign-explore-copy { min-height: 170px; }
 .campaign-pins-grid { gap: 28px 38px; }

 .nav .nav-links { background: var(--campaign-ink); border-color: var(--campaign-rule); padding-inline: 36px; }
 .nav .nav-links a { border-color: var(--campaign-rule); padding-block: 16px; }
 .nav .nav-inner { min-height: 66px; } .nav .brand { margin-right: auto; }
 .nav .nav-toggle { order: 4; margin-left: 0; } .nav .lang-switch { order: 2; } .nav .nav-cta { order: 3; }
 .campaign h2 { font-size: 2.05rem; } .campaign-hero { padding-top: 36px; }
 .campaign-native figcaption { flex-direction: column; gap: 4px; }
 .campaign-reasons li { gap: 12px; padding-block: 19px; }
 .campaign-reasons h3 { font-size: 1rem; } .campaign-reasons p { font-size: .81rem; }
 .campaign-limits-grid { grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); }
 .campaign-setup-steps { gap: 28px; } .campaign-trust { grid-template-columns: 24px minmax(0,1fr); gap: 18px; }
 .campaign-trust a { grid-column: 2; }
 .campaign-install-grid,.campaign-faq-grid,.campaign-identity-head,.campaign-discover-grid { gap: 44px; }
 .campaign-downloads a:not(.campaign-install-mobile) { grid-template-columns: minmax(0,1fr); }
 .campaign-downloads strong { font-size: 1.25rem; }
 .campaign-issues-grid { column-gap: 40px; }
}
@media (max-width: 680px) {
 .campaign-wrap,.nav .wrap,footer .wrap { width: calc(100% - 40px); }
 .nav .nav-inner { min-height: 62px; gap: 13px; } .nav .brand { gap: 7px; font-size: 15px; }
 .nav .brand > span:last-child { display: inline; } .nav .brand-mark { width: 23px; height: 26px; }
 .nav .brand-mark .sprite-cat-mark { width: 23px; height: 23px; }
 .nav .lang-switch a { min-width: 23px; padding-inline: 3px; font-size: 9px; }
 .nav .nav-toggle { width: 36px; height: 36px; padding: 9px 8px; gap: 4px; } .nav .nav-cta { display: none; }
 .nav .nav-links { padding-inline: 20px; } .campaign section { scroll-margin-top: 118px; }
 .campaign-top-merch { padding-inline: 20px; }
 .campaign-hero { padding: 18px 0 28px; } .campaign-hero-grid { display: flex; flex-direction: column; gap: 16px; }
 .campaign-intro { width: 100%; padding: 0; } .campaign-kicker { margin-bottom: 8px; font-size: .58rem; }
 .campaign h1 { font-size: clamp(2rem,10.4vw,3.8rem); font-weight: 650; letter-spacing: -.052em; line-height: 1.16; text-wrap: initial; }
 html[lang="en"] .campaign h1 { font-size: clamp(2rem,10.3vw,3.7rem); }
 .campaign-lede { margin: 12px 0; font-size: .83rem; line-height: 1.75; }
 .campaign-cta { min-height: 50px; padding-inline: 18px; gap: 36px; font-size: .82rem; }
 .campaign-platforms { margin-top: 12px; font-size: .63rem; }
 .campaign-hero-phone .campaign-device-label { font-size: .73rem; }
 .campaign-hero-phone .campaign-device-note { font-size: .66rem; }
 .campaign-hero-phone .campaign-platform-name { font-size: .86rem; }
 .campaign-platform-phone figcaption .campaign-store-link { min-height: 40px; font-size: .72rem; }
 .campaign-reading-guide { gap: 12px; font-size: .65rem; }
 .campaign-setup { padding-top: 0; }
 .campaign-setup > .campaign-wrap { padding-top: 36px; }
 .campaign-action-row { display: flex; align-items: center; gap: 18px; }
 .campaign-action-row .campaign-free { margin: 0; max-width: 133px; font-size: .73rem; line-height: 1.6; word-break: keep-all; text-wrap: balance; }
 .campaign-action-row .campaign-cta { flex: 0 0 auto; }
 .campaign-hero .campaign-platforms { margin-top: 6px; }
 .campaign-hero .native-mobile-status { aspect-ratio: 1160 / 225; }
 .campaign-hero .native-mobile-status img { position: absolute; top: -62.2222%; }
 .campaign-hero-devices { gap: 14px; }
 .campaign-hero-devices .campaign-native figcaption { margin-top: 8px; }
 .campaign-hero-phone { padding-top: 12px; }
 .campaign-hero-phone .campaign-phone-copy { margin-bottom: 10px; }
 .campaign-hero-phone .campaign-device-note { display: none; }
 .campaign-hero-detail { margin-top: 12px; font-size: .73rem; }
 .campaign-native-popover { width: 100%; max-width: 420px; margin-inline: auto; }
 .campaign-native-popover .campaign-capture-link { border-radius: 12px; }
 .campaign-hero-devices { grid-template-columns: minmax(0,1fr); gap: 25px; max-width: 420px; }
 .campaign-hero-devices .campaign-native figcaption { flex-direction: row; }
 .campaign-hero-phone { width: 100%; }
 .campaign-device-label { margin-bottom: 12px; font-size: .59rem; }
 .campaign-device-note { display: block; font-size: .76rem; line-height: 1.75; }
 .campaign-hero-phone .campaign-native figcaption { flex-direction: column; }
 .campaign-explore { padding-block: 56px; }
 .campaign-explore-grid { grid-template-columns: minmax(0,1fr); gap: 42px; }
 .campaign-explore-copy { min-height: 0; margin-bottom: 22px; }
 .campaign-explore-copy h3 { font-size: 1.4rem; }
 .campaign-explore-copy p { font-size: .86rem; margin-top: 13px; line-height: 1.8; }
 .campaign .campaign-measure { font-size: .66rem; }
 .campaign-retrospect + .campaign-groups { padding-top: 55px; }
 .campaign-pins { padding-block: 56px; }
 .campaign-pins-grid { grid-template-columns: minmax(0,1fr); grid-template-areas: "copy" "pins" "film"; gap: 30px; }
 .campaign-pins-copy > p:not(.campaign-index):not(.campaign-measure) { font-size: .88rem; line-height: 1.8; }
 .campaign-pins-brand { width: 100%; margin-top: 10px; }
 .campaign-native figcaption { flex-direction: row; flex-wrap: wrap; gap: 5px 12px; font-size: .59rem; }
 .campaign-capture-zoom { opacity: 1; }
 .campaign-proof,.campaign-limits,.campaign-connected,.campaign-identity,.campaign-issues { padding-block: 60px; }
 .campaign-section-heading { margin-bottom: 28px; }
 .campaign-index { margin-bottom: 20px; font-size: .57rem; letter-spacing: .08em; }
 .campaign h2,.campaign-install h2 { font-size: clamp(1.82rem,8.4vw,2.7rem); font-weight: 630; letter-spacing: -.043em; line-height: 1.25; }
 .campaign-proof-grid,.campaign-limits-grid,.campaign-connected-grid,.campaign-identity-head,.campaign-install-grid,.campaign-faq-grid,.campaign-discover-grid,.campaign-issues-grid { grid-template-columns: minmax(0,1fr); gap: 30px; }
 .campaign-proof-grid { display: flex; flex-direction: column-reverse; align-items: stretch; }
 .campaign-reasons li { padding-block: 20px; gap: 15px; } .campaign-reasons h3 { font-size: 1.05rem; }
 .campaign-reasons p { font-size: .86rem; } .campaign-brand-scene figcaption { font-size: .59rem; }
 .campaign-limits { padding-block: 55px; } .campaign-limits-grid { grid-template-areas: "intro" "proof" "details"; padding-top: 0; }
 .campaign-groups { padding-bottom: 55px; } .campaign-groups > .campaign-wrap { padding-top: 50px; }
 .campaign-groups-grid { grid-template-columns: minmax(0,1fr); gap: 40px; } .campaign-group-copy { min-height: 0; } .campaign-group h3 { font-size: 1.6rem; } .campaign-group-copy > p:last-child { font-size: .86rem; }
 .campaign-proof { padding-top: 0; } .campaign-proof > .campaign-wrap { padding-top: 50px; }
 .campaign-limits-copy > p:not(.campaign-index) { font-size: .89rem; margin-top: 23px; }
 .campaign-feature-notes { margin-top: 24px; gap: 19px; } .campaign-feature-notes dd { font-size: .8rem; }
 .campaign .campaign-small-note { font-size: .7rem; }
 .campaign-connected-copy > p:not(.campaign-index):not(.campaign-small-note) { font-size: .89rem; line-height: 1.8; }
 .campaign-connected .campaign-text-link { margin-top: 22px; font-size: .84rem; }
 .campaign-connected-shots { width: 100%; max-width: 420px; margin-inline: auto; }
 .campaign-connected-shots .campaign-phone-pair { gap: 18px; }
 .campaign-wrist { gap: 20px; }
 .campaign-native-watch { width: 125px; }
 .campaign-sync-branch { height: 62px; }
 .campaign-connected-shots figcaption { font-size: .65rem; }
 .campaign-setup h2 { font-size: 1.76rem; } .campaign-setup-steps { grid-template-columns: 1fr; gap: 24px; margin-top: 31px; }
 .campaign-setup-steps li { display: grid; grid-template-columns: 30px minmax(0,1fr); gap: 8px 17px; padding-top: 20px; }
 .campaign-setup-steps span { padding-top: 3px; } .campaign-setup-steps h3 { margin: 0; font-size: 1.05rem; }
 .campaign-setup-steps p { grid-column: 2; margin: 0; font-size: .84rem; }
 .campaign-trust { margin-top: 34px; padding-top: 23px; } .campaign-trust p { font-size: .72rem; }
 .campaign-identity-head { gap: 22px; margin-bottom: 30px; } .campaign-identity-head > p { margin: 0; font-size: .86rem; }
 .campaign-merch-photos { grid-template-columns: 1fr; gap: 30px; } .campaign-merch-photos figcaption { font-size: .68rem; }
 .campaign-merch-copy { flex-direction: column; align-items: start; gap: 22px; margin-top: 28px; padding-top: 23px; }
 .campaign-merch-copy h3 { font-size: 1.6rem; text-wrap: initial; } .campaign-merch-copy p:not(.campaign-merch-support) { font-size: .52rem; }
 .campaign-merch-copy a { min-height: 48px; font-size: .83rem; }
 .campaign-discover { padding: 0 0 59px; } .campaign-discover-grid { padding-top: 40px; gap: 23px; }
 .campaign-discover-lede { font-size: .88rem; } .campaign-discover .campaign-text-link { margin-top: 20px; font-size: .83rem; }
 .campaign-issues-grid { row-gap: 28px; } .campaign-issues h2 + p { margin-top: 20px; font-size: .88rem; }
 .campaign-issue-title { font-size: .93rem; line-height: 1.6; } .campaign-issue-meta { font-size: .61rem; gap: 5px 9px; }
 .campaign-issue-list li { padding-block: 19px; } .campaign-issues-link { grid-column: auto; margin-top: -8px; font-size: .8rem; }
 .campaign-faq { padding: 0 0 52px; } .campaign-faq-grid { padding-top: 15px; gap: 28px; }
 .campaign-faq h2 { font-size: 1.75rem; } .campaign-faq summary { font-size: .89rem; } .campaign-faq details p { font-size: .84rem; }
 .campaign-install { padding: 58px 0; } .campaign-downloads a:not(.campaign-install-mobile) { grid-template-columns: minmax(0,1fr) auto; padding-block: 22px; }
 .campaign-downloads strong { font-size: 1.06rem; } .campaign-downloads a:not(.campaign-install-mobile) > span { font-size: .7rem; }
 .campaign-downloads small { font-size: .6rem; }
 footer .footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 34px 20px; padding: 42px 0 32px; }
 footer .footer-col a { font-size: 10.5px; } footer .footer-brand-col p { max-width: 300px; } footer .footer-col h4 { font-size: 10px; }
 footer .footer-bottom { padding-bottom: 25px; } footer .footer-business-info { gap: 5px 12px; }
}
@media (max-width: 360px) {
 .campaign-action-row { display: block; }
 .campaign-action-row .campaign-free { max-width: none; margin-top: 8px; text-wrap: initial; }
 .campaign-wrap,.nav .wrap,footer .wrap { width: calc(100% - 32px); }
 .nav .nav-inner { gap: 8px; } .nav .brand { font-size: 14px; gap: 5px; } .nav .lang-switch a { min-width: 21px; font-size: 8.5px; }
 .campaign-kicker { font-size: .51rem; } .campaign-lede { font-size: .81rem; }
 .campaign-native figcaption { font-size: .55rem; } .campaign-downloads strong { font-size: .93rem; }
 .campaign-merch-copy h3 { font-size: 1.4rem; } footer .footer-grid { column-gap: 12px; } footer .footer-col a { font-size: 9.2px; }
}
@media (prefers-reduced-motion: reduce) {
 html { scroll-behavior: auto; }
 .campaign *,.campaign *::before,.campaign *::after { animation: none !important; transition: none !important; }
}

.campaign-install-stores { display: flex; flex-wrap: wrap; gap: 10px 24px; margin-top: 23px; }
.campaign-downloads .campaign-install-stores a { display: inline-flex; padding: 10px 0; font-size: .76rem; border: 0; }

/* Public Discover feed: native-inspired paper, readable source and date. */
.campaign-discovery { padding: 82px 0; }
.campaign-discovery .visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.discover-intro { max-width: 630px; margin: 24px 0 0; color: var(--campaign-muted); font-size: .94rem; line-height: 1.8; word-break: keep-all; }
.discover-browser { border-top: 1px solid var(--campaign-rule); }
.discover-tabs { display: flex; gap: 32px; margin-bottom: 28px; }
.discover-tabs button { padding: 23px 0 18px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--campaign-muted); font: inherit; font-size: 1.18rem; font-weight: 600; cursor: pointer; }
.discover-tabs button[aria-selected="true"] { color: var(--campaign-cream); border-bottom-color: var(--campaign-accent); }
.discover-controls { display: grid; grid-template-columns: minmax(0,1fr) minmax(170px,.5fr) 170px; gap: 16px; }
.discover-controls label { display: grid; gap: 8px; min-width: 0; color: var(--campaign-muted); font-size: .72rem; }
.discover-controls input,.discover-controls select { box-sizing: border-box; width: 100%; min-width: 0; height: 46px; padding: 0 13px; border: 1px solid var(--campaign-rule); border-radius: 4px; background: #1c1c17; color: var(--campaign-cream); font: inherit; font-size: .85rem; }
.discover-controls input::placeholder { color: #a5a299; }
.discover-controls select:disabled { opacity: .6; }
.discover-meta { display: flex; justify-content: space-between; gap: 20px; min-height: 20px; margin: 18px 0 23px; color: var(--campaign-muted); font-size: .65rem; line-height: 1.6; }
.discover-results { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; gap: 22px; }
.discover-card { display: flex; flex-direction: column; min-width: 0; padding: 27px; border: 1px solid #d9d2c6; border-radius: 12px; color: var(--campaign-ink); background: var(--campaign-cream); }
.discover-card-meta { display: flex; justify-content: space-between; align-items: start; gap: 16px; margin-bottom: 23px; color: #706b60; font-size: .68rem; line-height: 1.55; }
.discover-card-source { font-weight: 650; }
.discover-card-meta time { flex-shrink: 0; }
.campaign .discover-card h3 { font-size: 1.3rem; line-height: 1.45; font-weight: 650; letter-spacing: -.025em; overflow-wrap: anywhere; }
.discover-card-title { color: inherit; }
.discover-card-title:hover { text-decoration: underline; text-underline-offset: 4px; }
.discover-card-summary { margin: 18px 0 0; color: #615c53; font-size: .84rem; line-height: 1.85; overflow-wrap: anywhere; }
.discover-card-why { margin-top: 22px; padding: 13px 15px; border-radius: 6px; background: #eae4d9; font-size: .74rem; }
.discover-card-why summary { cursor: pointer; color: #514c42; font-weight: 600; }
.discover-card-why summary::after, .discover-card-why[open] summary::after { color: #514c42; }
.discover-card-why p { color: #514c42; margin: 12px 0 2px; line-height: 1.8; overflow-wrap: anywhere; }
.discover-card-footer { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-top: 25px; }
.discover-card-tags { display: flex; flex-wrap: wrap; gap: 5px; min-width: 0; }
.discover-card-tags span { padding: 3px 6px; color: #777064; background: #fffcf6; border-radius: 3px; font-size: .62rem; line-height: 1.6; overflow-wrap: anywhere; }
.discover-card-action { flex-shrink: 0; color: #514c42; font-size: .75rem; font-weight: 600; text-underline-offset: 4px; }
.discover-card-action:hover { text-decoration: underline; }
.discover-card :is(a,summary):focus-visible { outline: 2px solid #a14225; outline-offset: 5px; }
.discover-more,.discover-state-action { display: block; margin: 28px auto 0; padding: 12px 23px; border: 1px solid var(--campaign-rule); border-radius: 0; background: transparent; color: var(--campaign-cream); font: inherit; font-size: .82rem; cursor: pointer; }
.discover-more:hover,.discover-state-action:hover { border-color: var(--campaign-accent); color: var(--campaign-accent); }
.discover-more[hidden] { display: none; }
.discover-state { grid-column: 1/-1; padding: 48px 24px; border: 1px solid var(--campaign-rule); text-align: center; }
.discover-state-title { color: var(--campaign-cream); font-size: 1rem; }
.discover-state-note { max-width: 580px; margin: 12px auto 0; color: var(--campaign-muted); font-size: .83rem; line-height: 1.8; }
.discover-footnote { display: flex; justify-content: space-between; gap: 32px; padding-top: 25px; margin-top: 28px; border-top: 1px solid var(--campaign-rule); color: var(--campaign-muted); font-size: .66rem; line-height: 1.7; }
.discover-footnote p { max-width: 650px; margin: 0; }
.discover-footnote a { flex-shrink: 0; color: inherit; text-underline-offset: 3px; }
html:is([lang="ja"],[lang="zh"]) .discover-intro { word-break: normal; }
@media(max-width:940px) { .discover-controls { grid-template-columns: minmax(0,1fr) 190px 140px; } .discover-card { padding: 22px; } .discover-card-meta { flex-wrap: wrap; gap: 5px; } }
@media(max-width:680px) {
 .campaign-discovery { padding-block: 56px; }
 .discover-intro { margin-top: 20px; font-size: .87rem; }
 .discover-tabs { gap: 27px; margin-bottom: 23px; }
 .discover-tabs button { padding-block: 20px 15px; font-size: 1.08rem; }
 .discover-controls { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 15px; }
 .discover-search { grid-column: 1/-1; }
 .discover-controls input,.discover-controls select { font-size: 16px; }
 .discover-meta { flex-wrap: wrap; gap: 4px 14px; margin-block: 18px; }
 .discover-results { grid-template-columns: minmax(0,1fr); gap: 18px; }
 .discover-card { padding: 21px; }
 .campaign .discover-card h3 { font-size: 1.18rem; }
 .discover-card-summary { font-size: .82rem; line-height: 1.8; }
 .discover-card-meta { flex-wrap: nowrap; margin-bottom: 18px; font-size: .62rem; }
 .discover-card-footer { gap: 12px; flex-wrap: wrap; }
 .discover-footnote { flex-direction: column; gap: 14px; }
}

@media (prefers-reduced-motion: reduce) {
 .campaign-sync-packet { display: none; }
 .campaign-scene-replay { display: none !important; }
}

/* A compact public-data digest; each measure keeps its own time basis. */
.campaign-trends-peek { padding: 0 0 28px; color: var(--campaign-cream); }
.campaign-trends-peek > .campaign-wrap { padding-top: 25px; border-top: 1px solid var(--campaign-rule); }
.peek-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.campaign .peek-heading h2 { font-size: 1.15rem; font-weight: 600; letter-spacing: -.025em; }
.peek-heading > a { color: var(--campaign-accent); font-size: .73rem; white-space: nowrap; }
.peek-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; }
.peek-grid article { min-width: 0; padding-left: 28px; border-left: 1px solid var(--campaign-rule); }
.peek-grid article:first-child { border-left: 0; padding-left: 0; }
.campaign .peek-grid h3 { font-size: .84rem; line-height: 1.45; letter-spacing: -.015em; font-weight: 550; }
.peek-period { margin: 5px 0 0; color: var(--campaign-muted); font-size: .61rem; line-height: 1.6; word-break: keep-all; }
.peek-number { display: flex; align-items: baseline; gap: 8px; margin: 14px 0 10px; }
.peek-number strong,.peek-number a { color: var(--campaign-cream); font-family: var(--display); font-size: clamp(1.5rem,2.4vw,2.2rem); font-weight: 600; line-height: 1.2; letter-spacing: -.025em; overflow-wrap: anywhere; }
.peek-number span { color: var(--campaign-muted); font-size: .65rem; }
.peek-number a { color: var(--campaign-accent); text-underline-offset: 4px; }
.peek-number a:hover { text-decoration: underline; }
.peek-number a.is-message { font-size: 1.05rem; line-height: 1.4; }
.peek-detail { margin: 0; color: var(--campaign-muted); font-size: .69rem; line-height: 1.7; overflow-wrap: anywhere; }
.peek-meta { display: flex; justify-content: space-between; gap: 12px; margin-top: 20px; color: var(--campaign-muted); font: 400 .57rem/1.6 var(--mono); }
.peek-status-row { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px 18px; margin-top: 12px; color: var(--campaign-muted); font-size: .67rem; }
.peek-status-row [role=status] { margin: 0; }
.peek-status-row [role=status]:empty { display: none; }
.peek-status-row button { padding: 4px 0; border: 0; border-bottom: 1px solid var(--campaign-rule); color: var(--campaign-accent); background: transparent; font: inherit; cursor: pointer; }
.peek-status-row details { margin: 0 0 0 auto; padding: 0; border: 0; max-width: 650px; }
.peek-status-row summary { margin: 0; padding: 3px 0; border: 0; color: var(--campaign-muted); font: inherit; line-height: 1.6; cursor: pointer; }
.peek-status-row summary::after { content: '+'; display: inline; position: static; margin-left: 7px; color: var(--campaign-accent); font: inherit; }
.peek-status-row details[open] summary::after { content: '−'; }
.peek-status-row details p { color: var(--campaign-muted); font-size: .7rem; line-height: 1.8; }
html:lang(ja) .peek-period,html:lang(zh) .peek-period { word-break: normal; }
@media (max-width: 680px) {
 .campaign-trends-peek { padding-bottom: 22px; }
 .campaign-trends-peek > .campaign-wrap { padding-top: 19px; }
 .peek-heading { gap: 12px; margin-bottom: 17px; }
 .campaign .peek-heading h2 { font-size: .94rem; }
 .peek-heading > a { font-size: .64rem; }
 .peek-grid { grid-template-columns: 1fr; gap: 14px; }
 .peek-grid article,.peek-grid article:first-child { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 3px 12px; padding: 12px 0 0; border: 0; border-top: 1px solid var(--campaign-rule); }
 .peek-grid h3 { grid-column: 1; }
 .peek-period { grid-column: 1; grid-row: 2; margin: 0; }
 .peek-number { grid-column: 2; grid-row: 1/3; justify-content: flex-end; flex-wrap: wrap; gap: 2px 7px; margin: 0; text-align: right; }
 .peek-number strong,.peek-number a { font-size: 1.35rem; }
 .peek-number a.is-message { font-size: .88rem; }
 .peek-detail { grid-column: 1/-1; font-size: .62rem; }
 .peek-meta { flex-direction: column; gap: 2px; margin-top: 14px; font-size: .55rem; }
 .peek-status-row { margin-top: 10px; }
}
