@charset "UTF-8";
:root {
  --ink: #191a20;
  --muted: #62636f;
  --paper: #fafaf8;
  --line: #dadbe0;
  --violet: #66549d;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--paper);
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
img { display: block; max-width: 100%; height: auto; }
h1, h2, h3, p, figure { margin: 0; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid #7663ba; outline-offset: 5px; }
.wrap { width: calc(100% - 112px); max-width: 1328px; margin-inline: auto; }
.skip { position: fixed; top: 12px; left: 12px; z-index: 10; padding: 14px 20px; background: var(--ink); color: white; }
.skip:not(:focus) { width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.nav-shell { min-height: 116px; display: flex; align-items: center; justify-content: space-between; gap: 12px 24px; flex-wrap: wrap; border-bottom: 1px solid var(--line); }
.brand { display: inline-flex; align-items: center; gap: 18px; font-size: 32px; font-weight: 650; letter-spacing: -.045em; flex-shrink: 0; }
.brand-dot { display: none; }
.nav-shell nav { display: flex; gap: 0 36px; align-items: center; flex-wrap: wrap; margin-left: auto; max-width: 100%; }
.nav-shell nav a, .nav-cta { display: inline-flex; align-items: center; min-height: 44px; font-size: 17px; }
.nav-shell a:hover, .product-footer a:hover { text-decoration: underline; text-underline-offset: 4px; }
.product-hero { display: grid; grid-template-columns: minmax(0, .335fr) minmax(0, .665fr); align-items: center; gap: 32px; padding-block: 72px 80px; }
.product-copy { min-width: 0; }
.product-copy h1 { font-size: clamp(38px, 3.5vw, 50px); font-weight: 650; line-height: 1.2; letter-spacing: -.055em; margin-bottom: 26px; }
.store-name { white-space: nowrap; }
.product-description { color: #5f606d; font-size: 22px; line-height: 1.65; margin-bottom: 38px; max-width: 365px; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 64px; padding: 17px 34px; border: 1px solid var(--ink); border-radius: 7px; font-size: 18px; font-weight: 600; line-height: 1.4; text-align: center; }
.product-copy .button { width: 344px; max-width: 100%; }
.primary { color: white; background: #1c1d23; }
.primary:hover { background: #383940; }
.product-requirements { color: var(--muted); font-size: 14px; line-height: 1.7; margin-top: 21px; }
.product-image { min-width: 0; }
.screenshot-link { display: block; border-radius: 14px; box-shadow: 0 14px 28px #10111422, 0 2px 5px #10111412; }
.screenshot-link img { width: 100%; border-radius: 14px; }
.screenshot-link:hover { box-shadow: 0 16px 30px #1011142b, 0 2px 5px #10111412; }
.product-image figcaption { color: var(--muted); font-size: 12px; line-height: 1.5; margin-top: 12px; }
.setup { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 30px; border-block: 1px solid var(--line); padding-block: 52px 48px; scroll-margin-top: 25px; }
.setup h2 { color: var(--muted); font-size: 18px; font-weight: 400; line-height: 1.6; }
.setup-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 0; margin: 0; list-style: none; gap: 30px; }
.setup-steps li { display: flex; align-items: baseline; gap: 20px; min-width: 0; }
.setup-steps li + li { border-left: 1px solid var(--line); padding-left: 30px; }
.step-number { color: #90919c; font-size: 20px; line-height: 1.4; flex-shrink: 0; font-variant-numeric: tabular-nums; }
.setup-steps h3 { font-size: 17px; font-weight: 600; line-height: 1.4; margin-bottom: 10px; }
.setup-steps p { color: var(--muted); font-size: 15px; line-height: 1.55; }
.footer-main { display: flex; justify-content: space-between; align-items: baseline; gap: 26px; padding-block: 22px 10px; }
.product-footer small { color: var(--muted); font-size: 12px; line-height: 1.6; }
.product-footer nav { display: flex; align-items: center; flex-wrap: wrap; gap: 0 24px; }
.product-footer nav a { display: inline-flex; align-items: center; min-height: 44px; font-size: 12px; color: #60616d; }
.product-footer .lang-nav { padding-bottom: 18px; gap: 0 21px; }
.lang-nav a[aria-current="page"] { text-decoration: underline; text-underline-offset: 4px; }
/* Existing information pages retain their readable long-form layout. */
.site-footer { display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; gap: 24px; border-top: 1px solid var(--line); padding-block: 28px; }
.site-footer .brand { font-size: 22px; }
.site-footer p, .site-footer nav a { font-size: 13px; line-height: 1.8; color: var(--muted); }
.site-footer nav { display: flex; flex-wrap: wrap; gap: 0 20px; }
.site-footer nav a { display: inline-flex; align-items: center; min-height: 44px; }
.eyebrow { color: var(--muted); font-size: 12px; margin-bottom: 20px; }
.legal-page{max-width:810px;padding-top:68px;padding-bottom:100px}.legal-page .back-link{font-size:12px;color:var(--violet);display:inline-block;margin-bottom:35px}.legal-page h1{font-size:53px;line-height:1.1;font-weight:650;margin-bottom:20px}.legal-page .lead{font-size:18px;line-height:1.65;color:var(--muted);margin-bottom:40px}.legal-page h2{font-size:25px;line-height:1.3;margin:40px 0 15px;scroll-margin-top:110px}.legal-page h3{font-size:19px;margin-top:25px;letter-spacing:-.025em}.legal-page p,.legal-page li,.legal-page td,.legal-page th{font-size:14px;line-height:1.85}.legal-page p,.legal-page li{color:#5f5b6a}.legal-page a:not(.button):not(.back-link){text-decoration:underline;text-underline-offset:3px;color:#7053a3;overflow-wrap:anywhere}.legal-page li{margin-block:9px}.legal-page ul,.legal-page ol{padding-left:23px}.legal-page address{font-style:normal;line-height:1.9;font-size:15px}.legal-page code{font-size:12px;overflow-wrap:anywhere;background:#efebf5;padding:3px 6px;border-radius:4px}.notice{background:#f7eddb;border:1px solid #ead8b7;border-radius:12px;padding:19px 22px;margin:28px 0}.notice p{margin:5px 0}.notice strong{color:#735327;font-size:14px}.support-callout{border:1px solid var(--line);border-radius:18px;background:#f0ecf7;padding:30px;margin:30px 0}.support-callout h2{margin-top:0}.support-callout .button{margin-top:10px}.legal-page table{border-collapse:collapse;width:100%;margin:25px 0}.legal-page th,.legal-page td{padding:13px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.legal-page th{font-weight:600}.legal-page .date{font-size:11px;color:#83798e;margin-bottom:30px}

@media (max-width: 1200px) {
  .wrap { width: calc(100% - 72px); }
  .product-hero { gap: 24px; padding-block: 64px; }
  .product-copy h1 { font-size: 40px; }
  .product-description { font-size: 19px; }
  .button { font-size: 16px; padding-inline: 24px; }
  .setup { grid-template-columns: 1fr; gap: 24px; padding-block: 36px; }
}
@media (max-width: 960px) {
  .product-hero { grid-template-columns: minmax(0, 1fr); gap: 38px; padding-block: 50px; }
  .product-copy { max-width: 650px; }
  .product-copy h1 { font-size: 50px; margin-bottom: 20px; }
  .product-description { font-size: 20px; max-width: 570px; margin-bottom: 28px; }
  .product-image { max-width: 100%; }
  .footer-main { flex-direction: column; gap: 4px; }
}
@media (max-width: 600px) {
  .wrap { width: calc(100% - 40px); }
  .nav-shell { min-height: 88px; gap: 4px 16px; flex-wrap: wrap; padding-block: 14px; }
  .brand { font-size: 25px; gap: 10px; }
  .brand img { width: 40px; height: 40px; }
  .nav-shell nav { gap: 0 22px; flex-wrap: wrap; justify-content: flex-end; margin-left: auto; max-width: 100%; }
  .nav-shell nav a, .nav-cta { font-size: 14px; }
  .product-hero { padding-block: 42px 38px; gap: 32px; }
  .product-copy h1 { font-size: clamp(34px, 8.7vw, 46px); letter-spacing: -.045em; line-height: 1.2; }
  .product-description { font-size: 18px; line-height: 1.65; margin-bottom: 26px; }
  .button { min-height: 54px; font-size: 16px; padding: 14px 23px; max-width: 100%; }
  .product-requirements { font-size: 13px; margin-top: 16px; }
  .screenshot-link, .screenshot-link img { border-radius: 6px; }
  .product-image figcaption { font-size: 12px; }
  .setup { padding-block: 28px 32px; gap: 24px; }
  .setup h2 { font-size: 17px; }
  .setup-steps { grid-template-columns: 1fr; gap: 25px; }
  .setup-steps li { gap: 19px; }
  .setup-steps li + li { border-left: 0; padding-left: 0; }
  .setup-steps h3 { margin-bottom: 6px; }
  .setup-steps p { font-size: 15px; max-width: 44ch; }
  .footer-main { padding-top: 22px; }
  .product-footer nav { gap: 0 18px; }
  .product-footer .lang-nav { gap: 0 18px; }
  .legal-page { padding-top: 38px; padding-bottom: 60px; }
  .legal-page h1 { font-size: 38px; overflow-wrap: anywhere; }
  .legal-page .lead { font-size: 17px; }
  .legal-page h2 { font-size: 25px; }
  .legal-page table { display: block; overflow-x: auto; }
  .support-callout { padding: 22px; }
  .site-footer { flex-direction: column; gap: 10px; }
}
:lang(ja) h1, :lang(ko) h1, :lang(zh-Hans) h1, :lang(zh-Hant) h1 { letter-spacing: 0; }
:lang(ko) { word-break: keep-all; }
:lang(ja), :lang(zh-Hans), :lang(zh-Hant) { line-break: strict; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* FAQ: native disclosures, usable without JavaScript. */
.nav-shell a[aria-current="page"] { text-decoration: underline; text-underline-offset: 4px; }
.faq-topics { display: flex; flex-wrap: wrap; gap: 0 24px; margin-bottom: 32px; }
.faq-topics a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; }
.faq-page section { scroll-margin-top: 28px; }
.faq-page details { border-top: 1px solid var(--line); scroll-margin-top: 28px; }
.faq-page details:last-child { border-bottom: 1px solid var(--line); }
.faq-page summary { padding: 20px 4px; cursor: pointer; font-size: 16px; font-weight: 600; line-height: 1.5; }
.faq-page summary:hover { color: var(--violet); }
.faq-page details[open] summary { padding-bottom: 10px; }
.faq-page details p { margin: 0 4px 22px; font-size: 15px; line-height: 1.8; }
.faq-page .faq-contact { margin-top: 36px; }
