/* Source: index.html - style block 1 */
:root {
    --bg: #F7FAF9;
    --bg-soft: #EEF5F3;
    --surface: #FFFFFF;
    --line: #E3EDEA;
    --line-strong: #D0E0DB;
    --primary: #0D9488;
    --primary-dark: #0F766E;
    --primary-soft: #CCFBF1;
    --primary-faint: #F0FDFA;
    --accent: #F59E0B;
    --accent-soft: #FEF3C7;
    --text: #0F2A25;
    --text-mid: #4B635E;
    --text-soft: #8AA39D;
    --shadow-sm: 0 1px 2px rgba(13,148,136,0.05);
    --shadow-md: 0 8px 24px rgba(13,148,136,0.08);
    --shadow-lg: 0 24px 56px rgba(13,148,136,0.12);
    --radius-sm: 10px;
    --radius: 16px;
    --radius-lg: 22px;
    --body: 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'Noto Sans CJK SC', 'Helvetica Neue', 'Arial', sans-serif;
    --sidebar-w: 236px;
  }

  * { margin:0; padding:0; box-sizing:border-box; }
  html { scroll-behavior:smooth; }
  body {
    background: var(--bg);
    color: var(--text);
    font-family: var(--body);
    font-size: 14px;
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
    overflow-x: clip;
  }
  html:not(.bg) body {
          filter: blur(10px);
          -webkit-filter: blur(10px);
        }
  body::before {
    content:'';
    position:fixed;
    top:-200px; right:-120px;
    width:640px; height:640px;
    background: radial-gradient(circle, rgba(13,148,136,0.10), transparent 65%);
    pointer-events:none;
    z-index:0;
  }
  body::after {
    content:'';
    position:fixed;
    bottom:-240px; left:-160px;
    width:720px; height:720px;
    background: radial-gradient(circle, rgba(14,165,233,0.07), transparent 65%);
    pointer-events:none;
    z-index:0;
  }

  .sidebar {
    position:fixed; top:0; left:0; bottom:0;
    width:var(--sidebar-w);
    background:rgba(255,255,255,0.82);
    border-right:1px solid var(--line);
    display:flex; flex-direction:column;
    z-index:100;
    backdrop-filter:blur(18px);
  }
  .sidebar-brand {
    padding:30px 24px 26px;
    border-bottom:1px solid var(--line);
  }
  .sidebar-brand .mark {
    font-size:15px; font-weight:700;
    letter-spacing:0.02em;
    color:var(--text);
    display:flex; align-items:center; gap:10px;
  }
  .sidebar-brand .mark::before {
    content:'';
    width:26px; height:26px;
    background:linear-gradient(135deg, var(--primary), #0EA5E9);
    border-radius:8px;
    box-shadow:0 4px 12px rgba(13,148,136,0.30);
    flex-shrink:0;
  }
  .sidebar-brand .sub {
    font-size:10px; letter-spacing:0.14em;
    color:var(--text-soft);
    margin-top:8px;
    text-transform:uppercase;
  }

  .side-nav {
    flex:1; padding:20px 14px;
    display:flex; flex-direction:column; gap:4px;
    overflow-y:auto;
  }
  .side-nav a {
    display:flex; align-items:center; gap:10px;
    padding:11px 14px;
    font-size:12px;
    color:var(--text-mid);
    text-decoration:none;
    border-radius:var(--radius-sm);
    transition:0.2s;
  }
  .side-nav a .idx {
    font-size:10px;
    color:var(--text-soft);
    min-width:20px;
    font-weight:600;
  }
  .side-nav a:hover {
    color:var(--primary-dark);
    background:var(--primary-faint);
  }
  .side-nav a.active {
    color:var(--primary-dark);
    background:var(--primary-soft);
    font-weight:600;
  }
  .side-nav a.active .idx { color:var(--primary); }

  .sidebar-dl { padding:0 14px 18px; }
  .sidebar-dl a {
    display:flex; align-items:center; justify-content:center; gap:8px;
    background:linear-gradient(135deg, var(--primary), #0EA5E9);
    color:#FFFFFF;
    font-size:12px; font-weight:600;
    letter-spacing:0.04em;
    padding:13px 14px;
    text-decoration:none;
    border-radius:var(--radius-sm);
    box-shadow:0 6px 16px rgba(13,148,136,0.28);
    transition:0.2s;
  }
  .sidebar-dl a:hover {
    transform:translateY(-1px);
    box-shadow:0 10px 22px rgba(13,148,136,0.34);
  }

  .sidebar-status {
    padding:18px 20px 22px;
    border-top:1px solid var(--line);
    font-size:10px;
    color:var(--text-mid);
  }
  .status-row { display:flex; align-items:center; gap:8px; margin-bottom:8px; }
  .pulse-dot {
    width:7px; height:7px; border-radius:50%;
    background:#10B981;
    box-shadow:0 0 0 0 rgba(16,185,129,0.5);
    animation:pulse 2s infinite;
    flex-shrink:0;
  }
  @keyframes pulse {
    0% { box-shadow:0 0 0 0 rgba(16,185,129,0.5); }
    70% { box-shadow:0 0 0 7px rgba(16,185,129,0); }
    100% { box-shadow:0 0 0 0 rgba(16,185,129,0); }
  }
  .status-bar {
    height:4px; background:var(--bg-soft);
    border-radius:99px; overflow:hidden; margin:6px 0 10px;
  }
  .status-bar span {
    display:block; height:100%; width:94%;
    background:linear-gradient(90deg, #10B981, var(--primary));
    border-radius:99px;
    animation:scan 4s ease-in-out infinite alternate;
  }
  @keyframes scan { from { width:88%; } to { width:97%; } }
  .status-rows { display:flex; justify-content:space-between; margin-top:4px; }
  .status-rows b { font-weight:600; }
  .status-rows .ok { color:#10B981; }
  .status-rows .accent { color:var(--primary); }

  .main { margin-left:var(--sidebar-w); position:relative; z-index:1; }
  .section {
    padding:88px 64px;
    max-width:1180px;
  }
  .section + .section { border-top:1px solid var(--line); }

  .section-label {
    font-size:11px; letter-spacing:0.18em;
    color:var(--primary);
    font-weight:600;
    text-transform:uppercase;
    display:flex; align-items:center; gap:12px;
    margin-bottom:18px;
  }
  .section-label::after {
    content:'';
    flex:1; height:1px;
    background:linear-gradient(90deg, var(--line-strong), transparent);
    max-width:160px;
  }
  .section h2 {
    font-size:clamp(26px,3vw,36px);
    font-weight:700;
    letter-spacing:-0.01em;
    line-height:1.25;
    margin-bottom:10px;
  }
  .section-sub {
    color:var(--text-mid);
    font-size:14.5px;
    max-width:560px;
    margin-bottom:36px;
  }

  .img-frame {
    position:relative;
    background:var(--bg-soft);
    border:1px solid var(--line);
    border-radius:var(--radius);
    overflow:hidden;
    aspect-ratio:16/10;
    box-shadow:var(--shadow-sm);
  }
  .img-ph {
    position:absolute; inset:0;
    display:flex; flex-direction:column;
    align-items:center; justify-content:center;
    gap:8px;
    font-size:10px;
    letter-spacing:0.12em;
    color:var(--text-soft);
    text-transform:uppercase;
    text-align:center;
    padding:16px;
  }
  .img-ph .ph-icon {
    font-size:22px;
    color:var(--line-strong);
    line-height:1;
    margin-bottom:2px;
  }
  .img-frame img {
    position:absolute; inset:0;
    width:100%; height:100%;
    object-fit:cover; display:block;
    z-index:1;
    transition:transform .5s ease;
  }
  .img-frame figcaption {
    position:absolute; left:0; right:0; bottom:0;
    z-index:3;
    padding:12px 16px;
    background:linear-gradient(180deg, transparent, rgba(15,42,37,0.72) 60%);
    font-size:10px;
    letter-spacing:0.10em;
    color:rgba(255,255,255,0.90);
    display:flex; justify-content:space-between; gap:12px;
  }
  .img-frame figcaption .fc-tag { color:#5EEAD4; }

  .hero {
    padding:104px 64px 88px;
    position:relative;
    max-width:1180px;
  }
  .hero-grid {
    display:grid;
    grid-template-columns:1.05fr 0.95fr;
    gap:64px;
    align-items:center;
  }
  .hero-eyebrow {
    display:inline-flex; align-items:center; gap:10px;
    font-size:11px;
    letter-spacing:0.10em;
    color:var(--primary-dark);
    font-weight:600;
    padding:6px 14px 6px 8px;
    background:var(--primary-faint);
    border:1px solid var(--primary-soft);
    border-radius:99px;
    margin-bottom:26px;
  }
  .hero-eyebrow .badge {
    font-size:9px;
    font-weight:700;
    letter-spacing:0.10em;
    padding:3px 9px;
    background:var(--primary);
    color:#FFFFFF;
    border-radius:99px;
  }
  .hero h1 {
    font-size:clamp(36px, 4.6vw, 58px);
    font-weight:800;
    line-height:1.12;
    letter-spacing:-0.025em;
    margin-bottom:24px;
  }
  .hero h1 .accent {
    background:linear-gradient(120deg, var(--primary), #0EA5E9);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
  }
  .hero-desc {
    max-width:520px;
    color:var(--text-mid);
    font-size:15.5px;
    line-height:1.85;
    margin-bottom:40px;
  }
  .hero-actions {
    display:flex; gap:14px; align-items:center;
    flex-wrap:wrap;
    margin-bottom:56px;
  }
  .btn-primary {
    display:inline-flex; align-items:center; justify-content:center; gap:10px;
    background:linear-gradient(135deg, var(--primary), #0EA5E9);
    color:#FFFFFF;
    font-size:13px; font-weight:600;
    letter-spacing:0.02em;
    padding:15px 30px;
    border-radius:var(--radius-sm);
    text-decoration:none;
    box-shadow:0 8px 20px rgba(13,148,136,0.30);
    transition:0.2s;
    border:none;
    cursor:pointer;
  }
  .btn-primary:hover {
    transform:translateY(-2px);
    box-shadow:0 12px 28px rgba(13,148,136,0.38);
  }
  .btn-ghost {
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    background:var(--surface);
    color:var(--text-mid);
    font-size:13px; font-weight:600;
    letter-spacing:0.02em;
    padding:15px 24px;
    border:1px solid var(--line-strong);
    border-radius:var(--radius-sm);
    text-decoration:none;
    transition:0.2s;
    cursor:pointer;
  }
  .btn-ghost:hover {
    border-color:var(--primary);
    color:var(--primary-dark);
    background:var(--primary-faint);
  }

  .hero-metrics {
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:1px;
    background:var(--line);
    border:1px solid var(--line);
    border-radius:var(--radius);
    overflow:hidden;
    max-width:660px;
    box-shadow:var(--shadow-sm);
  }
  .metric {
    background:var(--surface);
    padding:20px 22px;
  }
  .metric .val {
    font-size:26px;
    font-weight:800;
    color:var(--text);
    line-height:1;
    letter-spacing:-0.02em;
  }
  .metric .val small {
    font-size:13px;
    color:var(--primary);
    font-weight:700;
    margin-left:1px;
  }
  .metric .lbl {
    font-size:10.5px;
    color:var(--text-soft);
    margin-top:8px;
    letter-spacing:0.02em;
  }

  .hero-right { position:relative; }
  .hero-right::before {
    content:'';
    position:absolute;
    inset:-32px;
    background:radial-gradient(circle at 60% 40%, rgba(13,148,136,0.14), transparent 68%);
    border-radius:50%;
    z-index:-1;
  }
  .hero-right .img-frame {
    aspect-ratio:5/4;
    box-shadow:var(--shadow-lg);
    border-color:var(--surface);
  }

  .core-grid {
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:22px;
  }
  .core-card {
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:var(--radius-lg);
    overflow:hidden;
    display:flex; flex-direction:column;
    box-shadow:var(--shadow-sm);
    transition:0.28s;
  }
  .core-card:hover {
    transform:translateY(-4px);
    box-shadow:var(--shadow-md);
    border-color:var(--primary-soft);
  }
  .core-card .img-frame {
    border:none;
    border-radius:0;
    border-bottom:1px solid var(--line);
    aspect-ratio:16/10;
    box-shadow:none;
  }
  .core-card:hover .img-frame img { transform:scale(1.04); }
  .core-card .core-body { padding:26px 26px 30px; }
  .core-card .module-id {
    font-size:10px;
    letter-spacing:0.14em;
    color:var(--primary);
    font-weight:600;
    text-transform:uppercase;
    margin-bottom:10px;
  }
  .core-card h3 {
    font-size:20px;
    font-weight:700;
    letter-spacing:-0.01em;
    margin-bottom:10px;
  }
  .core-card p {
    font-size:13.5px;
    color:var(--text-mid);
    line-height:1.8;
  }
  .core-card .tag-row { display:flex; gap:8px; flex-wrap:wrap; margin-top:20px; }
  .tag {
    font-size:10.5px;
    padding:5px 11px;
    border-radius:99px;
    background:var(--bg-soft);
    color:var(--text-mid);
    font-weight:500;
  }
  .tag.hot {
    background:var(--primary-soft);
    color:var(--primary-dark);
    font-weight:600;
  }

  .features-grid {
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:20px;
  }
  .feature-item {
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:28px 26px;
    display:flex; gap:18px;
    align-items:flex-start;
    box-shadow:var(--shadow-sm);
    transition:0.25s;
  }
  .feature-item:hover {
    transform:translateY(-3px);
    box-shadow:var(--shadow-md);
    border-color:var(--primary-soft);
  }
  .feature-num {
    width:44px; height:44px;
    border-radius:12px;
    background:linear-gradient(135deg, var(--primary-faint), var(--primary-soft));
    color:var(--primary-dark);
    font-size:14px;
    font-weight:800;
    display:flex; align-items:center; justify-content:center;
    flex-shrink:0;
    transition:0.25s;
  }
  .feature-item:hover .feature-num {
    background:linear-gradient(135deg, var(--primary), #0EA5E9);
    color:#FFFFFF;
  }
  .feature-body h4 {
    font-size:15px;
    font-weight:700;
    margin-bottom:6px;
    letter-spacing:-0.01em;
  }
  .feature-body p {
    font-size:13px;
    color:var(--text-mid);
    line-height:1.75;
  }

  .shot-grid {
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:24px;
  }
  .shot {
    cursor:zoom-in;
    position:relative;
    transition:0.25s;
  }
  .shot:hover { transform:translateY(-4px); }
  .shot:hover .img-frame {
    box-shadow:var(--shadow-md);
    border-color:var(--primary-soft);
  }
  .shot:hover .img-frame img { transform:scale(1.03); }
  .shot .img-frame {
    aspect-ratio:16/9;
    border-radius:var(--radius);
    transition:0.25s;
  }

  .lightbox {
    position:fixed; inset:0; z-index:999;
    background:rgba(247,250,249,0.94);
    backdrop-filter:blur(20px);
    display:flex; align-items:center; justify-content:center;
    padding:48px;
    opacity:0; pointer-events:none;
    transition:opacity .25s;
  }
  .lightbox.open { opacity:1; pointer-events:auto; }
  .lightbox img {
    max-width:100%; max-height:100%;
    border-radius:var(--radius);
    border:1px solid var(--line);
    box-shadow:var(--shadow-lg);
    object-fit:contain;
  }
  .lb-close {
    position:absolute; top:28px; right:32px;
    background:var(--surface);
    border:1px solid var(--line-strong);
    color:var(--text-mid);
    width:44px; height:44px;
    border-radius:50%;
    font-size:18px; line-height:1;
    cursor:pointer;
    transition:0.2s;
    box-shadow:var(--shadow-sm);
  }
  .lb-close:hover {
    background:var(--primary);
    border-color:var(--primary);
    color:#FFFFFF;
  }

  .faq-list {
    display:flex; flex-direction:column; gap:12px;
  }
  .faq-item {
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:var(--radius);
    overflow:hidden;
    box-shadow:var(--shadow-sm);
    transition:0.25s;
  }
  .faq-item.open {
    border-color:var(--primary-soft);
    box-shadow:var(--shadow-md);
  }
  .faq-q {
    width:100%;
    background:none;
    border:none;
    color:var(--text);
    font-family:var(--body);
    font-size:14.5px; font-weight:600;
    text-align:left;
    padding:22px 26px;
    cursor:pointer;
    display:flex; justify-content:space-between; align-items:center; gap:16px;
    transition:0.2s;
    letter-spacing:-0.005em;
  }
  .faq-q:hover { color:var(--primary-dark); }
  .faq-marker {
    width:28px; height:28px;
    border-radius:50%;
    background:var(--bg-soft);
    color:var(--text-mid);
    font-size:16px;
    display:flex; align-items:center; justify-content:center;
    flex-shrink:0;
    transition:0.25s;
    line-height:1;
  }
  .faq-item.open .faq-marker {
    background:var(--primary);
    color:#FFFFFF;
    transform:rotate(45deg);
  }
  .faq-a {
    max-height:0;
    overflow:hidden;
    transition:max-height 0.35s ease, padding 0.35s ease;
    padding:0 26px;
    font-size:13.5px;
    color:var(--text-mid);
    line-height:1.85;
  }
  .faq-item.open .faq-a {
    max-height:300px;
    padding:0 26px 22px;
  }

  .footer-cta {
    margin:0 64px 40px;
    padding:64px 56px;
    background:linear-gradient(135deg, #F0FDFA, #ECFEFF);
    border:1px solid var(--primary-soft);
    border-radius:var(--radius-lg);
    display:flex; justify-content:space-between; align-items:center;
    gap:40px;
    flex-wrap:wrap;
    position:relative;
    overflow:hidden;
  }
  .footer-cta::before {
    content:'';
    position:absolute;
    top:-100px; right:-80px;
    width:340px; height:340px;
    background:radial-gradient(circle, rgba(13,148,136,0.16), transparent 65%);
    pointer-events:none;
  }
  .footer-cta h2 {
    font-size:clamp(24px, 2.8vw, 34px);
    font-weight:800;
    line-height:1.25;
    letter-spacing:-0.02em;
    max-width:520px;
    position:relative;
  }
  .footer-cta h2 span {
    background:linear-gradient(120deg, var(--primary), #0EA5E9);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
  }

  .footer-meta {
    padding:0 64px 44px;
    display:flex; justify-content:space-between; align-items:center;
    font-size:11px;
    color:var(--text-soft);
    letter-spacing:0.04em;
    flex-wrap:wrap; gap:12px;
  }

  @media (max-width: 1100px) {
    .hero-grid { grid-template-columns:1fr; gap:48px; }
    .hero { padding-top:80px; }
    .hero-right { max-width:560px; }
  }

  @media (max-width: 960px) {
    .sidebar {
      position: sticky;
      top: 0;
      left: auto;
      bottom: auto;
      z-index: 300;
      width: 100%;
      height: auto;
      display: grid;
      grid-template-columns: 1fr auto;
      grid-template-areas:
        "brand dl"
        "nav nav";
      align-items: stretch;
      padding: 0;
      border-right: none;
      border-bottom: 1px solid var(--line);
      background: rgba(255,255,255,0.92);
      backdrop-filter: blur(18px);
    }
    .sidebar-brand {
      grid-area: brand;
      padding: 12px 16px;
      border-bottom: 1px solid var(--line);
      display: flex;
      flex-direction: column;
      justify-content: center;
    }
    .sidebar-brand .mark { font-size:13px; }
    .sidebar-brand .mark::before { width:22px; height:22px; border-radius:7px; }
    .sidebar-brand .sub { display: none; }
    .sidebar-dl {
      grid-area: dl;
      padding: 12px 16px;
      border-bottom: 1px solid var(--line);
      display: flex;
      align-items: center;
    }
    .sidebar-dl a {
      padding: 9px 16px;
      font-size: 11px;
      white-space: nowrap;
    }
    .side-nav {
      grid-area: nav;
      flex: none;
      width: 100%;
      flex-direction: row;
      overflow-x: auto;
      padding: 0 8px;
      gap: 0;
      scrollbar-width: none;
      -ms-overflow-style: none;
      -webkit-overflow-scrolling: touch;
    }
    .side-nav::-webkit-scrollbar { display: none; }
    .side-nav a {
      flex-shrink: 0;
      white-space: nowrap;
      padding: 13px 14px;
      font-size: 12px;
      border-radius: 0;
      border-bottom: 2px solid transparent;
      background: transparent;
    }
    .side-nav a.active {
      background: transparent;
      border-bottom-color: var(--primary);
      border-radius: 0;
    }
    .sidebar-status { display: none; }
    .main { margin-left: 0; }
    .hero, .section { scroll-margin-top: 104px; }
    .hero { padding:64px 24px 56px; }
    .section { padding:64px 24px; }
    .hero-metrics { grid-template-columns:repeat(2, 1fr); }
    .core-grid, .features-grid { grid-template-columns:1fr; }
    .shot-grid { grid-template-columns:1fr; }
    .footer-cta {
      margin:0 24px 32px;
      padding:44px 28px;
      flex-direction:column;
      align-items:flex-start;
    }
    .footer-meta { padding:0 24px 36px; }
    .lightbox { padding:20px; }
    .lb-close { top:16px; right:16px; }
  }

  @media (max-width: 640px) {
    .hero h1 { font-size:32px; }
    .hero-metrics { grid-template-columns:1fr; }
    .hero-actions { flex-direction:column; align-items:stretch; }
    .hero-actions .btn-primary,
    .hero-actions .btn-ghost { width:100%; }
    .faq-q { padding:18px 20px; font-size:13.5px; }
    .faq-a { padding:0 20px; }
    .faq-item.open .faq-a { padding:0 20px 18px; }
    .core-card .core-body { padding:22px 22px 26px; }
    .feature-item { padding:22px 20px; }
  }


/* Source: download.html - style block 1 */
:root {
    --bg: #F7FAF9;
    --bg-soft: #EEF5F3;
    --surface: #FFFFFF;
    --line: #E3EDEA;
    --line-strong: #D0E0DB;
    --primary: #0D9488;
    --primary-dark: #0F766E;
    --primary-soft: #CCFBF1;
    --primary-faint: #F0FDFA;
    --accent: #F59E0B;
    --accent-soft: #FEF3C7;
    --text: #0F2A25;
    --text-mid: #4B635E;
    --text-soft: #8AA39D;
    --shadow-sm: 0 1px 2px rgba(13,148,136,0.05);
    --shadow-md: 0 8px 24px rgba(13,148,136,0.08);
    --shadow-lg: 0 24px 56px rgba(13,148,136,0.12);
    --radius-sm: 10px;
    --radius: 16px;
    --radius-lg: 22px;
    --body: 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'Noto Sans CJK SC', 'Helvetica Neue', 'Arial', sans-serif;
    --sidebar-w: 236px;
  }

  * { margin:0; padding:0; box-sizing:border-box; }
  html { scroll-behavior:smooth; }
  body {
    background: var(--bg);
    color: var(--text);
    font-family: var(--body);
    font-size: 14px;
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
    overflow-x: clip;
  }

  body::before {
    content:'';
    position:fixed;
    top:-200px; right:-120px;
    width:640px; height:640px;
    background: radial-gradient(circle, rgba(13,148,136,0.10), transparent 65%);
    pointer-events:none;
    z-index:0;
  }
  body::after {
    content:'';
    position:fixed;
    bottom:-240px; left:-160px;
    width:720px; height:720px;
    background: radial-gradient(circle, rgba(14,165,233,0.07), transparent 65%);
    pointer-events:none;
    z-index:0;
  }

  .sidebar {
    position:fixed; top:0; left:0; bottom:0;
    width:var(--sidebar-w);
    background:rgba(255,255,255,0.82);
    border-right:1px solid var(--line);
    display:flex; flex-direction:column;
    z-index:100;
    backdrop-filter:blur(18px);
  }
  .sidebar-brand {
    padding:30px 24px 26px;
    border-bottom:1px solid var(--line);
  }
  .sidebar-brand .mark {
    font-size:15px; font-weight:700;
    letter-spacing:0.02em;
    color:var(--text);
    display:flex; align-items:center; gap:10px;
  }
  .sidebar-brand .mark::before {
    content:'';
    width:26px; height:26px;
    background:linear-gradient(135deg, var(--primary), #0EA5E9);
    border-radius:8px;
    box-shadow:0 4px 12px rgba(13,148,136,0.30);
    flex-shrink:0;
  }
  .sidebar-brand .sub {
    font-size:10px; letter-spacing:0.14em;
    color:var(--text-soft);
    margin-top:8px;
    text-transform:uppercase;
  }

  .side-nav {
    flex:1; padding:20px 14px;
    display:flex; flex-direction:column; gap:4px;
    overflow-y:auto;
  }
  .side-nav a {
    display:flex; align-items:center; gap:10px;
    padding:11px 14px;
    font-size:12px;
    color:var(--text-mid);
    text-decoration:none;
    border-radius:var(--radius-sm);
    transition:0.2s;
  }
  .side-nav a .idx {
    font-size:10px;
    color:var(--text-soft);
    min-width:20px;
    font-weight:600;
  }
  .side-nav a:hover {
    color:var(--primary-dark);
    background:var(--primary-faint);
  }
  .side-nav a.active {
    color:var(--primary-dark);
    background:var(--primary-soft);
    font-weight:600;
  }
  .side-nav a.active .idx { color:var(--primary); }

  .sidebar-dl { padding:0 14px 18px; }
  .sidebar-dl a {
    display:flex; align-items:center; justify-content:center; gap:8px;
    background:linear-gradient(135deg, var(--primary), #0EA5E9);
    color:#FFFFFF;
    font-size:12px; font-weight:600;
    letter-spacing:0.04em;
    padding:13px 14px;
    text-decoration:none;
    border-radius:var(--radius-sm);
    box-shadow:0 6px 16px rgba(13,148,136,0.28);
    transition:0.2s;
  }
  .sidebar-dl a:hover {
    transform:translateY(-1px);
    box-shadow:0 10px 22px rgba(13,148,136,0.34);
  }
  .sidebar-dl a::before { content:'←'; font-size:14px; line-height:1; }

  .sidebar-status {
    padding:18px 20px 22px;
    border-top:1px solid var(--line);
    font-size:10px;
    color:var(--text-mid);
  }
  .status-row { display:flex; align-items:center; gap:8px; margin-bottom:8px; }
  .pulse-dot {
    width:7px; height:7px; border-radius:50%;
    background:#10B981;
    box-shadow:0 0 0 0 rgba(16,185,129,0.5);
    animation:pulse 2s infinite;
    flex-shrink:0;
  }
  @keyframes pulse {
    0% { box-shadow:0 0 0 0 rgba(16,185,129,0.5); }
    70% { box-shadow:0 0 0 7px rgba(16,185,129,0); }
    100% { box-shadow:0 0 0 0 rgba(16,185,129,0); }
  }
  .status-bar {
    height:4px; background:var(--bg-soft);
    border-radius:99px; overflow:hidden; margin:6px 0 10px;
  }
  .status-bar span {
    display:block; height:100%; width:94%;
    background:linear-gradient(90deg, #10B981, var(--primary));
    border-radius:99px;
    animation:scan 4s ease-in-out infinite alternate;
  }
  @keyframes scan { from { width:88%; } to { width:97%; } }
  .status-rows { display:flex; justify-content:space-between; margin-top:4px; }
  .status-rows b { font-weight:600; }
  .status-rows .ok { color:#10B981; }
  .status-rows .accent { color:var(--primary); }

  .main { margin-left:var(--sidebar-w); position:relative; z-index:1; }
  .section {
    padding:80px 64px;
    max-width:1180px;
  }
  .section + .section { border-top:1px solid var(--line); }

  .section-label {
    font-size:11px; letter-spacing:0.18em;
    color:var(--primary);
    font-weight:600;
    text-transform:uppercase;
    display:flex; align-items:center; gap:12px;
    margin-bottom:18px;
  }
  .section-label::after {
    content:'';
    flex:1; height:1px;
    background:linear-gradient(90deg, var(--line-strong), transparent);
    max-width:160px;
  }
  .section h2 {
    font-size:clamp(26px,3vw,36px);
    font-weight:700;
    letter-spacing:-0.01em;
    line-height:1.25;
    margin-bottom:10px;
  }
  .section-sub {
    color:var(--text-mid);
    font-size:14.5px;
    max-width:560px;
    margin-bottom:36px;
  }

  .img-frame {
    position:relative;
    background:var(--bg-soft);
    border:1px solid var(--line);
    border-radius:var(--radius);
    overflow:hidden;
    aspect-ratio:1/1;
    box-shadow:var(--shadow-sm);
  }
  .img-ph {
    position:absolute; inset:0;
    display:flex; flex-direction:column;
    align-items:center; justify-content:center;
    gap:8px;
    font-size:10px;
    letter-spacing:0.12em;
    color:var(--text-soft);
    text-transform:uppercase;
    text-align:center;
    padding:16px;
  }
  .img-ph .ph-icon {
    font-size:24px;
    color:var(--line-strong);
    line-height:1;
    margin-bottom:2px;
  }
  .img-frame img {
    position:absolute; inset:0;
    width:100%; height:100%;
    object-fit:cover; display:block;
    z-index:1;
  }

  .hero {
    padding:88px 64px 72px;
    max-width:1180px;
  }
  .hero-grid {
    display:grid;
    grid-template-columns:1.15fr 0.85fr;
    gap:56px;
    align-items:start;
  }
  .hero-eyebrow {
    display:inline-flex; align-items:center; gap:10px;
    font-size:11px;
    letter-spacing:0.10em;
    color:var(--primary-dark);
    font-weight:600;
    padding:6px 14px 6px 8px;
    background:var(--primary-faint);
    border:1px solid var(--primary-soft);
    border-radius:99px;
    margin-bottom:24px;
  }
  .hero-eyebrow .badge {
    font-size:9px;
    font-weight:700;
    letter-spacing:0.10em;
    padding:3px 9px;
    background:var(--primary);
    color:#FFFFFF;
    border-radius:99px;
  }
  .hero h1 {
    font-size:clamp(34px, 4.2vw, 52px);
    font-weight:800;
    line-height:1.14;
    letter-spacing:-0.025em;
    margin-bottom:22px;
  }
  .hero h1 .accent {
    background:linear-gradient(120deg, var(--primary), #0EA5E9);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
  }
  .hero-desc {
    max-width:520px;
    color:var(--text-mid);
    font-size:15.5px;
    line-height:1.85;
    margin-bottom:36px;
  }

  .download-actions {
    display:flex; gap:14px; flex-wrap:wrap;
    margin-bottom:22px;
  }
  .btn-primary {
    display:inline-flex; align-items:center; justify-content:center; gap:10px;
    background:linear-gradient(135deg, var(--primary), #0EA5E9);
    color:#FFFFFF;
    font-size:13px; font-weight:600;
    letter-spacing:0.02em;
    padding:15px 30px;
    border-radius:var(--radius-sm);
    text-decoration:none;
    box-shadow:0 8px 20px rgba(13,148,136,0.30);
    transition:0.2s;
    border:none;
    cursor:pointer;
  }
  .btn-primary:hover {
    transform:translateY(-2px);
    box-shadow:0 12px 28px rgba(13,148,136,0.38);
  }
  .btn-ghost {
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    background:var(--surface);
    color:var(--text-mid);
    font-size:13px; font-weight:600;
    letter-spacing:0.02em;
    padding:15px 24px;
    border:1px solid var(--line-strong);
    border-radius:var(--radius-sm);
    text-decoration:none;
    transition:0.2s;
    cursor:pointer;
  }
  .btn-ghost:hover {
    border-color:var(--primary);
    color:var(--primary-dark);
    background:var(--primary-faint);
  }

  .detect-note {
    display:flex; align-items:center; gap:8px;
    font-size:11px;
    letter-spacing:0.02em;
    color:var(--text-mid);
    min-height:22px;
  }

  .qr-card {
    border:1px solid var(--line);
    background:var(--surface);
    border-radius:var(--radius-lg);
    padding:24px;
    box-shadow:var(--shadow-sm);
  }
  .qr-head {
    display:flex; justify-content:space-between; align-items:center;
    font-size:10px; letter-spacing:0.14em;
    color:var(--text-soft);
    font-weight:600;
    text-transform:uppercase;
    margin-bottom:16px;
  }
  .qr-head .fc-tag { color:var(--primary); }
  .qr-meta {
    display:flex; flex-direction:column;
    margin-top:18px;
    border-top:1px solid var(--line);
    padding-top:16px;
    gap:10px;
  }
  .qr-meta .row {
    display:flex; justify-content:space-between; gap:12px;
    font-size:12px;
    color:var(--text-soft);
  }
  .qr-meta .row span:last-child { color:var(--text); font-weight:600; }
  .qr-meta .row span.ok { color:#10B981; }
  .qr-tip {
    margin-top:16px;
    font-size:11.5px;
    color:var(--text-soft);
    line-height:1.75;
  }

  .platform-grid {
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:22px;
  }
  .platform-card {
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:var(--radius-lg);
    padding:30px 26px 28px;
    display:flex; flex-direction:column;
    position:relative;
    box-shadow:var(--shadow-sm);
    transition:0.28s;
  }
  .platform-card:hover {
    transform:translateY(-4px);
    box-shadow:var(--shadow-md);
    border-color:var(--primary-soft);
  }
  .platform-card.recommended {
    border-color:var(--primary);
    box-shadow:0 12px 32px rgba(13,148,136,0.16);
  }
  .platform-card.recommended::before {
    content:'CURRENT DEVICE';
    position:absolute; top:-1px; right:-1px;
    background:linear-gradient(135deg, var(--primary), #0EA5E9);
    color:#FFFFFF;
    font-size:9px; font-weight:700;
    letter-spacing:0.10em;
    padding:5px 12px;
    border-radius:0 var(--radius-lg) 0 var(--radius-sm);
  }
  .pc-icon {
    width:52px; height:52px;
    border-radius:14px;
    background:linear-gradient(135deg, var(--primary-faint), var(--primary-soft));
    color:var(--primary-dark);
    font-size:14px; font-weight:800;
    letter-spacing:0.02em;
    display:flex; align-items:center; justify-content:center;
    margin-bottom:18px;
  }
  .pc-name {
    font-size:20px; font-weight:700;
    letter-spacing:-0.01em;
    margin-bottom:4px;
  }
  .pc-kind {
    font-size:10px; letter-spacing:0.14em;
    color:var(--text-soft);
    font-weight:600;
    text-transform:uppercase;
    margin-bottom:20px;
  }
  .spec-list {
    list-style:none;
    display:flex; flex-direction:column;
    margin-bottom:24px;
    flex:1;
  }
  .spec-list li {
    display:flex; justify-content:space-between; gap:10px;
    font-size:12px;
    color:var(--text-soft);
    padding:99px 0;
    padding:9px 0;
    border-bottom:1px dashed var(--line);
  }
  .spec-list li:last-child { border-bottom:none; }
  .spec-list li b {
    font-weight:600;
    color:var(--text);
    text-align:right;
  }
  .platform-card .btn-primary {
    width:100%;
    padding:13px 18px;
    font-size:12px;
  }

  .notice {
    border:1px solid var(--primary-soft);
    background:var(--primary-faint);
    border-radius:var(--radius);
    padding:16px 20px;
    font-size:12.5px;
    color:var(--text-mid);
    line-height:1.8;
    margin-top:24px;
    display:flex; gap:10px;
  }
  .notice::before {
    content:'!';
    width:20px; height:20px;
    border-radius:50%;
    background:var(--primary);
    color:#FFFFFF;
    font-size:12px; font-weight:700;
    display:flex; align-items:center; justify-content:center;
    flex-shrink:0;
    margin-top:1px;
  }
  .notice b { color:var(--primary-dark); font-weight:700; }

  .tabs {
    display:flex;
    gap:6px;
    padding:6px;
    background:var(--bg-soft);
    border-radius:14px;
    margin-bottom:22px;
    overflow-x:auto;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .tabs::-webkit-scrollbar { display: none; }
  .tab-btn {
    flex:1;
    background:transparent;
    border:none;
    color:var(--text-mid);
    font-family:var(--body);
    font-size:13px;
    font-weight:600;
    padding:11px 16px;
    border-radius:10px;
    cursor:pointer;
    transition:0.2s;
    white-space:nowrap;
  }
  .tab-btn:hover { color:var(--primary-dark); }
  .tab-btn.active {
    background:var(--surface);
    color:var(--primary-dark);
    box-shadow:0 2px 8px rgba(13,148,136,0.10);
  }
  .tab-panel { display:none; }
  .tab-panel.active { display:block; }

  .steps {
    display:flex; flex-direction:column;
    gap:12px;
  }
  .step {
    display:flex; gap:20px;
    padding:22px 24px;
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:var(--radius);
    align-items:flex-start;
    box-shadow:var(--shadow-sm);
    transition:0.2s;
  }
  .step:hover {
    border-color:var(--primary-soft);
    box-shadow:var(--shadow-md);
  }
  .step-idx {
    width:38px; height:38px;
    border-radius:11px;
    background:linear-gradient(135deg, var(--primary-faint), var(--primary-soft));
    color:var(--primary-dark);
    font-size:13px; font-weight:800;
    display:flex; align-items:center; justify-content:center;
    flex-shrink:0;
    transition:0.2s;
  }
  .step:hover .step-idx {
    background:linear-gradient(135deg, var(--primary), #0EA5E9);
    color:#FFFFFF;
  }
  .step-body h4 {
    font-size:14.5px; font-weight:700;
    margin-bottom:5px;
    letter-spacing:-0.005em;
  }
  .step-body p {
    font-size:13px;
    color:var(--text-mid);
    line-height:1.8;
  }
  .step-body code {
    font-family:'SFMono-Regular', 'Consolas', 'Menlo', monospace;
    font-size:12px;
    background:var(--bg-soft);
    border-radius:5px;
    padding:2px 7px;
    color:var(--primary-dark);
    font-weight:600;
  }

  .req-table-wrap {
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:var(--radius-lg);
    overflow:hidden;
    box-shadow:var(--shadow-sm);
  }
  .req-table {
    width:100%;
    border-collapse:collapse;
    font-size:13px;
  }
  .req-table th,
  .req-table td {
    text-align:left;
    padding:15px 20px;
    border-bottom:1px solid var(--line);
  }
  .req-table tr:last-child td { border-bottom:none; }
  .req-table thead th {
    font-size:11px;
    letter-spacing:0.10em;
    text-transform:uppercase;
    color:var(--primary-dark);
    background:var(--primary-faint);
    font-weight:700;
  }
  .req-table tbody td:first-child {
    font-size:12.5px;
    color:var(--text-soft);
    font-weight:500;
    white-space:nowrap;
  }
  .req-table tbody td { color:var(--text); }
  .req-table tbody tr:hover td { background:var(--bg-soft); }

  .faq-list {
    display:flex; flex-direction:column; gap:12px;
  }
  .faq-item {
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:var(--radius);
    overflow:hidden;
    box-shadow:var(--shadow-sm);
    transition:0.25s;
  }
  .faq-item.open {
    border-color:var(--primary-soft);
    box-shadow:var(--shadow-md);
  }
  .faq-q {
    width:100%;
    background:none;
    border:none;
    color:var(--text);
    font-family:var(--body);
    font-size:14.5px; font-weight:600;
    text-align:left;
    padding:22px 26px;
    cursor:pointer;
    display:flex; justify-content:space-between; align-items:center; gap:16px;
    transition:0.2s;
    letter-spacing:-0.005em;
  }
  .faq-q:hover { color:var(--primary-dark); }
  .faq-marker {
    width:28px; height:28px;
    border-radius:50%;
    background:var(--bg-soft);
    color:var(--text-mid);
    font-size:16px;
    display:flex; align-items:center; justify-content:center;
    flex-shrink:0;
    transition:0.25s;
    line-height:1;
  }
  .faq-item.open .faq-marker {
    background:var(--primary);
    color:#FFFFFF;
    transform:rotate(45deg);
  }
  .faq-a {
    max-height:0;
    overflow:hidden;
    transition:max-height 0.35s ease, padding 0.35s ease;
    padding:0 26px;
    font-size:13.5px;
    color:var(--text-mid);
    line-height:1.85;
  }
  .faq-item.open .faq-a {
    max-height:300px;
    padding:0 26px 22px;
  }

  .footer-meta {
    padding:32px 64px 44px;
    display:flex; justify-content:space-between; align-items:center;
    font-size:11px;
    color:var(--text-soft);
    letter-spacing:0.04em;
    flex-wrap:wrap; gap:12px;
    border-top:1px solid var(--line);
  }

  .hero, .section { scroll-margin-top: 24px; }

  @media (max-width: 1100px) {
    .hero-grid { grid-template-columns:1fr; gap:40px; }
    .qr-card { max-width:420px; }
  }

  @media (max-width: 960px) {
    .sidebar {
      position: sticky;
      top: 0;
      left: auto;
      bottom: auto;
      z-index: 300;
      width: 100%;
      height: auto;
      display: grid;
      grid-template-columns: 1fr auto;
      grid-template-areas:
        "brand dl"
        "nav nav";
      align-items: stretch;
      padding: 0;
      border-right: none;
      border-bottom: 1px solid var(--line);
      background: rgba(255,255,255,0.92);
      backdrop-filter: blur(18px);
    }
    .sidebar-brand {
      grid-area: brand;
      padding: 12px 16px;
      border-bottom: 1px solid var(--line);
      display: flex;
      flex-direction: column;
      justify-content: center;
    }
    .sidebar-brand .mark { font-size:13px; }
    .sidebar-brand .mark::before { width:22px; height:22px; border-radius:7px; }
    .sidebar-brand .sub { display: none; }
    .sidebar-dl {
      grid-area: dl;
      padding: 12px 16px;
      border-bottom: 1px solid var(--line);
      display: flex;
      align-items: center;
    }
    .sidebar-dl a {
      padding: 9px 16px;
      font-size: 11px;
      white-space: nowrap;
    }
    .side-nav {
      grid-area: nav;
      flex: none;
      width: 100%;
      flex-direction: row;
      overflow-x: auto;
      padding: 0 8px;
      gap: 0;
      scrollbar-width: none;
      -ms-overflow-style: none;
      -webkit-overflow-scrolling: touch;
    }
    .side-nav::-webkit-scrollbar { display: none; }
    .side-nav a {
      flex-shrink: 0;
      white-space: nowrap;
      padding: 13px 14px;
      font-size: 12px;
      border-radius: 0;
      border-bottom: 2px solid transparent;
      background: transparent;
    }
    .side-nav a.active {
      background: transparent;
      border-bottom-color: var(--primary);
      border-radius: 0;
    }
    .sidebar-status { display: none; }
    .main { margin-left: 0; }
    .hero, .section { scroll-margin-top: 104px; }
    .hero { padding:64px 24px 52px; }
    .section { padding:60px 24px; }
    .platform-grid { grid-template-columns:1fr; }
    .footer-meta { padding:0 24px 36px; }
    .req-table { font-size:12px; }
    .req-table th, .req-table td { padding:12px 14px; }
  }

  @media (max-width: 640px) {
    .tabs { flex-direction:column; }
    .tab-btn { text-align:left; }
    .req-table-wrap { overflow-x:auto; }
    .req-table { min-width:560px; }
    .download-actions { flex-direction:column; align-items:stretch; }
    .download-actions .btn-primary,
    .download-actions .btn-ghost { width:100%; }
    .step { gap:14px; padding:18px 18px; }
    .step-idx { width:34px; height:34px; font-size:12px; border-radius:10px; }
    .faq-q { padding:18px 20px; font-size:13.5px; }
    .faq-a { padding:0 20px; }
    .faq-item.open .faq-a { padding:0 20px 18px; }
    .footer-meta { flex-direction:column; align-items:flex-start; }
  }

