Files

895 lines
21 KiB
CSS
Raw Permalink Normal View History

:root {
/* fonts */
--fonts-proportional: -apple-system, "Segoe UI", system-ui, Roboto, "Helvetica Neue", Arial;
--fonts-monospace: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace, var(--fonts-emoji);
/* GitHub explicitly sets font names like: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", "Twemoji Mozilla";
Actually "Twemoji Mozilla" emoji font is widely used by browsers like Firefox, Pale Moon, and it is more likely up-to-dated than the system emoji font.
So not setting emoji font seems to be the best choice, here we just use a non-existing dummy font name and let browsers choose. */
--fonts-emoji: -emoji-fallback;
2023-05-22 16:47:33 +08:00
/* font weights - use between 400 and 600 for general purposes. Avoid 700 as it is perceived too bold */
--font-weight-light: 300;
--font-weight-normal: 400;
--font-weight-medium: 500;
--font-weight-semibold: 600;
2023-05-25 04:31:26 +02:00
--font-weight-bold: 700;
2026-03-31 23:50:45 +02:00
--line-height-default: normal; /* line-height: use the default value as "modules/normalize.css" */
--line-height-code: 20px; /* line-height for code, also used by the editor */
/* images */
--checkbox-mask-checked: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="9" viewBox="0 0 12 9"><path fill-rule="evenodd" d="M11.78.22a.75.75 0 0 1 0 1.061L4.52 8.541a.75.75 0 0 1-1.062 0L.202 5.285a.75.75 0 0 1 1.061-1.061l2.725 2.723L10.718.22a.75.75 0 0 1 1.062 0"/></svg>');
--checkbox-mask-indeterminate: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="10" height="2" viewBox="0 0 10 2"><path fill-rule="evenodd" d="M0 1a1 1 0 0 1 1-1h8a1 1 0 1 1 0 2H1a1 1 0 0 1-1-1" clip-rule="evenodd"/></svg>');
--octicon-alert-fill: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575ZM8 5a.75.75 0 0 0-.75.75v2.5a.75.75 0 0 0 1.5 0v-2.5A.75.75 0 0 0 8 5Zm1 6a1 1 0 1 0-2 0 1 1 0 0 0 2 0Z"/></svg>');
--octicon-chevron-right: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path d="M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06Z"></path></svg>');
2026-03-31 23:50:45 +02:00
--octicon-x: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.75.75 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.75.75 0 0 1-.734-.215L8 9.06l-3.22 3.22a.75.75 0 0 1-1.042-.018.75.75 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06"/></svg>');
2026-02-11 20:55:46 +01:00
--select-arrows: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path d="m4.074 9.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.043 9H4.251a.25.25 0 0 0-.177.427m0-1.957L7.47 4.073a.25.25 0 0 1 .354 0L11.22 7.47a.25.25 0 0 1-.177.426H4.251a.25.25 0 0 1-.177-.426"/></svg>');
/* other variables */
2023-08-28 21:43:59 +02:00
--border-radius: 4px;
--border-radius-medium: 6px;
--border-radius-full: 99999px; /* TODO: use calc(infinity * 1px) */
2023-03-15 03:20:19 +01:00
--opacity-disabled: 0.55;
--height-loading: 16rem;
--min-height-textarea: 132px; /* padding + 6 lines + border = calc(1.57142em + 6lh + 2px), but lh is not fully supported */
--tab-size: 4;
--checkbox-size: 14px; /* height and width of checkbox and radio inputs */
--page-spacing: 16px; /* space between page elements */
--page-margin-x: 32px; /* minimum space on left and right side of page */
--page-space-bottom: 64px; /* space between last page element and footer */
--transition-hover-fade: opacity 0.2s ease; /* fade transition for elements that show on hover */
/* z-index */
--z-index-modal: 1001; /* modal dialog */
--z-index-toast: 1002; /* should be larger than modal */
2025-06-27 17:12:25 +02:00
--font-size-label: 12px; /* font size of individual labels */
--gap-inline: 0.25rem; /* gap for inline texts and elements, for example: the spaces for sentence with labels, button text, etc */
--gap-block: 0.5rem; /* gap for element blocks, for example: spaces between buttons, menu image & title, header icon & title etc */
--background-view-image: repeating-conic-gradient(var(--color-transparency-grid-dark) 0 25%, var(--color-transparency-grid-light) 0 50%) 0 0 / 18px 18px;
2026-03-31 23:50:45 +02:00
--box-shadow-kbd: inset 0 -1px 0 var(--color-secondary);
}
@media (min-width: 768px) and (max-width: 1200px) {
:root {
--page-margin-x: 16px;
}
}
@media (max-width: 767.98px) {
:root {
--page-margin-x: 8px;
}
}
:root * {
--fonts-regular: var(--fonts-override, var(--fonts-proportional)), "Noto Sans", "Liberation Sans", sans-serif, var(--fonts-emoji);
}
2024-02-25 17:46:46 +01:00
*, ::before, ::after {
/* these are needed for tailwind borders to work because we do not load tailwind's base
https://github.com/tailwindlabs/tailwindcss/blob/master/src/css/preflight.css */
border-width: 0;
border-style: solid;
border-color: currentcolor;
}
2024-03-22 12:47:50 +01:00
html, body {
height: 100%;
font-size: 14px;
}
body {
2024-04-06 23:33:45 +02:00
line-height: 20px;
2024-03-22 12:47:50 +01:00
font-family: var(--fonts-regular);
color: var(--color-text);
background-color: var(--color-body);
tab-size: var(--tab-size);
display: flex;
flex-direction: column;
overflow-x: visible;
overflow-wrap: break-word;
}
textarea {
font-family: var(--fonts-regular);
}
2020-12-18 21:00:07 +01:00
pre,
code,
kbd,
samp {
font-family: var(--fonts-monospace);
}
2024-03-28 09:31:07 +01:00
pre,
code,
samp,
.tw-font-mono {
font-size: 0.95em; /* compensate for monospace fonts being usually slightly larger */
}
2026-01-24 19:30:47 +08:00
/* there are many <code> blocks in non-markup(.markup code) / non-code-diff(code.code-inner) containers, for example: translation strings, etc,
so we need to make <code> have default global styles, ".markup code" has its own styles and these styles sometimes conflict.
TODO: in the future, we should use `div` instead of `code` for `.code-inner` because it is a container for highlighted code line, then drop this ":not" patch */
code:where(:not(.code-inner)) {
padding: 1px 4px;
border-radius: var(--border-radius);
2026-01-24 19:30:47 +08:00
background-color: var(--color-markup-code-inline);
}
b,
2020-12-05 12:00:36 +01:00
strong,
2020-11-25 12:20:40 +01:00
h1,
h2,
h3,
h4,
h5,
h6 {
font-weight: var(--font-weight-semibold);
2020-11-25 12:20:40 +01:00
}
2024-03-22 12:47:50 +01:00
h1,
h2,
h3,
h4,
h5 {
line-height: 1.28571429;
margin: calc(2rem - 0.1428571428571429em) 0 1rem;
font-weight: var(--font-weight-medium);
padding: 0;
}
h1 {
min-height: 1rem;
font-size: 2rem;
}
h2 {
font-size: 1.71428571rem;
}
h3 {
font-size: 1.28571429rem;
}
h4 {
font-size: 1.07142857rem;
}
h5 {
font-size: 1rem;
}
h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child,
h5:first-child {
margin-top: 0;
}
h1:last-child,
h2:last-child,
h3:last-child,
h4:last-child,
h5:last-child {
margin-bottom: 0;
}
p {
margin: 0 0 1em;
line-height: 1.4285;
}
p:first-child {
margin-top: 0;
}
p:last-child {
margin-bottom: 0;
2015-07-24 04:50:05 +08:00
}
2018-09-09 20:11:49 +02:00
table {
2020-08-25 21:48:53 +02:00
border-collapse: collapse;
2018-09-09 20:11:49 +02:00
}
2019-05-13 08:26:32 +02:00
ul {
margin: 0.5em 0;
padding: 0 0 0 1.5em;
}
2023-03-30 14:06:10 +02:00
button {
cursor: pointer;
}
2021-05-23 02:45:39 +02:00
details summary {
cursor: pointer;
}
2022-05-20 05:04:45 +02:00
progress {
background: var(--color-secondary-dark-1);
2023-08-28 21:43:59 +02:00
border-radius: var(--border-radius);
2022-05-20 05:04:45 +02:00
border: none;
overflow: hidden;
}
2023-03-15 03:20:19 +01:00
2022-05-20 05:04:45 +02:00
progress::-webkit-progress-bar {
background: var(--color-secondary-dark-1);
2022-05-20 05:04:45 +02:00
}
2023-03-15 03:20:19 +01:00
2022-05-20 05:04:45 +02:00
progress::-webkit-progress-value {
2022-10-23 06:05:20 +02:00
background-color: var(--color-accent);
2022-05-20 05:04:45 +02:00
}
2023-03-15 03:20:19 +01:00
2022-05-20 05:04:45 +02:00
progress::-moz-progress-bar {
2022-10-23 06:05:20 +02:00
background-color: var(--color-accent);
2022-05-20 05:04:45 +02:00
}
2020-10-31 04:52:10 +01:00
* {
2021-05-05 20:14:04 +02:00
caret-color: var(--color-caret);
2020-10-31 04:52:10 +01:00
}
2022-10-23 06:05:20 +02:00
::file-selector-button {
border: 1px solid var(--color-light-border);
color: var(--color-text-light);
background: var(--color-light);
border-radius: var(--border-radius);
}
2023-03-15 03:20:19 +01:00
2022-10-23 06:05:20 +02:00
::file-selector-button:hover {
color: var(--color-text);
background: var(--color-hover);
}
::selection,
relative-time::part(root)::selection {
2024-03-22 12:47:50 +01:00
background: var(--color-primary-light-1);
color: var(--color-white);
2020-10-31 04:52:10 +01:00
}
::placeholder {
color: var(--color-placeholder-text) !important;
2020-11-05 02:51:17 +01:00
opacity: 1 !important;
}
2023-03-15 03:20:19 +01:00
.unselectable,
2025-04-19 16:43:22 +08:00
.btn,
2023-03-15 03:20:19 +01:00
.button,
.lines-num,
.lines-commit,
.lines-commit .blame-info,
.ellipsis-button {
-webkit-touch-callout: none;
-webkit-user-select: none;
user-select: none;
}
.container-disabled {
opacity: var(--opacity-disabled);
pointer-events: none;
user-select: none;
}
2023-05-01 17:40:02 +02:00
a {
2020-10-31 04:52:10 +01:00
color: var(--color-primary);
2020-08-25 21:48:53 +02:00
cursor: pointer;
2024-03-24 13:14:03 +01:00
text-decoration-line: none;
text-decoration-skip-ink: all;
2019-02-05 22:59:26 +01:00
}
2019-05-13 08:26:32 +02:00
2024-03-24 13:14:03 +01:00
a:hover {
text-decoration-line: underline;
}
2024-03-16 17:58:58 +01:00
/* a = always colored, underlined on hover */
/* a.muted = colored on hover, underlined on hover */
/* a.suppressed = never colored, underlined on hover */
/* a.silenced = never colored, never underlined */
2022-11-19 05:02:30 +01:00
a.muted,
2024-03-16 17:58:58 +01:00
a.suppressed,
a.silenced,
2022-11-19 05:02:30 +01:00
.muted-links a {
color: inherit;
}
2020-10-31 04:52:10 +01:00
a:hover,
2024-03-16 17:58:58 +01:00
a.suppressed:hover,
a.muted:hover,
a.muted:hover [class*="color-text"],
2023-05-01 17:40:02 +02:00
.muted-links a:hover {
color: var(--color-primary);
}
2024-03-16 17:58:58 +01:00
a.silenced:hover,
a.suppressed:hover {
color: inherit;
2024-03-16 17:58:58 +01:00
}
a.silenced:hover {
2024-03-24 13:14:03 +01:00
text-decoration-line: none;
}
a.label,
.ui.search .results a,
.ui .menu a,
2022-01-13 06:33:04 -08:00
.ui.cards a.card,
.issue-keyword a {
2024-03-24 13:14:03 +01:00
text-decoration-line: none !important;
}
2026-02-11 20:55:46 +01:00
.native-select {
position: relative;
}
.native-select > select {
appearance: none; /* hide default triangle */
padding: 6px 26px 6px 10px;
2026-03-31 23:50:45 +02:00
border: 1px solid var(--color-light-border) !important;
color: var(--color-text);
2026-02-11 20:55:46 +01:00
border-radius: var(--border-radius);
}
/* ::before and ::after pseudo elements don't work on select elements,
so we need to put it on the parent wrapper element. */
.native-select::after {
position: absolute;
pointer-events: none; /* make the click event can pass through the svg to the select element */
top: 50%;
transform: translateY(-50%);
right: 5px;
content: "";
width: 16px;
height: 16px;
mask-size: cover;
-webkit-mask-size: cover;
mask-image: var(--select-arrows);
-webkit-mask-image: var(--select-arrows);
background: currentcolor;
}
2025-06-07 19:57:07 +02:00
.empty-placeholder {
display: flex;
flex-direction: column;
align-items: center;
padding-top: 40px;
padding-bottom: 40px;
text-align: center;
text-wrap: balance;
}
.inline-code-block {
padding: 2px 4px;
border-radius: .24em;
background-color: var(--color-label-bg);
}
2023-03-15 03:20:19 +01:00
.ui.menu .dropdown.item:hover,
.ui.menu a.item:hover,
.ui.menu details.item summary:hover {
color: var(--color-text);
background: var(--color-hover);
}
2020-12-20 19:00:03 +01:00
/* slightly more contrast for filters on issue list */
.ui.ui.menu .dropdown.item.disabled {
2020-12-04 12:18:37 +01:00
color: var(--color-text-light-2);
}
2023-08-17 00:12:40 +02:00
/* styles from removed fomantic transition module */
.hidden.transition {
visibility: hidden;
display: none;
}
.visible.transition {
display: block !important;
visibility: visible !important;
}
.ui.comments .comment .metadata {
color: var(--color-text-light-2);
}
2023-04-05 08:44:52 +08:00
img.ui.avatar,
2022-09-12 11:08:46 +02:00
.ui.avatar img,
.ui.avatar svg {
2020-12-03 19:46:11 +01:00
border-radius: var(--border-radius);
object-fit: contain;
aspect-ratio: 1;
2020-12-03 19:46:11 +01:00
}
2015-03-07 15:12:13 -05:00
.full.height {
2020-08-25 21:48:53 +02:00
flex-grow: 1;
padding-bottom: var(--page-space-bottom);
2015-03-07 15:12:13 -05:00
}
2019-05-13 08:26:32 +02:00
2024-06-24 01:45:21 +08:00
.status-page-error {
margin-top: max(45vh - 90px, 80px);
margin-bottom: 80px;
}
.status-page-error-title {
font-size: 48px;
margin-bottom: 14px; /* some elements below may use tw-my-4 or tw-my-8, so use 14px as a minimal margin */
line-height: initial;
text-align: center;
font-weight: var(--font-weight-bold);
color: var(--color-text-light-2);
}
/* add margin below .secondary nav when it is the first child */
.page-content > :first-child.secondary-nav {
margin-bottom: 14px;
}
/* add margin to all pages when there is no .secondary.nav */
.page-content > :first-child:not(.secondary-nav) {
margin-top: var(--page-spacing);
}
/* if .ui.grid is the first child the first grid-column has 'padding-top: 1rem' which we need
to compensate here */
.page-content > :first-child.ui.grid {
margin-top: calc(var(--page-spacing) - 1rem);
}
.ui .message.flash-message {
2023-03-15 03:20:19 +01:00
text-align: center;
}
2021-09-18 18:22:51 +02:00
2023-03-15 03:20:19 +01:00
.ui .header > i + .content {
padding-left: 0.75rem;
vertical-align: middle;
}
2019-09-16 11:03:22 +02:00
2023-03-15 03:20:19 +01:00
.ui .sha.label {
font-family: var(--fonts-monospace);
font-size: 13px;
font-weight: var(--font-weight-normal);
flex-shrink: 0;
2023-09-03 10:58:52 +08:00
}
2023-03-15 03:20:19 +01:00
.ui .button.truncate {
display: inline-block;
max-width: 100%;
overflow: hidden;
text-overflow: ellipsis;
vertical-align: top;
white-space: nowrap;
margin-right: 6px;
}
2023-03-15 03:20:19 +01:00
.ui.status.buttons .svg {
margin-right: 4px;
}
2020-08-25 21:48:53 +02:00
2023-03-15 03:20:19 +01:00
.ui.inline.delete-button {
padding: 8px 15px;
font-weight: var(--font-weight-normal);
2023-03-15 03:20:19 +01:00
}
2020-08-25 21:48:53 +02:00
2023-03-15 03:20:19 +01:00
.ui .migrate {
color: var(--color-text-light-2) !important;
}
.ui .migrate a {
color: var(--color-text-light) !important;
}
.ui .migrate a:hover {
color: var(--color-text) !important;
}
.ui .border {
border: 1px solid;
}
2018-09-27 22:58:38 +02:00
.user-menu > .item {
2020-08-25 21:48:53 +02:00
width: 100%;
border-radius: 0 !important;
2018-09-27 22:58:38 +02:00
}
2022-10-21 15:00:53 +03:00
.color-preview {
display: inline-block;
2023-03-15 03:20:19 +01:00
margin-left: 0.4em;
height: 0.67em;
width: 0.67em;
2023-08-28 21:43:59 +02:00
border-radius: var(--border-radius);
2022-10-21 15:00:53 +03:00
}
2024-03-16 19:34:38 +08:00
.attention-icon {
margin: 2px 6px 0 0;
}
2024-02-10 20:43:09 +02:00
blockquote.attention-note {
border-left-color: var(--color-blue-dark-1);
}
2024-03-16 19:34:38 +08:00
strong.attention-note, svg.attention-note {
2024-02-10 20:43:09 +02:00
color: var(--color-blue-dark-1);
}
blockquote.attention-tip {
border-left-color: var(--color-success-text);
}
2024-03-16 19:34:38 +08:00
strong.attention-tip, svg.attention-tip {
2024-02-10 20:43:09 +02:00
color: var(--color-success-text);
}
2024-02-10 20:43:09 +02:00
blockquote.attention-important {
border-left-color: var(--color-violet-dark-1);
}
2024-03-16 19:34:38 +08:00
strong.attention-important, svg.attention-important {
2024-02-10 20:43:09 +02:00
color: var(--color-violet-dark-1);
}
blockquote.attention-warning {
border-left-color: var(--color-warning-text);
}
2024-03-16 19:34:38 +08:00
strong.attention-warning, svg.attention-warning {
color: var(--color-warning-text);
}
2024-02-10 20:43:09 +02:00
blockquote.attention-caution {
border-left-color: var(--color-red-dark-1);
}
2024-03-16 19:34:38 +08:00
strong.attention-caution, svg.attention-caution {
2024-02-10 20:43:09 +02:00
color: var(--color-red-dark-1);
}
/* FIXME: this is a longstanding dirty patch since 2015, it only makes the pages more messy and shouldn't be used */
.center {
2020-08-25 21:48:53 +02:00
text-align: center;
2015-07-08 19:47:56 +08:00
}
overflow-menu {
2020-11-26 20:33:28 +01:00
border-bottom: 1px solid var(--color-secondary) !important;
display: flex;
2026-03-29 12:24:30 +02:00
position: relative;
}
overflow-menu .overflow-menu-popup {
position: absolute;
top: calc(100% + 8px);
right: 0;
z-index: 100;
background-color: var(--color-menu);
color: var(--color-text);
border: 1px solid var(--color-secondary);
border-radius: var(--border-radius);
box-shadow: 0 6px 18px var(--color-shadow);
padding: 4px 0;
}
overflow-menu .overflow-menu-popup::before,
overflow-menu .overflow-menu-popup::after {
content: "";
position: absolute;
right: 10px;
border: 8px solid transparent;
}
overflow-menu .overflow-menu-popup::before {
bottom: 100%;
border-bottom-color: var(--color-secondary);
}
overflow-menu .overflow-menu-popup::after {
bottom: calc(100% - 1px);
border-bottom-color: var(--color-menu);
}
overflow-menu .overflow-menu-popup > .item {
display: flex;
align-items: center;
padding: 9px 18px !important;
color: var(--color-text) !important;
background: transparent !important;
text-decoration: none;
gap: 10px;
width: 100%;
}
overflow-menu .overflow-menu-popup > .item:hover,
overflow-menu .overflow-menu-popup > .item:focus {
background: var(--color-hover) !important;
}
overflow-menu .overflow-menu-popup > .item.active {
background: var(--color-active) !important;
}
2017-05-24 02:00:40 -04:00
overflow-menu .overflow-menu-items {
2020-11-26 20:33:28 +01:00
display: flex;
flex: 1;
2020-11-29 16:52:11 +01:00
}
overflow-menu .overflow-menu-items .item {
2023-05-02 00:08:37 +08:00
margin-bottom: 0 !important; /* reset fomantic's margin, because the active menu has special bottom border */
2020-11-26 20:33:28 +01:00
}
2019-05-13 08:26:32 +02:00
overflow-menu .overflow-menu-items .item-flex-space {
flex: 1;
}
overflow-menu .overflow-menu-button {
background: transparent;
border: none;
color: inherit;
text-align: center;
width: 32px;
padding: 0;
}
2025-04-13 09:59:36 +08:00
/* match the styles of ".ui.secondary.pointing.menu .active.item" */
overflow-menu.ui.secondary.pointing.menu .overflow-menu-button.active {
padding: 2px 0 0;
border-bottom: 2px solid currentcolor;
background-color: transparent;
font-weight: var(--font-weight-medium);
}
overflow-menu .overflow-menu-button:hover {
color: var(--color-text-dark);
}
overflow-menu .ui.label {
margin-left: 7px !important; /* save some space */
}
.activity-bar-graph {
2020-11-07 22:04:40 +01:00
background-color: var(--color-primary);
2022-10-23 06:05:20 +02:00
color: var(--color-primary-contrast);
}
.activity-bar-graph-alt {
2022-10-23 06:05:20 +02:00
color: var(--color-primary-contrast);
}
2019-03-08 17:42:50 +01:00
.oauth2-authorize-application-box {
2020-08-25 21:48:53 +02:00
margin-top: 3em !important;
2019-03-08 17:42:50 +01:00
}
2019-04-29 20:49:59 +02:00
.lines-blame-btn {
2024-03-24 13:14:03 +01:00
padding: 0 0 0 5px;
display: flex;
justify-content: center;
}
.lines-num {
2024-03-24 13:14:03 +01:00
padding: 0 8px;
2020-08-25 21:48:53 +02:00
text-align: right !important;
2024-03-24 13:14:03 +01:00
color: var(--color-text-light-2);
2024-06-12 17:23:42 +02:00
width: 1%; /* this apparently needs to be a percentage so that code column stretches in diffs */
min-width: 72px;
white-space: nowrap;
}
.code-diff .lines-num {
min-width: 50px;
2023-03-15 03:20:19 +01:00
}
2020-08-25 21:48:53 +02:00
2023-03-15 03:20:19 +01:00
.lines-num span::after {
content: attr(data-line-number);
2026-03-31 23:50:45 +02:00
line-height: var(--line-height-code) !important;
2023-03-15 03:20:19 +01:00
padding: 0 10px;
display: block;
}
.lines-type-marker {
2020-08-25 21:48:53 +02:00
vertical-align: top;
2024-06-12 17:23:42 +02:00
white-space: nowrap;
}
.lines-num,
.lines-escape,
.lines-code {
2020-12-20 19:00:03 +01:00
font-size: 12px;
font-family: var(--fonts-monospace);
2026-03-31 23:50:45 +02:00
line-height: var(--line-height-code);
2020-08-25 21:48:53 +02:00
padding-top: 0;
padding-bottom: 0;
vertical-align: top;
2023-03-15 03:20:19 +01:00
}
2023-03-15 03:20:19 +01:00
.lines-num pre,
.lines-code pre,
.lines-num ol,
.lines-code ol {
background-color: inherit;
margin: 0;
padding: 0 !important;
}
.lines-num pre li,
.lines-code pre li,
.lines-num ol li,
.lines-code ol li {
display: block;
width: calc(100% - 1ch);
padding-left: 1ch;
}
.lines-escape {
width: 0;
2024-06-12 17:23:42 +02:00
white-space: nowrap;
padding: 0;
}
.lines-code {
padding-left: 5px;
}
2020-11-04 08:14:07 +01:00
.code-inner {
font: 12px var(--fonts-monospace);
white-space: pre-wrap;
2023-03-04 12:48:59 +08:00
overflow-wrap: anywhere;
line-height: inherit; /* needed for inline code preview in markup */
2020-11-04 08:14:07 +01:00
}
.blame .code-inner {
2024-03-24 13:14:03 +01:00
white-space: pre-wrap;
overflow-wrap: anywhere;
2020-11-04 08:14:07 +01:00
}
.lines-commit {
2020-08-25 21:48:53 +02:00
vertical-align: top;
2024-03-24 13:14:03 +01:00
color: var(--color-text-light-1);
2020-08-25 21:48:53 +02:00
padding: 0 !important;
width: 1%;
2023-03-15 03:20:19 +01:00
}
2020-08-25 21:48:53 +02:00
2023-03-15 03:20:19 +01:00
.lines-commit .blame-info {
2024-03-24 13:14:03 +01:00
width: min(26vw, 300px);
2023-03-15 03:20:19 +01:00
display: block;
2024-03-24 13:14:03 +01:00
padding: 0 0 0 6px;
2026-03-31 23:50:45 +02:00
line-height: var(--line-height-code);
2023-03-15 03:20:19 +01:00
box-sizing: content-box;
}
2020-08-25 21:48:53 +02:00
2023-03-15 03:20:19 +01:00
.lines-commit .blame-info .blame-data {
display: flex;
font-family: var(--fonts-regular);
}
.lines-commit .blame-info .blame-data .blame-message {
flex-grow: 2;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.lines-commit .blame-info .blame-data .blame-time,
.lines-commit .blame-info .blame-data .blame-avatar {
flex-shrink: 0;
}
2024-03-24 13:14:03 +01:00
.blame-avatar {
display: flex;
align-items: center;
margin-right: 6px;
}
tr.top-line-blame {
border-top: 1px solid var(--color-secondary);
}
tr.top-line-blame:first-of-type {
border-top: none; /* merge code lines belonging to the same commit into one block */
}
2021-09-18 18:22:51 +02:00
.migrate .svg.gitea-git {
color: var(--color-git);
2021-09-18 18:22:51 +02:00
}
.color-icon {
2020-08-25 21:48:53 +02:00
display: inline-block;
border-radius: var(--border-radius-full);
2020-08-25 21:48:53 +02:00
height: 14px;
width: 14px;
}
2020-02-11 11:02:41 -06:00
.rss-icon {
display: inline-flex;
color: var(--color-text-light-1);
}
2023-03-15 03:20:19 +01:00
table th[data-sortt-asc]:hover,
table th[data-sortt-desc]:hover {
background: var(--color-hover) !important;
2023-03-15 03:20:19 +01:00
cursor: pointer !important;
}
table th[data-sortt-asc] .svg,
table th[data-sortt-desc] .svg {
margin-left: 0.25rem;
}
2025-03-28 11:25:13 +01:00
/* for "image" emojis like ":git:" ":gitea:" and ":github:" (see CUSTOM_EMOJIS config option) */
.emoji img {
2020-08-25 21:48:53 +02:00
border-width: 0 !important;
margin: 0 !important;
width: 1em !important;
height: 1em !important;
2023-03-15 03:20:19 +01:00
vertical-align: -0.15em;
}
.ui.tabular.menu .item,
2020-06-22 18:44:06 +02:00
.ui.secondary.pointing.menu .item {
padding: 11.55px 12px !important; /* match .dashboard-navbar in height */
color: var(--color-text-light-2);
2020-11-26 20:33:28 +01:00
}
.ui.tabular.menu .item:hover,
.ui.secondary.pointing.menu a.item:hover {
color: var(--color-text);
}
.ui.tabular.menu .active.item,
.ui.secondary.pointing.menu .active.item,
.resize-for-semibold::before {
font-weight: var(--font-weight-semibold);
}
.resize-for-semibold::before {
content: attr(data-text);
visibility: hidden;
display: block;
height: 0;
}
2022-09-02 15:58:49 +08:00
.flash-error details code,
.flash-warning details code {
display: block;
text-align: left;
}
2021-02-12 02:29:07 +01:00
.ui.button.ellipsis-button {
padding: 0 5px 8px;
display: inline-block;
font-weight: var(--font-weight-semibold);
line-height: 8px;
vertical-align: middle;
min-height: 0;
2021-11-23 03:44:38 +01:00
}
2023-09-28 12:04:32 +08:00
.btn,
2023-06-15 00:40:15 +08:00
.ui.ui.dropdown,
2026-03-28 10:41:34 +01:00
.flex-text-inline {
2023-06-15 00:40:15 +08:00
display: inline-flex;
align-items: center;
2025-06-27 17:12:25 +02:00
gap: var(--gap-inline);
2023-06-15 00:40:15 +08:00
vertical-align: middle;
min-width: 0; /* make ellipsis work */
}
2023-06-15 00:40:15 +08:00
.ui.ui.labeled.button {
gap: 0;
align-items: stretch;
}
.ui.list.flex-items-block > .item,
2025-10-24 13:02:52 -06:00
.ui.vertical.menu.flex-items-block > .item,
.ui.form .field > label.flex-text-block, /* override fomantic "block" style */
2023-06-15 00:40:15 +08:00
.flex-items-block > .item,
.flex-text-block {
display: flex;
align-items: center;
2025-06-27 17:12:25 +02:00
gap: var(--gap-block);
2024-04-15 03:43:30 +08:00
min-width: 0;
2023-06-15 00:40:15 +08:00
}
2024-03-15 17:45:30 +08:00
.flex-text-block > .ui.button,
.flex-text-inline > .ui.button {
margin: 0; /* fomantic buttons have default margin, when we use them in a flex container with gap, we do not need these margins */
}
.svg.octicon-file-directory-fill,
.svg.octicon-file-directory-open-fill,
.svg.octicon-file-submodule {
color: var(--color-primary);
}
.svg.octicon-file,
.svg.octicon-file-symlink-file,
.svg.octicon-file-directory-symlink {
color: var(--color-secondary-dark-7);
}