.index-hero { padding: 5rem 2rem 2rem; text-align: center; background: radial-gradient(circle at 50% 40%, rgba(45,212,191,0.08) 0%, transparent 60%), #07070b; } .index-hero h1 { background: linear-gradient(135deg, #fafafa 0%, #2dd4bf 50%, #fafafa 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; font-size: clamp(2rem, 5vw, 3.5rem); margin-bottom: 1rem; } .index-hero p { color: #a1a1aa; max-width: 650px; margin: 0 auto 1.5rem; } .index-stats { display: flex; flex-wrap: wrap; gap: 1.5rem; justify-content: center; margin-top: 2rem; } .stat { background: #0d0d14; border: 1px solid #1f1f26; border-radius: 10px; padding: 1.25rem 1.75rem; text-align: center; } .stat-num { font-size: 1.8rem; font-weight: 800; color: #2dd4bf; font-family: 'Courier New', monospace; } .stat-lbl { font-size: 0.78rem; color: #71717a; text-transform: uppercase; letter-spacing: 0.1em; margin-top: 0.25rem; } .index-search { max-width: 560px; margin: 2rem auto 0; position: relative; } .index-search input { width: 100%; padding: 1rem 1.25rem 1rem 3rem; background: #0d0d14; border: 1px solid #27272a; border-radius: 12px; color: #fafafa; font-size: 1rem; } .index-search input:focus { outline: none; border-color: #2dd4bf; } .index-search .is-icon { position: absolute; left: 1.1rem; top: 50%; transform: translateY(-50%); color: #71717a; font-size: 1.1rem; } .index-section { max-width: 1100px; margin: 0 auto; padding: 2rem 1.25rem; } .group-header { display: flex; align-items: center; gap: 0.75rem; margin: 2.5rem 0 1rem; padding-bottom: 0.75rem; border-bottom: 2px solid #1f1f26; } .group-header h2 { font-size: 1.6rem; color: #fafafa; margin: 0; } .group-header .gcount { background: rgba(45,212,191,0.12); color: #2dd4bf; border: 1px solid rgba(45,212,191,0.3); padding: 0.25rem 0.75rem; border-radius: 999px; font-size: 0.8rem; font-weight: 700; } .subject-block { margin-bottom: 2rem; } .subject-block h3 { color: #2dd4bf; font-size: 1.15rem; margin: 1.5rem 0 0.75rem; font-weight: 700; } .pdf-list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 0.6rem; } .pdf-list a { display: flex; align-items: center; gap: 0.6rem; padding: 0.7rem 0.9rem; background: #0d0d14; border: 1px solid #1f1f26; border-radius: 8px; color: #d4d4d8; text-decoration: none; font-size: 0.9rem; transition: all 0.15s; } .pdf-list a:hover { border-color: #2dd4bf; background: rgba(45,212,191,0.06); color: #fafafa; transform: translateX(3px); } .pdf-list a .picon { color: #2dd4bf; font-size: 0.95rem; flex-shrink: 0; } .pdf-list a .ptitle { flex: 1; } .pdf-list a .pmeta { font-size: 0.72rem; color: #71717a; font-family: 'Courier New', monospace; } .alpha-jump { display: flex; flex-wrap: wrap; gap: 0.3rem; justify-content: center; padding: 1.5rem 1.25rem; max-width: 1100px; margin: 0 auto; } .alpha-jump a { padding: 0.35rem 0.6rem; background: #0d0d14; border: 1px solid #1f1f26; border-radius: 6px; color: #71717a; text-decoration: none; font-size: 0.8rem; font-family: 'Courier New', monospace; } .alpha-jump a:hover { color: #2dd4bf; border-color: #2dd4bf; }
Every resource in the library, organised by subject group. Jump to any PDF below, or use the search to filter instantly.
Loading index…