2020-10-19 22:01:06 +02:00
: root {
2022-10-12 18:26:27 +02:00
/* fonts */
2023-04-30 20:58:32 +02:00
--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 ) ;
2025-04-24 09:11:54 +08:00
/* 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 */
2023-05-22 01:37:32 +02:00
--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 : 20 px ; /* line-height for code, also used by the editor */
2023-10-06 09:46:36 +02:00
/* images */
2026-03-23 18:41:04 +01:00
--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>' ) ;
2026-04-06 13:07:33 +02:00
--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>' ) ;
2023-06-07 10:49:48 +08:00
--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>' ) ;
2023-10-06 09:46:36 +02:00
/* other variables */
2023-08-28 21:43:59 +02:00
--border-radius : 4 px ;
--border-radius-medium : 6 px ;
2024-05-25 16:33:34 +02:00
--border-radius-full : 99999 px ; /* TODO: use calc(infinity * 1px) */
2023-03-15 03:20:19 +01:00
--opacity-disabled : 0.55 ;
2023-04-17 12:10:22 +02:00
--height-loading : 16 rem ;
2024-02-18 15:51:21 +01:00
--min-height-textarea : 132 px ; /* padding + 6 lines + border = calc(1.57142em + 6lh + 2px), but lh is not fully supported */
2023-05-28 20:04:35 +02:00
--tab-size : 4 ;
2026-03-23 18:41:04 +01:00
--checkbox-size : 14 px ; /* height and width of checkbox and radio inputs */
2024-04-07 17:45:36 +02:00
--page-spacing : 16 px ; /* space between page elements */
2024-04-10 08:13:22 +02:00
--page-margin-x : 32 px ; /* minimum space on left and right side of page */
2025-04-25 19:53:26 +02:00
--page-space-bottom : 64 px ; /* space between last page element and footer */
2026-02-10 14:36:31 +08:00
--transition-hover-fade : opacity 0.2 s ease ; /* fade transition for elements that show on hover */
2025-06-22 02:21:48 +08:00
/* z-index */
2026-03-17 07:07:48 +01:00
--z-index-modal : 1001 ; /* modal dialog */
2025-06-22 02:21:48 +08:00
--z-index-toast : 1002 ; /* should be larger than modal */
2025-06-27 17:12:25 +02:00
--font-size-label : 12 px ; /* font size of individual labels */
--gap-inline : 0.25 rem ; /* gap for inline texts and elements, for example: the spaces for sentence with labels, button text, etc */
2025-07-13 22:52:35 +08:00
--gap-block : 0.5 rem ; /* gap for element blocks, for example: spaces between buttons, menu image & title, header icon & title etc */
2025-12-12 08:39:02 +01:00
2026-02-25 21:20:28 +01:00
--background-view-image : repeating-conic-gradient ( var ( - - color - transparency - grid - dark ) 0 25 % , var ( - - color - transparency - grid - light ) 0 50 % ) 0 0 / 18 px 18 px ;
2026-03-31 23:50:45 +02:00
--box-shadow-kbd : inset 0 -1 px 0 var ( - - color - secondary ) ;
2024-04-10 08:13:22 +02:00
}
@ media ( min-width : 768px ) and ( max-width : 1200px ) {
: root {
--page-margin-x : 16 px ;
}
}
@ media ( max-width : 767 . 98px ) {
: root {
--page-margin-x : 8 px ;
}
2020-10-19 22:01:06 +02:00
}
2021-03-19 00:43:43 +01:00
: root * {
2021-05-16 01:12:55 +01:00
--fonts-regular : var ( - - fonts - override , var ( - - fonts - proportional ) ) , "Noto Sans" , "Liberation Sans" , sans-serif , var ( - - fonts - emoji ) ;
2019-03-18 12:49:01 +00:00
}
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 : 14 px ;
}
body {
2024-04-06 23:33:45 +02:00
line-height : 20 px ;
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 ;
}
2020-11-08 19:01:38 +01:00
textarea {
2020-10-19 22:01:06 +02:00
font-family : var ( - - fonts - regular ) ;
}
2019-03-18 12:49:01 +00:00
2020-12-18 21:00:07 +01:00
pre ,
2020-11-06 18:16:21 +01:00
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.95 em ; /* 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 ) ) {
2025-10-03 12:21:57 +05:30
padding : 1 px 4 px ;
border-radius : var ( - - border - radius ) ;
2026-01-24 19:30:47 +08:00
background-color : var ( - - color - markup - code - inline ) ;
2025-10-03 12:21:57 +05:30
}
2020-11-15 21:58:16 +01:00
b ,
2020-12-05 12:00:36 +01:00
strong ,
2020-11-25 12:20:40 +01:00
h1 ,
h2 ,
h3 ,
h4 ,
h5 ,
h6 {
2023-05-22 01:37:32 +02:00
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 ( 2 rem - 0.1428571428571429 em ) 0 1 rem ;
font-weight : var ( - - font - weight - medium ) ;
padding : 0 ;
}
h1 {
min-height : 1 rem ;
font-size : 2 rem ;
}
h2 {
font-size : 1.71428571 rem ;
}
h3 {
font-size : 1.28571429 rem ;
}
h4 {
font-size : 1.07142857 rem ;
}
h5 {
font-size : 1 rem ;
}
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 1 em ;
line-height : 1.4285 ;
}
p : first-child {
margin-top : 0 ;
}
p : last-child {
margin-bottom : 0 ;
2015-07-24 04:50:05 +08:00
}
2019-03-18 12:49:01 +00: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
2025-10-03 12:21:57 +05:30
ul {
margin : 0.5 em 0 ;
padding : 0 0 0 1.5 em ;
}
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 {
2022-06-15 06:28:24 +02:00
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 {
2022-06-15 06:28:24 +02:00
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 : 1 px 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 ) ;
}
2026-03-13 11:43:17 +01:00
:: 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
}
2026-02-27 17:45:10 +01:00
:: placeholder {
2021-04-03 10:37:32 +02:00
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 ;
}
2026-03-21 23:39:47 +01:00
. 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 ;
2021-12-17 21:29:00 -08:00
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 */
2023-05-16 00:46:51 +02:00
2022-11-19 05:02:30 +01:00
a . muted ,
2024-03-16 17:58:58 +01:00
a . suppressed ,
2023-05-16 00:46:51 +02:00
a . silenced ,
2022-11-19 05:02:30 +01:00
. muted-links a {
2020-11-29 07:22:04 +01:00
color : inherit ;
}
2020-10-31 04:52:10 +01:00
a : hover ,
2024-03-16 17:58:58 +01:00
a . suppressed : hover ,
2020-11-29 07:22:04 +01:00
a . muted : hover ,
2022-07-22 07:49:24 -03:00
a . muted : hover [ class * = "color-text" ] ,
2023-05-01 17:40:02 +02:00
. muted-links a : hover {
2021-12-17 21:29:00 -08:00
color : var ( - - color - primary ) ;
}
2024-03-16 17:58:58 +01:00
a . silenced : hover ,
a . suppressed : hover {
2023-05-16 00:46:51 +02:00
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 ;
2023-05-16 00:46:51 +02:00
}
2021-12-17 21:29:00 -08:00
a . label ,
. ui . search . results a ,
. ui . menu a ,
2022-01-13 06:33:04 -08:00
. ui . cards a . card ,
2023-02-20 09:43:04 +01:00
. issue-keyword a {
2024-03-24 13:14:03 +01:00
text-decoration-line : none !important ;
2021-12-17 21:29:00 -08:00
}
2026-02-11 20:55:46 +01:00
. native-select {
position : relative ;
}
. native-select > select {
appearance : none ; /* hide default triangle */
padding : 6 px 26 px 6 px 10 px ;
2026-03-31 23:50:45 +02:00
border : 1 px 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 : 5 px ;
content : "" ;
width : 16 px ;
height : 16 px ;
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 : 40 px ;
padding-bottom : 40 px ;
text-align : center ;
text-wrap : balance ;
}
2023-08-31 07:01:01 +02:00
. inline-code-block {
2022-10-15 21:24:41 +03:00
padding : 2 px 4 px ;
2024-03-28 11:42:31 +01:00
border-radius : .24 em ;
background-color : var ( - - color - label - bg ) ;
2022-10-15 21:24:41 +03:00
}
2023-03-15 03:20:19 +01:00
2020-11-29 07:22:04 +01:00
. ui . menu . dropdown . item : hover ,
2023-06-07 10:49:48 +08:00
. ui . menu a . item : hover ,
. ui . menu details . item summary : hover {
2020-11-29 07:22:04 +01:00
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 ;
}
2020-12-17 16:52:58 +01:00
. 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 ,
2023-05-14 02:59:11 +08:00
. ui . avatar svg {
2020-12-03 19:46:11 +01:00
border-radius : var ( - - border - radius ) ;
2023-05-14 02:59:11 +08:00
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 ;
2025-04-25 19:53:26 +02:00
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 ( 45 vh - 90 px , 80 px ) ;
margin-bottom : 80 px ;
}
. status-page-error-title {
font-size : 48 px ;
margin-bottom : 14 px ; /* 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 ) ;
}
2024-03-23 00:54:09 +01:00
/* add margin below .secondary nav when it is the first child */
. page-content > : first-child . secondary-nav {
margin-bottom : 14 px ;
}
2024-04-07 17:45:36 +02:00
/* add margin to all pages when there is no .secondary.nav */
2024-03-23 00:54:09 +01:00
. page-content > : first-child : not ( . secondary-nav ) {
2024-04-07 17:45:36 +02:00
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 ) - 1 rem ) ;
2024-03-20 12:21:18 +01:00
}
2023-05-04 02:32:10 +08:00
. 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.75 rem ;
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 : 13 px ;
2023-05-22 01:37:32 +02:00
font-weight : var ( - - font - weight - normal ) ;
2024-05-10 20:58:05 +08:00
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 : 6 px ;
}
2019-04-08 08:31:54 +02:00
2023-03-15 03:20:19 +01:00
. ui . status . buttons . svg {
margin-right : 4 px ;
}
2020-08-25 21:48:53 +02:00
2023-03-15 03:20:19 +01:00
. ui . inline . delete-button {
padding : 8 px 15 px ;
2023-05-22 01:37:32 +02:00
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 : 1 px 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.4 em ;
height : 0.67 em ;
width : 0.67 em ;
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 : 2 px 6 px 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 ) ;
2022-11-09 02:11:26 +02:00
}
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 {
2022-11-09 02:11:26 +02:00
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 ) ;
}
2024-12-28 19:51:38 +08:00
/* 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
}
2024-03-15 03:05:31 +01:00
overflow-menu {
2020-11-26 20:33:28 +01:00
border-bottom : 1 px solid var ( - - color - secondary ) !important ;
2024-03-15 03:05:31 +01:00
display : flex ;
2026-03-29 12:24:30 +02:00
position : relative ;
}
overflow-menu . overflow-menu-popup {
position : absolute ;
top : calc ( 100 % + 8 px ) ;
right : 0 ;
z-index : 100 ;
background-color : var ( - - color - menu ) ;
color : var ( - - color - text ) ;
border : 1 px solid var ( - - color - secondary ) ;
border-radius : var ( - - border - radius ) ;
box-shadow : 0 6 px 18 px var ( - - color - shadow ) ;
padding : 4 px 0 ;
}
overflow-menu . overflow-menu-popup :: before ,
overflow-menu . overflow-menu-popup :: after {
content : "" ;
position : absolute ;
right : 10 px ;
border : 8 px 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 % - 1 px ) ;
border-bottom-color : var ( - - color - menu ) ;
}
overflow-menu . overflow-menu-popup > . item {
display : flex ;
align-items : center ;
padding : 9 px 18 px !important ;
color : var ( - - color - text ) !important ;
background : transparent !important ;
text-decoration : none ;
gap : 10 px ;
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-03-15 22:39:38 +00:00
}
2017-05-24 02:00:40 -04:00
2024-03-15 03:05:31 +01:00
overflow-menu . overflow-menu-items {
2020-11-26 20:33:28 +01:00
display : flex ;
2024-03-15 03:05:31 +01:00
flex : 1 ;
2020-11-29 16:52:11 +01:00
}
2024-03-15 03:05:31 +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
2024-04-30 12:26:13 +08: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 : 32 px ;
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 : 2 px 0 0 ;
border-bottom : 2 px solid currentcolor ;
background-color : transparent ;
font-weight : var ( - - font - weight - medium ) ;
}
2024-04-30 12:26:13 +08:00
overflow-menu . overflow-menu-button : hover {
color : var ( - - color - text - dark ) ;
}
2024-03-23 00:54:09 +01:00
overflow-menu . ui . label {
margin-left : 7 px !important ; /* save some space */
}
2020-01-20 12:07:30 +02:00
. 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 ) ;
2020-01-20 12:07:30 +02:00
}
. activity-bar-graph-alt {
2022-10-23 06:05:20 +02:00
color : var ( - - color - primary - contrast ) ;
2020-01-20 12:07:30 +02:00
}
2019-03-08 17:42:50 +01:00
. oauth2-authorize-application-box {
2020-08-25 21:48:53 +02:00
margin-top : 3 em !important ;
2019-03-08 17:42:50 +01:00
}
2019-04-29 20:49:59 +02:00
2021-06-28 01:13:20 +02:00
. lines-blame-btn {
2024-03-24 13:14:03 +01:00
padding : 0 0 0 5 px ;
display : flex ;
justify-content : center ;
2021-06-28 01:13:20 +02:00
}
2019-08-08 16:46:03 +02:00
. lines-num {
2024-03-24 13:14:03 +01:00
padding : 0 8 px ;
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 : 72 px ;
white-space : nowrap ;
}
. code-diff . lines-num {
min-width : 50 px ;
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 10 px ;
display : block ;
2019-08-08 16:46:03 +02:00
}
2020-06-30 17:34:03 -04:00
. 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 ;
2020-06-30 17:34:03 -04:00
}
2019-08-08 16:46:03 +02:00
. lines-num ,
2026-04-06 13:07:33 +02:00
. lines-escape ,
2019-08-08 16:46:03 +02:00
. lines-code {
2020-12-20 19:00:03 +01:00
font-size : 12 px ;
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
}
2019-08-08 16:46:03 +02: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 % - 1 ch ) ;
padding-left : 1 ch ;
2019-08-08 16:46:03 +02:00
}
2022-01-07 01:18:52 +00:00
. lines-escape {
width : 0 ;
2024-06-12 17:23:42 +02:00
white-space : nowrap ;
2025-05-28 21:43:59 +08:00
padding : 0 ;
2022-01-07 01:18:52 +00:00
}
2020-10-31 23:15:11 +01:00
. lines-code {
padding-left : 5 px ;
}
2020-11-04 08:14:07 +01:00
. code-inner {
font : 12 px var ( - - fonts - monospace ) ;
white-space : pre-wrap ;
2023-03-04 12:48:59 +08:00
overflow-wrap : anywhere ;
2024-04-10 07:44:48 +02:00
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
}
2019-08-08 16:46:03 +02: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 ( 26 vw , 300 px ) ;
2023-03-15 03:20:19 +01:00
display : block ;
2024-03-24 13:14:03 +01:00
padding : 0 0 0 6 px ;
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 ;
2025-12-14 18:40:55 +08:00
margin-right : 6 px ;
2019-08-08 16:46:03 +02:00
}
2025-05-28 21:43:59 +08:00
tr . top-line-blame {
2021-06-28 01:13:20 +02:00
border-top : 1 px solid var ( - - color - secondary ) ;
}
2025-05-28 21:43:59 +08:00
tr . top-line-blame : first-of-type {
border-top : none ; /* merge code lines belonging to the same commit into one block */
2024-02-29 03:00:33 +01:00
}
2021-09-18 18:22:51 +02:00
. migrate . svg . gitea-git {
2022-11-23 01:22:27 +01:00
color : var ( - - color - git ) ;
2021-09-18 18:22:51 +02:00
}
2020-02-11 11:34:17 +02:00
. color-icon {
2020-08-25 21:48:53 +02:00
display : inline-block ;
2024-05-25 16:33:34 +02:00
border-radius : var ( - - border - radius - full ) ;
2020-08-25 21:48:53 +02:00
height : 14 px ;
width : 14 px ;
2020-02-11 11:34:17 +02:00
}
2020-02-11 11:02:41 -06:00
2023-05-12 12:23:53 +02: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 {
2023-10-13 10:19:21 +02:00
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.25 rem ;
2020-06-25 00:23:05 +02:00
}
2025-03-28 11:25:13 +01:00
/* for "image" emojis like ":git:" ":gitea:" and ":github:" (see CUSTOM_EMOJIS config option) */
2024-04-14 12:44:11 +02:00
. emoji img {
2020-08-25 21:48:53 +02:00
border-width : 0 !important ;
margin : 0 !important ;
width : 1 em !important ;
height : 1 em !important ;
2023-03-15 03:20:19 +01:00
vertical-align : -0.15 em ;
2020-04-28 14:05:39 -04:00
}
2020-05-20 22:27:14 +02:00
2024-03-20 18:00:35 +01:00
. ui . tabular . menu . item ,
2020-06-22 18:44:06 +02:00
. ui . secondary . pointing . menu . item {
2024-03-20 19:33:00 +01:00
padding : 11.55 px 12 px !important ; /* match .dashboard-navbar in height */
2020-12-17 16:52:58 +01:00
color : var ( - - color - text - light -2 ) ;
2020-11-26 20:33:28 +01:00
}
2024-03-20 18:00:35 +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 {
2020-10-21 00:50:10 +01:00
display : block ;
text-align : left ;
}
2021-02-12 02:29:07 +01:00
2025-04-16 16:14:10 +08:00
. ui . button . ellipsis-button {
padding : 0 5 px 8 px ;
display : inline-block ;
font-weight : var ( - - font - weight - semibold ) ;
line-height : 8 px ;
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 ;
2024-05-06 15:17:22 +08:00
min-width : 0 ; /* make ellipsis work */
}
2023-06-15 00:40:15 +08:00
. ui . ui . labeled . button {
gap : 0 ;
align-items : stretch ;
}
2024-11-09 12:48:31 +08:00
. ui . list . flex-items-block > . item ,
2025-10-24 13:02:52 -06:00
. ui . vertical . menu . flex-items-block > . item ,
2025-04-10 12:18:07 -05:00
. 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
2025-03-28 15:55:12 +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 */
}
2025-04-10 09:10:16 +08:00
. 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 ) ;
}