nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 2.5rem;height:56px;background:rgba(7,9,15,0.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-subtle);}
  nav .logo{font-family:var(--serif);font-size:1.2rem;color:var(--gold);letter-spacing:0.08em;}
  nav .logo{text-decoration:none;}
  nav .menu-toggle{display:none;width:34px;height:34px;align-items:center;justify-content:center;border:1px solid var(--border-subtle);border-radius:7px;background:rgba(20,31,54,0.42);color:var(--text);font-size:1rem;line-height:1;cursor:pointer;}
  nav .links{display:flex;gap:1.5rem;}
  nav .links a{font-size:0.72rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-dim);text-decoration:none;transition:color 0.2s;}
  nav .links a:hover{color:var(--gold);}
  nav .count{font-family:var(--mono);font-size:0.68rem;color:var(--gold);background:rgba(201,168,76,0.05);padding:0.2rem 0.65rem;border-radius:4px;border:1px solid rgba(201,168,76,0.2);}

  /* HERO */
  #hero{min-height:42vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:8rem 2rem 3rem;position:relative;}
  #hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 60%,rgba(111,144,186,0.04) 0%,transparent 65%);}
  .hero-eyebrow{font-family:var(--mono);font-size:0.7rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--gold);margin-bottom:1.25rem;opacity:0;animation:fadeUp 0.8s 0.2s forwards;}
  .hero-title{font-family:var(--serif);font-size:clamp(2rem,6vw,4rem);font-weight:300;line-height:1.05;margin-bottom:0.5rem;opacity:0;animation:fadeUp 0.8s 0.4s forwards;}
  .hero-title em{color:var(--gold);font-style:italic;}
  .hero-sub{font-family:var(--serif);font-size:1.15rem;font-style:italic;color:var(--text-dim);margin-bottom:2rem;opacity:0;animation:fadeUp 0.8s 0.6s forwards;}

  /* LEGEND */
  .legend{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap;margin-bottom:2.5rem;opacity:0;animation:fadeUp 0.8s 0.8s forwards;}
  .legend-item{display:flex;align-items:center;gap:0.5rem;font-family:var(--mono);font-size:0.68rem;letter-spacing:0.1em;text-transform:uppercase;}
  .legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;}
  .legend-label{color:var(--text-muted);}

  /* FILTER BAR */
  .filter-bar{display:flex;gap:0.5rem;justify-content:center;flex-wrap:wrap;padding:0 2rem 3rem;max-width:1200px;margin:0 auto;}
  .filter-btn{font-family:var(--mono);font-size:0.68rem;letter-spacing:0.12em;text-transform:uppercase;padding:0.35rem 1rem;border-radius:4px;border:1px solid var(--border-subtle);background:transparent;color:var(--text-muted);cursor:pointer;transition:all 0.2s;}
  .filter-btn:hover{border-color:var(--border);color:var(--text-dim);}
  .filter-btn.active{background:rgba(201,168,76,0.08);border-color:var(--border);color:var(--gold);}
  .filter-btn[data-doc="A"].active{background:rgba(61,139,205,0.1);border-color:rgba(61,139,205,0.3);color:var(--doc-a);}
  .filter-btn[data-doc="B"].active{background:rgba(42,184,160,0.1);border-color:rgba(42,184,160,0.3);color:var(--doc-b);}
  .filter-btn[data-doc="C"].active{background:rgba(201,168,76,0.08);border-color:rgba(201,168,76,0.3);color:var(--doc-c);}
  .filter-btn[data-doc="D"].active{background:rgba(139,111,186,0.1);border-color:rgba(139,111,186,0.3);color:var(--doc-d);}
  .filter-btn[data-doc="E"].active{background:rgba(204,102,85,0.1);border-color:rgba(204,102,85,0.3);color:var(--doc-e);}
  .filter-btn[data-doc="F"].active{background:rgba(42,184,160,0.1);border-color:rgba(42,184,160,0.3);color:var(--doc-f);}
  .filter-btn[data-doc="G"].active{background:rgba(139,111,186,0.1);border-color:rgba(139,111,186,0.3);color:var(--doc-g);}

  /* SEARCH */
  .search-bar{padding:0 2rem 2rem;max-width:1200px;margin:0 auto;}
  .search-input{width:100%;background:var(--bg2);border:1px solid var(--border-subtle);border-radius:8px;padding:0.75rem 1.25rem;color:var(--text);font-family:var(--sans);font-size:0.9rem;font-weight:300;outline:none;transition:border-color 0.2s;}
  .search-input::placeholder{color:var(--text-muted);}
  .search-input:focus{border-color:var(--border);}
  .query-hint{margin-top:0.55rem;font-size:0.76rem;color:var(--text-muted);letter-spacing:0.04em;}
  .query-hint a{color:var(--gold);text-decoration:none;border-bottom:1px dotted rgba(201,168,76,0.4);}
  .query-hint a:hover{border-bottom-color:rgba(201,168,76,0.85);}

  /* TABLE */
  .table-wrap{padding:0 2rem 6rem;max-width:1200px;margin:0 auto;}
  .table-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;}
  .table-count{font-family:var(--mono);font-size:0.72rem;color:var(--text-muted);letter-spacing:0.1em;}
  .sources-table{width:100%;border-collapse:collapse;}
  .sources-table thead tr{background:var(--bg2);border-bottom:1px solid var(--border-subtle);}
  .sources-table th{padding:0.85rem 1rem;text-align:left;font-family:var(--mono);font-size:0.62rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--text-muted);font-weight:400;}
  .sources-table tbody tr{border-bottom:1px solid rgba(24,38,66,0.3);transition:background 0.15s;}
  .sources-table tbody tr:hover{background:rgba(20,31,54,0.42);}
  .sources-table tbody tr.hidden{display:none;}
  .sources-table td{padding:0.85rem 1rem;vertical-align:top;}
  .td-num{font-family:var(--mono);font-size:0.72rem;color:var(--text-muted);white-space:nowrap;width:3rem;}
  .td-doc{width:2.5rem;}
  .doc-badge{display:inline-block;width:22px;height:22px;border-radius:50%;font-family:var(--mono);font-size:0.6rem;font-weight:400;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  .doc-A{background:rgba(61,139,205,0.15);color:var(--doc-a);border:1px solid rgba(61,139,205,0.2);}
  .doc-B{background:rgba(42,184,160,0.12);color:var(--doc-b);border:1px solid rgba(42,184,160,0.2);}
  .doc-C{background:rgba(201,168,76,0.09);color:var(--doc-c);border:1px solid rgba(201,168,76,0.2);}
  .doc-D{background:rgba(139,111,186,0.12);color:var(--doc-d);border:1px solid rgba(139,111,186,0.2);}
  .doc-E{background:rgba(204,102,85,0.12);color:var(--doc-e);border:1px solid rgba(204,102,85,0.2);}
  .doc-F{background:rgba(42,184,160,0.12);color:var(--doc-f);border:1px solid rgba(42,184,160,0.2);}
  .doc-G{background:rgba(139,111,186,0.12);color:var(--doc-g);border:1px solid rgba(139,111,186,0.2);}
  .td-category{width:8rem;}
  .cat-tag{display:inline-block;font-family:var(--mono);font-size:0.6rem;letter-spacing:0.08em;padding:0.15rem 0.5rem;border-radius:3px;text-transform:uppercase;}
  .cat-math{background:rgba(61,139,205,0.1);color:var(--blue);}
  .cat-qc{background:rgba(42,184,160,0.1);color:var(--teal);}
  .cat-topo{background:rgba(201,168,76,0.08);color:var(--gold);}
  .cat-cos{background:rgba(139,111,186,0.1);color:var(--purple);}
  .cat-mat{background:rgba(90,170,114,0.1);color:var(--green);}
  .cat-phys{background:rgba(204,102,85,0.1);color:var(--red);}
  .cat-tool{background:rgba(212,144,10,0.1);color:var(--amber);}
  .cat-gen{background:rgba(74,74,66,0.15);color:var(--text-muted);}
  .cat-mipt{background:rgba(204,102,85,0.1);color:var(--red);}
  .cat-rydberg{background:rgba(42,184,160,0.1);color:var(--teal);}
  .cat-rg{background:rgba(139,111,186,0.1);color:var(--purple);}
  .cat-aa{background:rgba(61,139,205,0.1);color:var(--blue);}
  .cat-ctrl{background:rgba(212,144,10,0.1);color:var(--amber);}
  .cat-cftkac{background:rgba(201,168,76,0.08);color:var(--gold);}
  .td-title{font-size:0.85rem;color:var(--text-dim);line-height:1.55;}
  .td-title strong{color:var(--text);font-weight:500;display:block;margin-bottom:0.15rem;}
  .td-title strong a{color:var(--text);text-decoration:none;border-bottom:1px dotted rgba(201,168,76,0.32);}
  .td-title strong a:hover{color:var(--gold);border-bottom-color:rgba(201,168,76,0.65);}
  .td-link a{font-family:var(--mono);font-size:0.7rem;color:var(--gold);text-decoration:none;word-break:break-all;opacity:0.7;transition:opacity 0.2s;}
  .td-link a:hover{opacity:1;}

  /* STATS */
  .stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;padding:0 2rem 4rem;max-width:1200px;margin:0 auto;}
  .stat-card{background:var(--bg2);border:1px solid var(--border-subtle);border-radius:8px;padding:1.25rem;text-align:center;}
  .stat-num{font-family:var(--serif);font-size:2rem;color:var(--gold);font-style:italic;display:block;line-height:1;}
  .stat-lbl{font-family:var(--mono);font-size:0.62rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--text-muted);margin-top:0.3rem;display:block;}

  footer{border-top:1px solid var(--border-subtle);padding:2.5rem 2rem;text-align:center;}
  footer .foot-phi{font-family:var(--serif);font-size:2rem;color:var(--gold);font-style:italic;opacity:0.3;display:block;margin-bottom:0.5rem;}
  footer p{font-size:0.78rem;color:var(--text-muted);letter-spacing:0.05em;line-height:1.8;}
  footer a{color:var(--text-muted);text-decoration:none;border-bottom:1px dotted rgba(122,118,104,0.45);}
  footer a:hover{color:var(--gold);border-bottom-color:rgba(201,168,76,0.45);}
  .unamuno-quote{
    font-family:var(--serif);
    font-style:italic;
    font-size:1.05rem;
    color:rgba(201,168,76,0.75);
    border-left:1px solid rgba(201,168,76,0.3);
    padding-left:1.25rem;
    margin:1.2rem auto 0;
    max-width:720px;
    text-align:left;
    line-height:1.6;
  }
  .unamuno-source{
    font-family:var(--mono);
    font-size:0.65rem;
    letter-spacing:0.15em;
    color:var(--text-muted);
    margin-top:0.35rem;
    padding-left:1.25rem;
    text-transform:uppercase;
    max-width:720px;
    margin-left:auto;
    margin-right:auto;
    text-align:left;
    display:block;
  }

  @keyframes fadeUp{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:translateY(0);}}
  @media(max-width:768px){
    nav{padding:0 0.9rem;}
    nav .logo{font-size:1.05rem;}
    nav .menu-toggle{display:inline-flex;}
    nav .count{display:none;}
    nav .links{
      display:none;
      position:absolute;
      top:56px;
      left:0.75rem;
      right:0.75rem;
      flex-direction:column;
      gap:0.2rem;
      padding:0.7rem 0.9rem 0.85rem;
      background:rgba(7,9,15,0.97);
      border:1px solid var(--border-subtle);
      border-radius:10px;
      z-index:120;
    }
    nav.open .links{display:flex !important;}
    nav .links a{padding:0.25rem 0.1rem;}
    #hero{padding:7rem 0.9rem 2.6rem;}
    .filter-bar,.search-bar,.table-wrap,.stats-grid{padding-left:0.9rem;padding-right:0.9rem;}
    .sources-table th,.sources-table td{padding-left:0.7rem;padding-right:0.7rem;}
    .table-meta{gap:0.6rem;flex-wrap:wrap;}
    .stats-grid{grid-template-columns:1fr 1fr;}
    .sources-table .td-category{display:none;}
    .sources-table th:nth-child(3){display:none;}
    .unamuno-quote{
      font-size:0.96rem;
      line-height:1.55;
      padding-left:0.95rem;
      margin:1rem auto 0.5rem;
    }
    .unamuno-source{
      font-size:0.57rem;
      letter-spacing:0.1em;
      padding-left:0.95rem;
      margin:0.15rem auto 0;
    }
  }
  @media(max-width:480px){
    #hero{padding-left:0.7rem;padding-right:0.7rem;}
    .filter-bar,.search-bar,.table-wrap,.stats-grid{padding-left:0.7rem;padding-right:0.7rem;}
    .stats-grid{grid-template-columns:1fr;}
    .td-link{display:none;}
    .sources-table th:last-child{display:none;}
    .unamuno-quote{font-size:0.9rem;}
    .unamuno-source{font-size:0.52rem;letter-spacing:0.08em;}
  }
  @media(max-width:600px){
    #hero{padding:6.8rem 0.72rem 2.4rem;}
    .filter-bar,.search-bar,.table-wrap,.stats-grid{padding-left:0.72rem;padding-right:0.72rem;}
  }
  @media(min-width:430px) and (max-width:600px){
    #hero{padding-left:0.56rem;padding-right:0.56rem;}
    .filter-bar,.search-bar,.table-wrap,.stats-grid{padding-left:0.56rem;padding-right:0.56rem;}
  }