body {
      font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei",
                   "WenQuanYi Micro Hei", "Noto Sans SC", system-ui, -apple-system, sans-serif;
      -webkit-font-smoothing: antialiased;
    }
    html[lang="en"] body {
      font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    }
    html { scroll-behavior: smooth; scroll-padding-top: 5rem; }

    #scroll-progress {
      position: fixed;
      top: 0; left: 0;
      height: 3px;
      width: 0%;
      z-index: 60;
      background: linear-gradient(90deg, #2563eb, #38bdf8, #818cf8);
      transition: width 0.08s linear;
      pointer-events: none;
    }

    .gradient-bg {
      background: linear-gradient(135deg, #1e3a8a 0%, #1e40af 40%, #0ea5e9 100%);
      background-size: 200% 200%;
      animation: gradientShift 12s ease infinite;
    }

    html.dark .gradient-bg {
      background: linear-gradient(135deg, #020617 0%, #0b1224 42%, #172554 100%);
      background-size: 200% 200%;
    }
    @keyframes gradientShift {
      0%, 100% { background-position: 0% 50%; }
      50% { background-position: 100% 50%; }
    }

    

    .hero-badge {
      opacity: 0;
      animation: heroIn 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.05s forwards;
    }
    .hero-title {
      opacity: 0;
      animation: heroIn 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.15s forwards;
    }
    .hero-desc {
      opacity: 0;
      animation: heroIn 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.3s forwards;
    }
    @keyframes heroIn {
      from { opacity: 0; transform: translateY(28px); filter: blur(4px); }
      to   { opacity: 1; transform: translateY(0); filter: blur(0); }
    }

    .float {
      animation: float 7s ease-in-out infinite;
    }
    .float-slow {
      animation: float 10s ease-in-out infinite reverse;
    }
    @keyframes float {
      0%, 100% { transform: translate(0, 0) scale(1); }
      33% { transform: translate(8px, -14px) scale(1.03); }
      66% { transform: translate(-6px, -8px) scale(0.98); }
    }

    .card-hover {
      transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1),
                  box-shadow 0.35s cubic-bezier(0.16, 1, 0.3, 1),
                  border-color 0.3s ease;
    }
    .card-hover:hover {
      
      box-shadow: 0 16px 28px -12px rgb(37 99 235 / 0.16),
                  0 6px 14px -8px rgb(0 0 0 / 0.06);
      border-color: rgb(147 197 253 / 0.7);
    }

    .icon-svg,
    .icon-svg-sm,
    .icon-svg-lg,
    .icon-svg-xl {
      stroke: currentColor;
      fill: none;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
      flex-shrink: 0;
      pointer-events: none;
    }
    .icon-svg {
      width: 1.5rem;
      height: 1.5rem;
    }
    .icon-svg-lg {
      width: 1.75rem;
      height: 1.75rem;
    }
    .icon-svg-xl {
      width: 2.5rem;
      height: 2.5rem;
    }
    .icon-svg-sm {
      width: 1rem;
      height: 1rem;
    }

    

    
    .dl-icon {
      position: relative;
      width: 4.75rem;
      height:   4.75rem;
      flex-shrink: 0;
    }
    @media (min-width: 768px) {
      .dl-icon { width: 5.25rem; height: 5.25rem; }
    }
    .dl-icon-ring {
      position: absolute;
      inset: -2px;
      border-radius: 1.35rem;
      border: 2px solid rgba(37, 99, 235, 0.3);
      animation: dlRingPulse 2.8s ease-out infinite;
      pointer-events: none;
    }
    .dl-icon-ring2 {
      position: absolute;
      inset: -2px;
      border-radius: 1.35rem;
      border: 2px solid rgba(37, 99, 235, 0.2);
      animation: dlRingPulse 2.8s ease-out 1.2s infinite;
      pointer-events: none;
    }
    @keyframes dlRingPulse {
      0% { transform: scale(1); opacity: 0.65; }
      100% { transform: scale(1.22); opacity: 0; }
    }
    .dl-icon-core {
      position: absolute;
      inset: 0.3rem;
      border-radius: 1rem;
      background: linear-gradient(145deg, #3b82f6 0%, #2563eb 55%, #1d4ed8 100%);
      display: flex;
      align-items: center;
      justify-content: center;
      box-shadow: 0 10px 28px -6px rgba(37, 99, 235, 0.5);
      transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s ease;
    }
    .main-dl-card:hover .dl-icon-core {
      transform: scale(1.05);
      box-shadow: 0 14px 32px -4px rgba(37, 99, 235, 0.6);
    }
    .dl-icon-svg {
      width: 2.1rem;
      height:  2.1rem;
      stroke: #fff;
      fill: none;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
      overflow: visible;
    }
    @media (min-width: 768px) {
      .dl-icon-svg { width: 2.25rem; height:  2.25rem; }
    }
    .dl-arrow {
      animation: dlArrowBounce 1.5s ease-in-out infinite;
    }
    @keyframes dlArrowBounce {
      0%, 100% { transform: translateY(0); }
      50% { transform: translateY(3.5px); }
    }

    
    .tool-icon {
      width: 3.15rem;
      height: 3.15rem;
      border-radius: 0.9rem;
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 1rem;
      transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s ease;
      position: relative;
      overflow: hidden;
    }
    .tool-icon::after {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(115deg, transparent 25%, rgba(255,255,255,0.4) 50%, transparent 75%);
      transform: translateX(-120%);
      transition: transform 0.6s ease;
    }
    .card-hover:hover .tool-icon {
      transform: translateY(-4px) scale(1.06);
    }
    .card-hover:hover .tool-icon::after {
      transform: translateX(120%);
    }
    .tool-icon svg {
      width: 1.55rem;
      height: 1.55rem;
      stroke: currentColor;
      fill: none;
      stroke-width: 1.75;
      stroke-linecap: round;
      stroke-linejoin: round;
      position: relative;
      z-index: 1;
      transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
    }
    .card-hover:hover .tool-icon svg {
      transform: scale(1.06);
    }
    
    .tool-icon .anim-pulse {
      animation: toolPartPulse 2.2s ease-in-out infinite;
    }
    .tool-icon .anim-flow {
      animation: toolPartFlow 2s ease-in-out infinite;
    }
    .tool-icon.d2 .anim-pulse { animation-delay: 0.4s; }
    .tool-icon.d3 .anim-pulse { animation-delay: 0.8s; }
    @keyframes toolPartPulse {
      0%, 100% { opacity: 1; }
      50% { opacity: 0.45; }
    }
    @keyframes toolPartFlow {
      0%, 100% { opacity: 0.4; }
      50% { opacity: 1; }
    }
    .tool-icon.indigo {
      background: linear-gradient(145deg, #e0e7ff, #c7d2fe);
      color: #4338ca;
      box-shadow: 0 4px 14px -4px rgba(67, 56, 202, 0.35);
    }
    .tool-icon.sky {
      background: linear-gradient(145deg, #e0f2fe, #bae6fd);
      color: #0369a1;
      box-shadow: 0 4px 14px -4px rgba(3, 105, 161, 0.35);
    }
    .tool-icon.emerald {
      background: linear-gradient(145deg, #d1fae5, #a7f3d0);
      color: #047857;
      box-shadow: 0 4px 14px -4px rgba(4, 120, 87, 0.35);
    }
    html.dark .tool-icon.indigo {
      background: linear-gradient(145deg, #312e81, #3730a3);
      color: #a5b4fc;
    }
    html.dark .tool-icon.sky {
      background: linear-gradient(145deg, #0c4a6e, #075985);
      color: #7dd3fc;
    }
    html.dark .tool-icon.emerald {
      background: linear-gradient(145deg, #064e3b, #065f46);
      color: #6ee7b7;
    }

    .btn-dl-arrow {
      transition: transform 0.25s ease;
    }
    .btn-primary:hover .btn-dl-arrow {
      transform: translateY(2px);
    }

    
    .flow-card {
      border: 1px solid #e2e8f0;
      border-radius: 1.25rem;
      background: #fff;
      overflow: hidden;
      transition: border-color 0.3s, box-shadow 0.3s;
    }
    html.dark .flow-card {
      background: #0f172a;
      border-color: #1e293b;
    }
    .flow-step-badge {
      width: 1.75rem; height: 1.75rem;
      border-radius: 0.5rem;
      background: linear-gradient(145deg, #3b82f6, #1d4ed8);
      color: #fff; font-size: 0.75rem; font-weight: 800;
      display: inline-flex; align-items: center; justify-content: center;
      flex-shrink: 0;
    }

    
    .browser-demo {
      background: #f1f3f4;
      border-radius: 0.75rem;
      border: 1px solid #dadce0;
      overflow: hidden;
      font-family: "Segoe UI", system-ui, sans-serif;
      box-shadow: 0 10px 28px -10px rgba(0,0,0,0.18);
    }
    html.dark .browser-demo {
      background: #292a2d; border-color: #3c4043;
    }
    .browser-bar {
      background: #fff; padding: 0.45rem 0.75rem;
      border-bottom: 1px solid #dadce0;
      display: flex; align-items: center; gap: 0.4rem;
      font-size: 0.7rem; color: #5f6368;
    }
    html.dark .browser-bar {
      background: #35363a; border-color: #3c4043; color: #9aa0a6;
    }
    .browser-dot { width: 0.45rem; height: 0.45rem; border-radius: 50%; }
    .dl-toast {
      margin: 0.65rem;
      background: #fff;
      border-radius: 0.65rem;
      border: 1px solid #e8eaed;
      padding: 0.75rem 0.85rem;
      box-shadow: 0 4px 16px rgba(0,0,0,0.08);
      animation: toastIn 0.5s cubic-bezier(0.16, 1, 0.3, 1) both;
    }
    html.dark .dl-toast {
      background: #3c4043; border-color: #5f6368;
    }
    @keyframes toastIn {
      from { opacity: 0; transform: translateY(10px) scale(0.96); }
      to { opacity: 1; transform: translateY(0) scale(1); }
    }
    .dl-toast-warn {
      font-size: 0.72rem; color: #b45309; margin-top: 0.25rem;
    }
    html.dark .dl-toast-warn { color: #fbbf24; }
    .keep-btn {
      display: inline-flex; align-items: center; justify-content: center;
      padding: 0.35rem 0.9rem;
      border-radius: 9999px;
      background: #1a73e8; color: #fff;
      font-size: 0.75rem; font-weight: 600;
      animation: keepPulse 1.8s ease-in-out infinite;
      box-shadow: 0 0 0 0 rgba(26, 115, 232, 0.45);
    }
    @keyframes keepPulse {
      0%, 100% { box-shadow: 0 0 0 0 rgba(26, 115, 232, 0.4); transform: scale(1); }
      50% { box-shadow: 0 0 0 8px rgba(26, 115, 232, 0); transform: scale(1.04); }
    }
    .keep-cursor {
      display: inline-block;
      width: 0.55rem; height: 0.55rem;
      border-radius: 50%;
      background: #ea4335;
      margin-left: 0.35rem;
      animation: cursorTap 1.8s ease-in-out infinite;
      vertical-align: middle;
    }
    @keyframes cursorTap {
      0%, 40% { opacity: 0; transform: scale(0.5); }
      55% { opacity: 1; transform: scale(1.2); }
      70%, 100% { opacity: 0.3; transform: scale(1); }
    }

    
    .win-dialog {
      background: #fff;
      border-radius: 0.5rem;
      border: 1px solid #e5e5e5;
      box-shadow: 0 12px 40px -8px rgba(0,0,0,0.22);
      overflow: hidden;
      font-family: "Segoe UI", system-ui, sans-serif;
      animation: toastIn 0.55s cubic-bezier(0.16, 1, 0.3, 1) both;
    }
    html.dark .win-dialog {
      background: #2b2b2b; border-color: #404040; color: #eee;
    }
    .win-dialog-head {
      padding: 1rem 1.1rem 0.5rem;
      display: flex; gap: 0.75rem; align-items: flex-start;
    }
    .win-shield {
      width: 2.25rem; height: 2.25rem; flex-shrink: 0;
      color: #0078d4;
      animation: shieldPulse 2s ease-in-out infinite;
    }
    @keyframes shieldPulse {
      0%, 100% { transform: scale(1); opacity: 1; }
      50% { transform: scale(1.08); opacity: 0.85; }
    }
    .win-dialog-title {
      font-size: 0.95rem; font-weight: 600; color: #1a1a1a;
    }
    html.dark .win-dialog-title { color: #f3f3f3; }
    .win-dialog-sub {
      font-size: 0.75rem; color: #666; margin-top: 0.2rem; line-height: 1.45;
    }
    html.dark .win-dialog-sub { color: #aaa; }
    .win-dialog-actions {
      padding: 0.65rem 1.1rem 1rem;
      display: flex; flex-direction: column; gap: 0.4rem; align-items: flex-end;
    }
    .win-btn-more {
      font-size: 0.75rem; color: #0078d4; font-weight: 500;
      animation: moreBlink 2.2s ease-in-out infinite;
    }
    @keyframes moreBlink {
      0%, 100% { opacity: 1; }
      50% { opacity: 0.45; }
    }
    .win-btn-run {
      display: inline-flex; align-items: center; gap: 0.35rem;
      padding: 0.4rem 0.95rem;
      border-radius: 0.25rem;
      background: #0078d4; color: #fff;
      font-size: 0.75rem; font-weight: 600;
      animation: keepPulse 1.8s ease-in-out 0.4s infinite;
    }
    .flow-arrow {
      animation: flowArrow 1.4s ease-in-out infinite;
    }
    @keyframes flowArrow {
      0%, 100% { transform: translateX(0); opacity: 0.5; }
      50% { transform: translateX(4px); opacity: 1; }
    }

    @media (prefers-reduced-motion: reduce) {
      .dl-icon-ring, .dl-icon-ring2, .dl-arrow,
      .tool-icon .anim-pulse, .tool-icon .anim-flow,
      .keep-btn, .keep-cursor, .win-shield, .win-btn-more, .win-btn-run,
      .dl-toast, .win-dialog, .flow-arrow,
      .se-item.active, .se-hint::before, .se-btn.primary {
        animation: none !important;
      }
      .dl-arrow { transform: none; }
      .tool-icon .anim-pulse, .tool-icon .anim-flow { opacity: 1; }
    }

    .se-footer {
      display: flex; justify-content: flex-end; gap: 0.35rem;
      padding: 0.4rem 0.55rem;
      background: #f0f0f0;
      border-top: 1px solid #d0d0d0;
    }
    html.dark .se-footer { background: #2a2a2a; border-color: #555; }
    .se-btn {
      font-size: 0.65rem;
      padding: 0.2rem 0.55rem;
      border: 1px solid #adadad;
      background: #e1e1e1;
      color: #333;
      border-radius: 0.15rem;
    }
    html.dark .se-btn { background: #444; border-color: #666; color: #ddd; }
    .se-btn.primary {
      background: #fff;
      border-color: #0078d4;
      color: #0078d4;
      font-weight: 600;
      animation: seBtnPulse 1.6s ease-in-out infinite;
    }
    html.dark .se-btn.primary {
      background: #1e3a5f; border-color: #3b82f6; color: #93c5fd;
    }
    @keyframes seBtnPulse {
      0%, 100% { box-shadow: 0 0 0 0 rgba(0,120,212,0.35); }
      50% { box-shadow: 0 0 0 4px rgba(0,120,212,0); }
    }
    
    .usb-panel {
      display: flex;
      border: 1px solid #a0a0a0;
      border-radius: 0.25rem;
      overflow: hidden;
      box-shadow: 0 8px 24px -8px rgba(0,0,0,0.2);
      font-family: "Segoe UI", "Microsoft YaHei", system-ui, sans-serif;
      font-size: 0.7rem;
      margin-top: 0.5rem;
      margin-bottom: 0.75rem;
      background: #fff;
    }
    html.dark .usb-panel { border-color: #555; background: #2b2b2b; }
    .usb-side {
      width: 4.5rem; flex-shrink: 0;
      background: linear-gradient(180deg, #2c4a6e 0%, #1e3a5f 100%);
      color: #fff;
      display: flex; flex-direction: column; align-items: center; justify-content: center;
      padding: 0.5rem 0.25rem;
      text-align: center;
      font-weight: 700; font-size: 0.58rem; line-height: 1.25;
    }
    .usb-side-icon {
      width: 2.2rem; height: 2.2rem;
      background: #fff; border-radius: 0.35rem;
      margin-bottom: 0.35rem;
      display: flex; align-items: center; justify-content: center;
      color: #2563eb;
    }
    .usb-side-icon svg { width: 1.25rem; height: 1.25rem; stroke: currentColor; fill: none; stroke-width: 1.75; }
    .usb-main { flex: 1; padding: 0.55rem 0.65rem 0.4rem; min-width: 0; }
    html.dark .usb-main { color: #e5e5e5; }
    .usb-main h5 {
      font-size: 0.78rem; font-weight: 700; color: #111; margin-bottom: 0.35rem; line-height: 1.3;
    }
    html.dark .usb-main h5 { color: #f1f5f9; }
    .usb-main p { color: #555; line-height: 1.4; margin-bottom: 0.25rem; }
    html.dark .usb-main p { color: #aab; }
    .usb-foot {
      display: flex; justify-content: flex-end; gap: 0.35rem;
      padding: 0.35rem 0.55rem;
      background: #f0f0f0;
      border-top: 1px solid #d0d0d0;
    }
    html.dark .usb-foot { background: #2a2a2a; border-color: #555; }

    
    .se-panel {
      background: #f0f0f0;
      border: 1px solid #a0a0a0;
      border-radius: 0.25rem;
      box-shadow: 0 8px 24px -8px rgba(0,0,0,0.2);
      font-family: "Segoe UI", "Microsoft YaHei", system-ui, sans-serif;
      overflow: hidden;
      font-size: 0.72rem;
      margin-top: 0.65rem;
      margin-bottom: 0.85rem;
    }
    html.dark .se-panel {
      background: #2b2b2b;
      border-color: #555;
      color: #e5e5e5;
    }
    .se-titlebar {
      background: #fff;
      border-bottom: 1px solid #d0d0d0;
      padding: 0.45rem 0.65rem;
      font-weight: 600;
      font-size: 0.7rem;
      color: #1a1a1a;
      display: flex; align-items: center; justify-content: space-between;
    }
    html.dark .se-titlebar {
      background: #3a3a3a; border-color: #555; color: #eee;
    }
    .se-body { padding: 0.55rem 0.65rem 0.7rem; background: #fff; }
    html.dark .se-body { background: #333; }
    .se-heading {
      font-weight: 700; color: #1e3a8a; margin-bottom: 0.45rem; font-size: 0.75rem;
    }
    html.dark .se-heading { color: #93c5fd; }
    .se-list {
      border: 1px solid #c0c0c0;
      background: #fff;
      max-height: 6.5rem;
      overflow: hidden;
    }
    html.dark .se-list { border-color: #555; background: #2a2a2a; }
    .se-item {
      padding: 0.35rem 0.5rem;
      display: flex; align-items: center; gap: 0.4rem;
      color: #333;
      border-bottom: 1px solid #eee;
    }
    html.dark .se-item { color: #ddd; border-color: #444; }
    .se-item:last-child { border-bottom: none; }
    .se-item.active {
      background: #d0d0d0;
      font-weight: 600;
      position: relative;
      animation: seSelect 2s ease-in-out infinite;
    }
    html.dark .se-item.active { background: #4a5568; }
    @keyframes seSelect {
      0%, 100% { box-shadow: inset 0 0 0 0 rgba(37,99,235,0); }
      50% { box-shadow: inset 0 0 0 2px rgba(37,99,235,0.45); }
    }
    .se-item .ico {
      width: 0.9rem; height: 0.9rem; flex-shrink: 0;
      border-radius: 0.15rem;
      background: linear-gradient(145deg, #60a5fa, #2563eb);
    }
    .se-item.active .ico {
      background: linear-gradient(145deg, #fbbf24, #f59e0b);
    }
    .se-about {
      margin-top: 0.5rem;
      color: #444;
      line-height: 1.4;
    }
    html.dark .se-about { color: #bbb; }
    .se-about strong { color: #1e3a8a; }
    html.dark .se-about strong { color: #93c5fd; }
    .se-hint {
      margin-top: 0.45rem;
      font-size: 0.68rem;
      font-weight: 600;
      color: #b45309;
      display: flex; align-items: center; gap: 0.25rem;
    }
    html.dark .se-hint { color: #fbbf24; }
    .se-hint::before {
      content: '→';
      animation: seArrow 1.2s ease-in-out infinite;
    }
    @keyframes seArrow {
      0%, 100% { transform: translateX(0); opacity: 0.5; }
      50% { transform: translateX(3px); opacity: 1; }
    }
    .install-tip {
      font-size: 0.7rem;
      color: #64748b;
      line-height: 1.45;
      margin-bottom: 0.75rem;
    }
    html.dark .install-tip { color: #94a3b8; }

    nav {
      transition: box-shadow 0.35s ease, background 0.35s ease, backdrop-filter 0.35s ease, border-color 0.35s ease;
    }
    nav.scrolled {
      box-shadow: 0 8px 30px -8px rgb(0 0 0 / 0.1);
      background: rgba(255,255,255,0.95);
    }
    nav a {
      position: relative;
      transition: color 0.25s ease;
    }
    nav a:not(.bg-primary)::after {
      content: '';
      position: absolute;
      left: 0; bottom: -4px;
      width: 0; height: 2px;
      background: #2563eb;
      transition: width 0.3s cubic-bezier(0.16, 1, 0.3, 1);
      border-radius: 1px;
    }
    nav a:not(.bg-primary):hover::after {
      width: 100%;
    }

    .btn-primary,
    .btn-outline,
    a[href],
    button {
      -webkit-tap-highlight-color: transparent;
      touch-action: manipulation;
    }
    .btn-primary {
      position: relative;
      overflow: hidden;
      min-height: 48px;
      transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1),
                  box-shadow 0.25s ease;
    }
    .btn-primary:hover {
      transform: translateY(-2px) scale(1.02);
      box-shadow: 0 12px 24px -8px rgb(37 99 235 / 0.45);
    }
    .btn-primary:active {
      transform: translateY(0) scale(0.97);
    }
    .btn-primary::after {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(120deg, transparent 30%, rgba(255,255,255,0.25) 50%, transparent 70%);
      transform: translateX(-100%);
      transition: transform 0.6s ease;
    }
    .btn-primary:hover::after {
      transform: translateX(100%);
    }
    .btn-cta-pulse {
      animation: ctaPulse 2.4s ease-in-out infinite;
    }
    @keyframes ctaPulse {
      0%, 100% { box-shadow: 0 8px 24px -6px rgba(37, 99, 235, 0.35); }
      50% { box-shadow: 0 12px 32px -4px rgba(37, 99, 235, 0.55); }
    }
    @media (prefers-reduced-motion: reduce) {
      .btn-cta-pulse { animation: none; }
    }

    .btn-outline {
      min-height: 44px;
      transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    }
    .btn-outline:hover {
      transform: translateY(-2px);
    }
    .btn-outline:active {
      transform: scale(0.97);
    }

    .title-line {
      position: relative;
      display: inline-block;
    }
    .title-line::after {
      content: '';
      position: absolute;
      left: 50%;
      bottom: -8px;
      width: 48px;
      height: 3px;
      background: linear-gradient(90deg, #2563eb, #38bdf8);
      border-radius: 2px;
      transform: translateX(-50%);
    }

    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
      }
    }

    img { max-width: 100%; height: auto; }

    #mobile-menu-btn svg {
      transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.2s ease;
    }
    #mobile-menu-btn.is-open svg {
      transform: rotate(90deg) scale(0.92);
    }
    #mobile-menu:not(.hidden) {
      animation: menuSlideIn 0.28s cubic-bezier(0.16, 1, 0.3, 1) forwards;
    }
    @keyframes menuSlideIn {
      from { opacity: 0; transform: translateY(-8px); }
      to   { opacity: 1; transform: translateY(0); }
    }

    #back-to-top {
      position: fixed;
      right: calc(1.25rem + env(safe-area-inset-right, 0px));
      bottom: calc(1.5rem + env(safe-area-inset-bottom, 0px));
      z-index: 40;
      width: 2.75rem;
      height: 2.75rem;
      border-radius: 9999px;
      background: #2563eb;
      color: #fff;
      display: flex;
      align-items: center;
      justify-content: center;
      box-shadow: 0 8px 24px -6px rgb(37 99 235 / 0.45);
      opacity: 0;
      visibility: hidden;
      transform: translateY(12px) scale(0.9);
      transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), background 0.2s ease;
      -webkit-tap-highlight-color: transparent;
      border: none;
      cursor: pointer;
    }
    #back-to-top.visible {
      opacity: 1;
      visibility: visible;
      transform: translateY(0) scale(1);
    }
    #back-to-top:hover {
      background: #1d4ed8;
      transform: translateY(-2px) scale(1.05);
    }
    #back-to-top:active {
      transform: scale(0.95);
    }

    #theme-toggle, #lang-toggle {
      width: 2.25rem;
      height: 2.25rem;
      border-radius: 9999px;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: background 0.2s ease, color 0.2s ease;
      -webkit-tap-highlight-color: transparent;
      border: none;
      cursor: pointer;
      background: transparent;
      color: #475569;
      font-size: 0.75rem;
      font-weight: 700;
      letter-spacing: 0.02em;
    }
    #theme-toggle:hover, #lang-toggle:hover {
      background: #f1f5f9;
      color: #2563eb;
    }
    #theme-toggle .icon-sun,
    #theme-toggle .icon-moon {
      width: 1.25rem;
      height: 1.25rem;
      stroke: currentColor;
      fill: none;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }
    #theme-toggle .icon-sun { display: none; }
    #theme-toggle .icon-moon { display: block; }
    html.dark #theme-toggle .icon-sun { display: block; }
    html.dark #theme-toggle .icon-moon { display: none; }
    html.dark #theme-toggle,
    html.dark #lang-toggle {
      color: #94a3b8;
    }
    html.dark #theme-toggle:hover,
    html.dark #lang-toggle:hover {
      background: #1e293b;
      color: #60a5fa;
    }
    #lang-toggle {
      min-width: 2.5rem;
      padding: 0 0.35rem;
    }

    html.dark {
      color-scheme: dark;
    }
    html.dark body {
      background-color: #0f172a;
      color: #e2e8f0;
    }
    html.dark nav {
      background: rgba(15, 23, 42, 0.92);
      border-color: #1e293b;
    }
    html.dark nav.scrolled {
      background: rgba(15, 23, 42, 0.96);
      box-shadow: 0 8px 30px -8px rgb(0 0 0 / 0.45);
    }
    html.dark nav a:not(.bg-primary) {
      color: #cbd5e1;
    }
    html.dark nav a:not(.bg-primary):hover {
      color: #60a5fa;
    }
    html.dark nav a:not(.bg-primary)::after {
      background: #60a5fa;
    }
    html.dark #mobile-menu {
      background: rgba(15, 23, 42, 0.98);
      border-color: #1e293b;
    }
    html.dark #mobile-menu a {
      color: #cbd5e1;
    }
    html.dark #mobile-menu-btn:hover {
      background: #1e293b;
    }
    html.dark #mobile-menu-btn svg {
      color: #e2e8f0;
    }
    html.dark section.bg-white,
    html.dark section.bg-slate-50 {
      background-color: #0f172a !important;
    }
    html.dark .card-hover,
    html.dark .dl-card {
      background-color: #1e293b !important;
      border-color: #334155 !important;
    }
    html.dark .card-hover:hover {
      border-color: rgb(96 165 250 / 0.5) !important;
      box-shadow: 0 20px 32px -12px rgb(37 99 235 / 0.25),
                  0 8px 16px -8px rgb(0 0 0 / 0.3);
    }
    html.dark .border-slate-100,
    html.dark .border-slate-200,
    html.dark section.border-t {
      border-color: #334155 !important;
    }
    html.dark .text-slate-500 { color: #94a3b8 !important; }
    html.dark .text-slate-600 { color: #94a3b8 !important; }
    html.dark .text-slate-800 { color: #e2e8f0 !important; }
    html.dark .text-slate-400 { color: #64748b !important; }
    html.dark .text-slate-900 { color: #f1f5f9 !important; }
    html.dark footer {
      background-color: #020617;
    }
    html.dark #back-to-top {
      background: #3b82f6;
      box-shadow: 0 8px 24px -6px rgb(59 130 246 / 0.5);
    }
    html.dark #back-to-top:hover {
      background: #2563eb;
    }
    html.dark .title-line::after {
      background: linear-gradient(90deg, #3b82f6, #38bdf8);
    }
    html.dark .main-dl-card {
      background: linear-gradient(145deg, #1e293b 0%, #0f172a 100%) !important;
      border-color: rgba(59, 130, 246, 0.45) !important;
    }
    html.dark .btn-secondary {
      background-color: #1e293b !important;
      border-color: #475569 !important;
      color: #e2e8f0 !important;
    }
    html.dark .btn-secondary:hover {
      background-color: #334155 !important;
      border-color: #60a5fa !important;
      color: #60a5fa !important;
    }
    html.dark .tip-box {
      background-color: #1e293b !important;
      border-color: #334155 !important;
    }
  
    
    .js-anim-root.is-offscreen,
    .js-anim-root.is-offscreen * {
      animation-play-state: paused !important;
    }

    .hero-badge-dot {
      animation: pulseDot 1.6s ease-in-out infinite;
    }
    @keyframes pulseDot {
      0%, 100% { opacity: 1; transform: scale(1); }
      50% { opacity: 0.55; transform: scale(0.85); }
    }
    .breadcrumb a { color: rgba(186, 230, 253, 0.85); }
    .breadcrumb a:hover { color: #fff; }
