:root {
  color-scheme: light dark;
  --ink: #182b26;
  --muted: #5c706a;
  --paper: #f6f9f7;
  --panel: #e9f1ed;
  --line: #c9d9d2;
  --accent: #1769d4;
  --accent-dark: #0f50af;
  --deep: #11231e;
  --radius: 10px;
  --max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif; font-size: 16px; line-height: 1.6; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
.section-shell { width: min(calc(100% - 48px), var(--max)); margin: 0 auto; }
.site-header { width: min(calc(100% - 48px), var(--max)); height: 76px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }
.brand { display: inline-flex; gap: 10px; align-items: center; font-size: 16px; font-weight: 680; letter-spacing: 0; }
.brand img { width: 30px; height: 30px; border-radius: 8px; }
.site-header nav { display: flex; align-items: center; gap: 25px; color: var(--muted); font-size: 14px; }
.site-header nav a:hover, .text-link:hover { color: var(--accent); }
.header-download { display: inline-flex; align-items: center; min-height: 34px; padding: 0 12px; border: 1px solid var(--line); border-radius: 6px; color: var(--ink); font-size: 12px; font-weight: 680; transition: border-color 180ms ease, color 180ms ease, background-color 180ms ease; }
.header-download:hover { border-color: var(--accent); background: #edf4ff; color: var(--accent); }
.hero { display: grid; grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); gap: clamp(42px, 7vw, 108px); align-items: center; min-height: 660px; padding: 88px 0 100px; }
.eyebrow { margin: 0 0 14px; color: var(--accent-dark); font-size: 11px; font-weight: 760; letter-spacing: 1.3px; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { letter-spacing: 0; }
h1 { max-width: 600px; margin-bottom: 20px; font-size: clamp(43px, 5.1vw, 70px); font-weight: 730; line-height: 1.06; text-wrap: balance; }
.hero-lead { max-width: 450px; margin-bottom: 28px; color: var(--muted); font-size: 18px; }
.hero-actions { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: 12px; padding: 0 18px; border: 1px solid transparent; border-radius: 8px; font-size: 15px; font-weight: 680; transition: transform 160ms ease, background-color 180ms ease, border-color 180ms ease; }
.button:active { transform: translateY(1px); }
.button-primary { color: #fff; background: var(--accent); }
.button-primary:hover { background: var(--accent-dark); }
.button span { color: rgb(255 255 255 / .72); font-size: 12px; font-weight: 560; }
.text-link { border-bottom: 1px solid currentColor; color: var(--ink); font-size: 15px; font-weight: 620; }
.hero-proof { display: flex; flex-wrap: wrap; gap: 0; margin: 33px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.hero-proof li { display: flex; align-items: center; gap: 7px; padding: 13px 18px 0 0; margin: 12px 18px 0 0; border-right: 1px solid var(--line); color: var(--muted); font-size: 12px; font-weight: 650; }
.hero-proof li:last-child { border-right: 0; }
.hero-proof span { color: var(--accent); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 10px; }
.system-note { max-width: 465px; margin: 22px 0 0; color: var(--muted); font-size: 12px; line-height: 1.65; }
.hero-visual { position: relative; border: 1px solid #b7cac1; border-radius: var(--radius); background: #e2ece7; box-shadow: 0 28px 62px rgba(24, 61, 52, .16), 12px 12px 0 #d7e5de; overflow: hidden; }
.hero-visual img { width: 100%; aspect-ratio: 1.424; object-fit: cover; }
.visual-rail { position: absolute; z-index: 1; top: 0; right: 0; bottom: 0; display: flex; width: 25px; flex-direction: column; align-items: center; justify-content: space-evenly; background: rgb(17 35 30 / .92); color: #d6eeeb; font-size: 8px; font-weight: 700; letter-spacing: 1.1px; writing-mode: vertical-rl; }
.scan-marker { position: absolute; z-index: 2; left: 20px; bottom: 20px; display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 8px 10px; border: 1px solid rgb(255 255 255 / .68); border-radius: 5px; background: rgb(250 253 251 / .84); box-shadow: 0 10px 26px rgb(21 49 41 / .12); color: #284b41; font-size: 11px; font-weight: 690; backdrop-filter: blur(10px); }
.scan-marker i { width: 6px; height: 6px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 4px rgb(23 105 212 / .12); }
.statement { display: grid; grid-template-columns: 1fr auto; gap: 20px; padding: 29px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.statement p { margin: 0; font-size: clamp(22px, 3vw, 38px); font-weight: 700; line-height: 1.25; }
.statement span { align-self: end; color: var(--muted); font-size: 14px; }
.features { padding: 120px 0; }
.section-heading { max-width: 670px; }
.section-heading h2, .technical-note h2, .download-panel h2 { margin-bottom: 0; font-size: clamp(30px, 4vw, 50px); font-weight: 710; line-height: 1.16; }
.feature-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 16px; margin-top: 48px; }
.feature { min-width: 0; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; background: #fbfdfb; transition: transform 220ms cubic-bezier(.23,1,.32,1), box-shadow 220ms cubic-bezier(.23,1,.32,1), border-color 220ms ease; }
.feature img { width: 100%; object-fit: cover; object-position: top; }
.feature-copy, .feature-compact > div { padding: 28px 28px 22px; }
.feature-index { margin-bottom: 12px; color: var(--accent-dark); font-size: 12px; font-weight: 720; letter-spacing: .7px; }
.feature h3 { margin-bottom: 8px; font-size: 24px; line-height: 1.2; }
.feature p:not(.feature-index) { margin-bottom: 0; color: var(--muted); font-size: 14px; }
.feature-large { grid-column: span 7; }
.feature-large img { aspect-ratio: 1.65; border-top: 1px solid var(--line); }
.feature-compact { grid-column: span 5; display: grid; grid-template-rows: auto 1fr; }
.feature-compact img { align-self: end; aspect-ratio: 1.65; border-top: 1px solid var(--line); }
.feature-dark { background: var(--deep); border-color: var(--deep); }
.feature-dark h3 { color: #fff; }
.feature-dark p:not(.feature-index) { color: #b7c8c1; }
.feature-dark .feature-index { color: #7cc5d6; }
.feature-wide { grid-column: span 7; display: grid; grid-template-columns: .52fr .48fr; align-items: center; }
.feature-wide img { aspect-ratio: 1.78; border-left: 1px solid var(--line); }
.workflow { background: var(--deep); color: #eff7f2; }
.workflow-inner { display: grid; grid-template-columns: .85fr 1.15fr; gap: 80px; padding: 105px 0; }
.workflow .eyebrow { color: #81c8d8; }
.workflow h2 { margin: 0; font-size: clamp(30px, 4vw, 48px); line-height: 1.16; }
.workflow ol { margin: 0; padding: 0; list-style: none; }
.workflow li { display: grid; grid-template-columns: 70px 1fr; gap: 18px; padding: 0 0 27px; margin-bottom: 27px; border-bottom: 1px solid rgb(230 246 238 / .2); }
.workflow li:last-child { padding-bottom: 0; margin-bottom: 0; border-bottom: 0; }
.workflow li > span { color: #81c8d8; font-size: 13px; font-weight: 700; }
.workflow h3 { margin-bottom: 6px; font-size: 19px; }
.workflow p { margin: 0; color: #bfd0c8; font-size: 14px; }
.technical-note { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; padding: 105px 0; border-bottom: 1px solid var(--line); }
.technical-note p:last-child { align-self: end; max-width: 440px; margin: 0; color: var(--muted); font-size: 17px; }
.download-section { padding: 92px 0 20px; }
.download-panel { display: grid; grid-template-columns: 104px 1fr auto; gap: 28px; align-items: center; padding: 40px; border: 1px solid #c4d9cf; border-radius: var(--radius); background: #e1eee8; }
.download-panel > img { width: 104px; border-radius: 24px; }
.download-panel h2 { font-size: 34px; }
.download-actions { display: flex; align-items: flex-end; flex-direction: column; gap: 15px; }
.limitations { padding: 60px 0 106px; }
details { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
summary { display: flex; min-height: 64px; align-items: center; cursor: pointer; font-weight: 680; }
details > div { max-width: 760px; padding: 0 0 24px; color: var(--muted); font-size: 14px; }
details > div p { margin: 0 0 10px; }
.site-footer { display: flex; justify-content: space-between; padding: 25px 0 32px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; }
.guide-page .site-header { margin-bottom: 80px; }
.guide { width: min(calc(100% - 48px), 850px); padding-bottom: 100px; }
.guide h1 { margin-bottom: 18px; font-size: clamp(40px, 6vw, 64px); }
.guide-intro { max-width: 660px; color: var(--muted); font-size: 19px; }
.guide-toc { display: flex; flex-wrap: wrap; gap: 11px 22px; margin: 42px 0 70px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 18px 0; color: var(--accent-dark); font-size: 14px; font-weight: 650; }
.guide section { padding: 0 0 46px; margin-bottom: 44px; border-bottom: 1px solid var(--line); }
.guide h2 { font-size: 29px; line-height: 1.2; }
.guide p, .guide li { max-width: 720px; color: var(--muted); }
.guide li { margin-bottom: 10px; }
.guide img { margin-top: 25px; border: 1px solid var(--line); border-radius: var(--radius); }
.guide code { padding: 2px 5px; border-radius: 4px; background: var(--panel); color: var(--ink); font-size: .9em; }
.guide-download { margin-top: 0; }

@media (hover: hover) and (pointer: fine) {
  .hero-visual { transition: transform 240ms cubic-bezier(.23,1,.32,1), box-shadow 240ms cubic-bezier(.23,1,.32,1); }
  .hero-visual:hover { transform: translateY(-4px); box-shadow: 0 34px 70px rgba(24, 61, 52, .20), 14px 14px 0 #d7e5de; }
  .feature:hover { transform: translateY(-4px); border-color: #9bbfc4; box-shadow: 0 18px 38px rgba(24, 61, 52, .11); }
}

@media (prefers-color-scheme: dark) {
  :root { --ink: #e7f3ed; --muted: #b8c6c0; --paper: #10201f; --panel: #1c3633; --line: #36504a; --accent: #51b6ce; --accent-dark: #89cfdf; --deep: #0a1918; }
  .hero-visual { border-color: #547068; background: #1c3633; box-shadow: 0 28px 62px rgba(0,0,0,.28), 12px 12px 0 #18312e; }
  .feature { background: #142a27; }
  .feature-dark { background: var(--deep); border-color: var(--deep); }
  .download-panel { background: #1b3733; }
  .button-primary { color: #07201e; }
  .button span { color: rgb(7 32 30 / .65); }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .button { transition: none; } }
@media (max-width: 780px) {
  .section-shell, .site-header { width: min(calc(100% - 32px), var(--max)); }
  .site-header { height: 66px; }
  .site-header nav { gap: 15px; font-size: 12px; }
  .site-header nav a:nth-child(2) { display: none; }
  .header-download { min-height: 31px; padding: 0 9px; font-size: 11px; }
  .hero { grid-template-columns: 1fr; gap: 44px; min-height: 0; padding: 55px 0 72px; }
  h1 { font-size: 45px; }
  .hero-lead { font-size: 16px; }
  .hero-proof { margin-top: 26px; }
  .hero-proof li { padding-right: 11px; margin-right: 11px; }
  .scan-marker { left: 12px; bottom: 12px; font-size: 10px; }
  .statement { grid-template-columns: 1fr; }
  .statement span { align-self: auto; }
  .features { padding: 78px 0; }
  .feature-grid { display: block; margin-top: 34px; }
  .feature { margin-bottom: 16px; }
  .feature-large { display: block; min-height: 0; }
  .feature-large .feature-copy, .feature-wide .feature-copy { padding: 28px 28px 22px; }
  .feature-large img, .feature-compact img { min-height: 0; aspect-ratio: 1.65; border-top: 1px solid var(--line); border-left: 0; }
  .feature-wide { display: block; }
  .feature-wide img { height: auto; border-top: 1px solid var(--line); border-left: 0; }
  .workflow-inner, .technical-note { grid-template-columns: 1fr; gap: 42px; padding: 78px 0; }
  .download-section { padding-top: 64px; }
  .download-panel { grid-template-columns: 70px 1fr; gap: 18px; padding: 25px; }
  .download-panel > img { width: 70px; border-radius: 18px; }
  .download-panel h2 { font-size: 28px; }
  .download-actions { grid-column: span 2; align-items: flex-start; }
  .limitations { padding: 50px 0 70px; }
  .site-footer { gap: 12px; flex-direction: column; }
  .guide-page .site-header { margin-bottom: 48px; }
  .guide { padding-bottom: 65px; }
  .guide-toc { margin: 35px 0 50px; }
}
