    :root {
      --bg: #121212;
      --card-bg: #1e1e1e;
      --border: #2c2c2c;
      --text: #e0e0e0;
      --text-secondary: #aaaaaa;
      --accent: #4a90e2;
      --accent-dim: rgba(74,144,226,0.12);
      --shadow: 0 4px 12px rgba(0,0,0,0.5);
      --radius: 12px;
    }

    * { margin:0; padding:0; box-sizing:border-box; }

    body {
      font-family: 'Sora', sans-serif;
      background: var(--bg);
      color: var(--text);
      line-height: 1.7;
      min-height: 100vh;
      padding-top: 76px;
    }

    header {
      position: fixed;
      top: 0; left: 0; right: 0;
      height: 56px;
      background: var(--bg);
      border-bottom: 1px solid var(--border);
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 0 20px;
      z-index: 1000;
    }

    .logo-search { display:flex; align-items:center; gap:10px; flex:1; }
    .logo { font-size:24px; font-weight:700; color:var(--text); }
    .search { flex:1; max-width:700px; position:relative; }

    #searchBox {
      width:100%; padding:0.625rem 1.25rem;
      border-radius:1.875rem; border:1px solid var(--border);
      background:var(--card-bg); color:var(--text);
      font-size:1rem; outline:none; box-sizing:border-box;
      font-family:'Sora',sans-serif;
    }

    .search-icon {
      position:absolute; right:1.25rem; top:50%;
      transform:translateY(-50%);
      color:var(--accent); cursor:pointer;
    }

    .nav-options { display:flex; align-items:center; gap:20px; font-weight:500; }

    .nav-item {
      position:relative; padding:8px 14px;
      font-size:0.95rem; font-weight:500;
      color:var(--text-secondary); border-radius:10px;
      cursor:pointer; text-decoration:none;
      transition:color .25s, background .25s, transform .15s;
    }
    .nav-item:hover { color:var(--text); background:rgba(74,144,226,0.12); transform:translateY(-1px); }
    .nav-item.active { color:#fff; background:rgba(74,144,226,0.25); }
    .nav-item.active::after {
      content:""; position:absolute; left:20%; right:20%;
      bottom:-6px; height:3px; background:var(--accent); border-radius:3px;
    }

    .container { max-width:900px; margin:0 auto; padding:40px 20px 60px; }

    .page-hero { text-align:center; margin-bottom:48px; }

    .page-hero h1 {
      font-size:3rem; font-weight:700; margin-bottom:0.4rem;
      background:linear-gradient(90deg, var(--accent), #60a5fa);
      -webkit-background-clip:text; -webkit-text-fill-color:transparent;
      letter-spacing:-0.5px;
    }

    .page-hero .subtitle { color:var(--text-secondary); font-size:1.1rem; margin-bottom:1.2rem; }

    .last-updated {
      display:inline-flex; align-items:center; gap:8px;
      background:var(--accent-dim); border:1px solid rgba(74,144,226,0.25);
      border-radius:30px; padding:6px 16px;
      color:var(--accent); font-size:0.88rem; font-family:'JetBrains Mono',monospace;
    }

    .section {
      background:linear-gradient(to bottom right, var(--card-bg), #181818);
      border:1px solid var(--border);
      border-radius:var(--radius);
      margin-bottom:1.4rem;
      overflow:hidden;
      transition:border-color .25s, box-shadow .25s;
    }
    .section:hover { border-color:rgba(74,144,226,0.4); box-shadow:0 8px 32px rgba(0,0,0,0.4); }

    .section-header {
      display:flex; align-items:center; gap:14px;
      padding:1.4rem 1.8rem;
      border-bottom:1px solid var(--border);
    }

    .section-icon {
      width:44px; height:44px; flex-shrink:0;
      background:var(--accent-dim); border-radius:10px;
      display:flex; align-items:center; justify-content:center;
      color:var(--accent); font-size:1.2rem;
    }

    .section-header h2 { font-size:1.2rem; font-weight:600; color:var(--text); }

    .section-body { padding:1.5rem 1.8rem; }

    .section-body p { color:var(--text-secondary); margin-bottom:1rem; font-size:1rem; }
    .section-body p:last-child { margin-bottom:0; }

    .item-list { display:flex; flex-direction:column; gap:0.7rem; margin-top:0.5rem; }
    .item-list li {
      display:flex; align-items:flex-start; gap:10px;
      color:var(--text-secondary); font-size:0.98rem; list-style:none;
    }
    .item-list li i { color:var(--accent); margin-top:4px; flex-shrink:0; font-size:0.85rem; }

    /* Data table */
    .data-table { width:100%; border-collapse:collapse; margin-top:0.8rem; font-size:0.93rem; }
    .data-table th {
      text-align:left; padding:10px 14px;
      background:rgba(74,144,226,0.1);
      color:var(--accent); font-weight:600;
      border-bottom:1px solid var(--border);
    }
    .data-table td {
      padding:12px 14px; color:var(--text-secondary);
      border-bottom:1px solid rgba(255,255,255,0.04);
      vertical-align:middle;
    }
    .data-table tr:last-child td { border-bottom:none; }
    .data-table tr:hover td { background:rgba(255,255,255,0.02); }

    /* badges — flex wrap so multiple badges stack with gap */
    .badges-wrap { display:flex; flex-wrap:wrap; gap:6px; align-items:center; }

    .badge {
      display:inline-block; padding:3px 10px;
      border-radius:20px; font-size:0.78rem; font-weight:600;
      font-family:'JetBrains Mono',monospace; white-space:nowrap;
    }
    .badge-local  { background:rgba(74,200,100,0.15); color:#5dcc7a; }
    .badge-not    { background:rgba(180,180,180,0.12); color:#aaaaaa; }
    .badge-server { background:rgba(74,144,226,0.15); color:#4a90e2; }
    .badge-google { background:rgba(200,120,74,0.15); color:#e0904a; }

    .highlight-box {
      background:rgba(74,144,226,0.07);
      border:1px solid rgba(74,144,226,0.2);
      border-radius:8px; padding:1rem 1.2rem;
      margin-top:0.8rem; color:var(--text-secondary); font-size:0.97rem;
    }

    .notice {
      margin-top:2.5rem; padding:1.8rem 2rem;
      background:rgba(74,144,226,0.07);
      border:1px solid rgba(74,144,226,0.18);
      border-radius:var(--radius); text-align:center;
      font-size:1rem; color:var(--text-secondary); line-height:1.7;
    }
    .notice a { color:var(--accent); text-decoration:none; }
    .notice a:hover { text-decoration:underline; }

    @media (max-width:1024px) { .search { max-width:400px; } }
    @media (max-width:768px) {
      header { flex-wrap:wrap; height:auto; padding:12px 16px; }
      .logo-search { width:100%; margin-bottom:12px; }
      .search { max-width:none; }
      .nav-options { width:100%; justify-content:space-around; gap:8px; font-size:0.9rem; }
      .page-hero h1 { font-size:2.2rem; }
      .section-header { padding:1.1rem 1.2rem; }
      .section-body { padding:1.1rem 1.2rem; }
      .data-table { font-size:0.82rem; }
    }

    .logo, .logo * { color:inherit; user-select:none; -webkit-user-select:none; }
    .nav-options a { text-decoration:none; }