.repo-tabs { position: fixed; left: 5px; top: 300px; a { display: block; } } /* --- Main Layout Containers --- */ .repo-header { margin-bottom: 20px; } .repo-title-bar { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; min-height: 50px; } .repo-settings-link { font-size: 14px; line-height: 1; } .repo-header-area { position: relative; .repo-actions { position: absolute; top: 11px; right: 0; z-index: 5; } } /* 1. The repo stats panel */ .repo-stats { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-evenly; border: 1px solid #d8dee4; border-radius: 5px; background: #ffffff; margin: 8px 0 10px; min-height: 36px; overflow: hidden; } .repo-stat-item { display: flex; align-items: center; justify-content: center; gap: 5px; color: #111111 !important; font-size: 14px !important; font-weight: 600; line-height: 20px; min-width: 0; padding: 7px 8px; white-space: nowrap; b { font-weight: 700; } svg { color: #111111; flex: 0 0 auto; height: 15px; width: 15px; } } a.repo-stat-item:hover { background: #f6f8fa; text-decoration: none; } @media (max-width: 760px) { .repo-stats { justify-content: space-around; } } /* 2. The Control Bar (Branch, Code, Stars, Watch) */ .repo-wrapper { display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px; flex-wrap: wrap; gap: 10px; } .repo-wrapper--with-sidebar { padding-right: 184px; } .branch-specific-container { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; width: 100%; } .branch-right-actions { display: flex; align-items: center; gap: 10px; margin-left: auto; } .add-file-btn { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; background: #fafbfc; border: 1px solid rgba(27, 31, 35, 0.15); border-radius: 6px; color: #24292e !important; font-size: 18px; font-weight: 400; line-height: 1; text-decoration: none; cursor: pointer; &:hover { background: #2ea44f; border-color: #2ea44f; color: #fff !important; } } /* Branch Select Dropdown */ .branch-select { appearance: none; background-color: #fafbfc; border: 1px solid rgba(27, 31, 35, 0.15); border-radius: 6px; color: #24292e; cursor: pointer; font-size: 14px; font-weight: 500; line-height: 20px; max-width: 150px; padding: 5px 35px 5px 12px; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"); background-repeat: no-repeat; background-position: right 8px center; background-size: 10px; } .branches-link { display: inline-flex; align-items: center; gap: 5px; color: #24292e !important; font-size: 14px; font-weight: 500; line-height: 20px; padding: 5px 10px; border: 1px solid rgba(27, 31, 35, 0.15); border-radius: 6px; background: #fafbfc; white-space: nowrap; svg { color: #24292e; height: 14px; width: 14px; flex: 0 0 auto; } b { font-weight: 600; } &:hover { background: #f3f4f6; text-decoration: none; } } .repo-mode-switch { display: inline-flex; align-items: center; border: 1px solid rgba(27, 31, 35, 0.15); border-radius: 6px; overflow: hidden; background: #ffffff; } .repo-mode-link { display: inline-flex; align-items: center; height: 30px; padding: 0 10px; color: #24292e !important; font-size: 13px !important; line-height: 30px; border-right: 1px solid rgba(27, 31, 35, 0.15); white-space: nowrap; &:last-child { border-right: 0; } &.active { background: #f6f8fa; font-weight: 600; } } a.repo-mode-link:hover { background: #f6f8fa; text-decoration: none; } /* --- Action Buttons (Code, Star, Watch) --- */ .repo-code-container { position: relative; } /* Green Code Button */ .repo-code-button { background-color: #2ea44f; color: white; padding: 5px 16px; font-size: 14px; font-weight: 600; border: 1px solid rgba(27, 31, 35, 0.15); border-radius: 6px; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background-color 0.2s; &:hover { background-color: #2c974b; } &::after { content: ""; display: inline-block; width: 0; height: 0; margin-left: 5px; vertical-align: middle; border-top: 4px solid; border-right: 4px solid transparent; border-left: 4px solid transparent; } } /* Clone Dropdown */ .repo-clone-dropdown { display: none; position: absolute; top: 100%; right: 0; margin-top: 4px; padding: 16px; background-color: #fff; border: 1px solid #e1e4e8; border-radius: 6px; box-shadow: 0 8px 24px rgba(149, 157, 165, 0.2); z-index: 100; width: 300px; color: #24292e; font-size: 13px; .clone-input-group { display: flex; margin-top: 8px; input { flex: 1; font-family: monospace; font-size: 12px; padding: 5px; border: 1px solid #e1e4e8; border-radius: 4px 0 0 4px; border-right: none; background: #fafbfc; } button { border-radius: 0 4px 4px 0; background: #f6f8fa; border: 1px solid #e1e4e8; font-size: 12px; padding: 5px 10px; cursor: pointer; &:hover { background-color: #f3f4f6; } } } } .repo-code-container:hover .repo-clone-dropdown { display: block; } /* Repo Actions (Star / Watch buttons in the top bar) */ .repo-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; button { display: inline-flex; width: auto !important; } } /* Two-column layout for the top of the repo (files + sidebar) */ .repo-layout { display: grid; grid-template-columns: minmax(0, 1fr) 160px; gap: 24px; align-items: start; } .repo-main { min-width: 0; } .repo-sidebar { display: flex; flex-direction: column; gap: 24px; } .sidebar-section { border-bottom: 1px solid #eaecef; padding-bottom: 16px; &:last-child { border-bottom: 0; padding-bottom: 0; } } .sidebar-section-header { display: flex; align-items: center; gap: 6px; margin-bottom: 8px; h3 { font-size: 14px; font-weight: 600; color: #24292e; margin: 0; a { color: inherit; &:hover { color: #0366d6; text-decoration: none; } } } } .sidebar-count { display: inline-flex; align-items: center; justify-content: center; min-width: 18px; height: 18px; padding: 0 6px; background: #eaecef; color: #24292e; border-radius: 9px; font-size: 12px; font-weight: 500; } .sidebar-description { font-size: 14px; color: #57606a; margin: 0 0 12px; line-height: 1.5; } .sidebar-description--empty { font-style: italic; color: #8b949e; } .sidebar-meta { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 6px; li { display: flex; align-items: center; gap: 8px; font-size: 13px; color: #57606a; svg { color: #57606a; flex: 0 0 auto; } a { color: #57606a; font-weight: 500; &:hover { color: #0366d6; text-decoration: underline; } } } } .sidebar-empty { font-size: 13px; color: #8b949e; margin: 0; font-style: italic; } .sponsor-button { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; font-size: 13px; font-weight: 500; color: #24292e !important; background: #fafbfc; border: 1px solid rgba(27, 31, 35, 0.15); border-radius: 6px; &:hover { background: #f3f4f6; text-decoration: none; } } .sidebar-release-latest { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; color: #24292e !important; .sidebar-release-badge { display: inline-flex; align-items: center; padding: 0 7px; height: 20px; background: #2ea44f; color: #fff; font-size: 11px; font-weight: 600; border-radius: 999px; } .sidebar-release-name { font-weight: 600; font-size: 14px; } .sidebar-release-date { color: #57606a; font-size: 12px; flex-basis: 100%; } &:hover .sidebar-release-name { color: #0366d6; } } .sidebar-release-more { display: inline-block; margin-top: 8px; font-size: 13px; color: #0366d6; &:hover { text-decoration: underline; } } .sidebar-contributors { display: flex; flex-wrap: wrap; gap: 6px; } .sidebar-contributor { display: inline-block; width: 32px; height: 32px; border-radius: 50%; overflow: hidden; background: #f6f8fa; img { width: 100%; height: 100%; object-fit: cover; display: block; } } .sidebar-contributor--shadow { cursor: default; } @media (max-width: 960px) { .repo-layout { grid-template-columns: minmax(0, 1fr); } .repo-wrapper--with-sidebar { padding-right: 0; } } /* Common style for Star/Watch buttons */ .star-button, .watch-button { display: inline-flex; align-items: center; padding: 3px 12px; font-size: 12px; font-weight: 500; line-height: 20px; color: #24292e; background-color: #fafbfc; border: 1px solid rgba(27, 31, 35, 0.15); border-radius: 6px; cursor: pointer; transition: 0.2s cubic-bezier(0.3, 0, 0.5, 1); transition-property: color, background-color, border-color; margin-top: 0 !important; /* Override original */ &:hover { background-color: #f3f4f6; border-color: rgba(27, 31, 35, 0.15); text-decoration: none; } svg { height: 14px; width: 14px; margin-right: 4px; fill: #6a737d; } } /* --- Breadcrumbs --- */ .tree-path { font-size: 16px; margin: 10px 0; color: #586069; a { color: #0366d6; &:hover { text-decoration: underline; } } /* Slash separator */ .slash { color: #586069; margin: 0 4px; } } /* --- Readme Container --- */ .readme { border: 1px solid #e1e4e8; border-radius: 6px; padding: 32px; margin-top: 24px; background-color: #fff; h1 { border-bottom: 1px solid #eaecef; padding-bottom: 0.3em; } code { background-color: rgba(27,31,35,.05); padding: 0.2em 0.4em; border-radius: 3px; border: none; } pre code { padding: 16px; overflow: auto; line-height: 1.45; background-color: #f6f8fa; display: block; } img { max-width: 100%; box-sizing: content-box; background-color: #fff; } }