@import url('https://fonts.googleapis.com/css2?family=Fredoka:wght@300..700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Fredoka:wght@300..700&family=JetBrains+Mono:ital,wght@0,100..800;1,100..800&display=swap');

:root {
  color-scheme: light dark;
  
  --bg: light-dark(#ffffff, #0d1117);
  --surface: light-dark(#f6f8fa, #161b22);
  --text: light-dark(#1f2328, #e6edf3);
  --text-secondary: light-dark(#59636e, #848d97);
  --accent-primary: light-dark(#1f883d, #56b167);
  --accent-secondary: light-dark(#0969da, #4493f8);
  --border: light-dark(#d1d9e0, #30363d);
  --border-hover: light-dark(#56b167, #6cc177);
  --card-bg: light-dark(#ffffff, #161b22);
  --overlay: light-dark(rgba(209, 217, 224, 0.2), rgba(48, 54, 61, 0.2));
  --overlay-hover: light-dark(rgba(86, 177, 103, 0.1), rgba(86, 177, 103, 0.15));
  --badge-bg: light-dark(rgba(209, 217, 224, 0.5), rgba(48, 54, 61, 0.5));
  --bar-bg: light-dark(#f6f8fa, #010409);
}

::-webkit-scrollbar {
  display: none;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    background: var(--bg);
    color: var(--text);
    font-family: 'Jetbrains Mono';
}   

h1 {
    color: var(--text);
    font-family: 'Jetbrains Mono';
    font-weight: 450;
}

h2 {
    color: var(--text);
    font-family: 'Jetbrains Mono';
    font-weight: 400;
    font-size: 1.5rem;
}

.college-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.letter-section {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.letter-section h2 {
    padding-left: 10px;
    border-left: 2px solid var(--accent-primary);
}

.letter-colleges {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.letter-colleges a {
    color: var(--text);
    font-family: 'Jetbrains Mono';
    text-decoration: none;
}

.letter-colleges div {
    border-radius: 10px;
    padding: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 2px solid var(--border);
    background-color: var(--card-bg);
    transition: border 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
    min-width: 150px;
}

.letter-colleges div:hover {
    border-color: var(--border-hover);
    transform: translateY(-2px);
    box-shadow: 0 0 0 1px var(--border-hover);
}

.center {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 10px;
    margin-top: 20px;
    margin-bottom: 20px;
}

.letter-bar {
    background-color: var(--bar-bg);
    border-radius: 20px;
    border: 2px solid var(--border);
    padding: 10px;
    padding-left: 20px;
    padding-right: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
}

.letter-bar p {
    cursor: pointer;
    padding: 5px 10px;
    border-radius: 5px;
    transition: background 0.2s ease;
    user-select: none;
}

.letter-bar p:hover {
    background-color: var(--overlay-hover);
}

#typewriter-search {
    min-height: 40px; 
}

.typewriter-search::after {
    content: '_';
    display: inline-block;
    margin-left: 2px;
    animation: blink 0.7s step-end infinite;
}

@keyframes blink {
    from, to { opacity: 1; }
    50% { opacity: 0; }
}