/* ==UserStyle== @name GitHub @namespace github.com/openstyles/stylus @version 3.3.1 @description A new userstyle @author Me @preprocessor stylus @var checkbox remove-icons "Partly remove icons" 1 @var checkbox old-user-status "Old user status" 1 @var select sidebar-pos "Sidebar position" { 'Left': 'left', 'Right': 'right' } ==/UserStyle== */ // Variables vendors = official; $small-screen = 768px; $select-shadow = inset 0 1px 2px rgba(0, 0, 0, 0.1); $select-size = 16px; $i = !important; // Stylus svar(var) { s('var(--%s)', var); } cond(n, yes, no) { (n == 0 ? no : yes) $i; } sel-cond(sel, pos) { pos ? s('%s-%s', sel, pos) : sel; } color-a(n, bright = true) { s = bright ? -2 : null; n = n > 6 ? n - 8 : n; s('hsla(var(--color%s-h), var(--color-s%s), var(--color-l%s), var(--bg-opacity))', n, s, s); } // Appearance bg(n =) { background-color: s('var(--bg%s)', n) $i; if (n == -tr || n == -tr2 || n == -tr3) { backdrop-filter: var(--popup-filter) $i; } } fg(n =) { color: s('var(--fg%s)', n) $i; } bgc(n1 =, n2 =) { bg(n1); fg(n2); } hl() { background-color: var(--hl) $i; color: var(--hl-fg) $i; } accent() { background-color: var(--accent) $i; color: var(--accent-fg) $i; } clr(n) { color: s('var(--color%s)', n) $i; } lnh() { line-height: var(--line-height) $i; } pad(pos =, n = 1) { {sel-cond(padding, pos)}: \ (n == 0 ? 0 : pos == 0 ? 0 : var(--pad)) $i; } mar(pos =, n = 1) { {sel-cond(margin, pos)}: \ (n == 0 ? 0 : pos == 0 ? 0 : var(--pad)) $i; } shd(n) { box-shadow: cond(n, s('var(--shadow-%s)', n), none); } rad(n = 1) { border-radius: cond(n, var(--border-radius), 0); } brd(pos =, color = border) { if (color) { color = svar(color); } {sel-cond(border, pos)}: \ (color == 0 ? none : pos == 0 ? none : var(--border-width) solid color) $i; if (!pos) { rad(pos); } } // Position box(w, h = w) { width: w $i; height: h $i; } flex(display = flex, alignment = center, justification =) { display: display $i; align-items: alignment $i; justify-content: justification $i; } // Animation anim(name =, func = ) { @media (prefers-reduced-motion: no-preference) { {name ? animation : transition}: name var(--trans-dur) func $i; } } dropfade() { anim(dropfade, cubic-bezier(0.2, 0.9, 0.6, 1)); } // Focus focus(p = focus) { anim(); &:{p} { border-color: var(--hl) $i; box-shadow: var(--shadow-ins) var(--hl) $i; outline: none $i; } } header-focus(class = page-focus) { .{class} & { --bg2: var(--accent); --fg: var(--accent-fg); --border: var(--accent-border); } // Stylus is unable to recognise :where() :root:not(:-moz-window-inactive) & { --bg2: var(--accent); --fg: var(--accent-fg); --border: var(--accent-border); } } // Text replace-text(content =, text-color = fg, pos = after) { color: transparent $i; letter-spacing: -9999px $i; if (content) { // Replace &::{pos} { content: content $i; letter-spacing: 0 $i; color: svar(text-color) $i; } } else { // Hide * { letter-spacing: 0 $i; color: svar(text-color) $i; } } } hide-chars(amount, pos, bg =) { margin-{pos}: s('-%sch', amount) $i; position: relative $i; element = pos == left ? before : after; &::{element} { content: '' $i; position: absolute $i; inset: 0; box(s('%sch', amount), calc(1em * var(--line-height))); bg(bg); } } // Normalisation disabled() { &:disabled { opacity: 0.5 $i; cursor: not-allowed $i; } } normalise-select() { appearance: none $i; bgc(2); lnh(); background-image: linear-gradient(55deg, var(--bg2) 43%, transparent 45%), linear-gradient(125deg, transparent 53%, var(--bg2) 55%), linear-gradient(180deg, var(--bg2) 30%, var(--fg) 30%) $i; background-size: 20px 20px $i; background-repeat: no-repeat $i; background-position: right 50% $i; pad(); padding-right: calc(var(--pad) + 20px) $i; brd(); focus(); disabled(); } normalise-input() { bgc(2); lnh(); pad(); brd(); focus(); disabled(); &::placeholder { fg(2); } } normalise-button() { bgc(2); lnh(); background-image: none $i; padding: var(--pad) calc(var(--pad) * 2) $i; brd(); cursor: pointer $i; focus(); disabled(); } normalise-color() { bg(2); pad(0); brd(); box($select-size); focus(); disabled(); &::-webkit-color-swatch { brd(0); // Prevent from making it look like a radio input border-radius: calc(var(--border-radius) * 0.33) $i; &-wrapper { pad(0); } } } normalise-checkbox(label = true) { if (label) { /label { lnh(); flex(); gap: 1ch $i; } } appearance: none $i; bg(2); brd(); // Prevent from making it look like a radio input border-radius: calc(var(--border-radius) * 0.33) $i; box-shadow: $select-shadow $i; mar(0); position: relative $i; box($select-size); min-width: $select-size $i; focus(); &::before, &::after { content: ''; position: absolute $i; inset: 0; background-color: var(--hl) $i; transform-origin: 0 0 $i; } &:disabled { &::before, &::after { background-color: var(--fg2) $i; } } &::before { transform: rotate(-45deg) translateY(45%) translateX(-30%) scaleX(0.25) scaleY(0) $i; } &:indeterminate::before { transform: rotate(0) translateY(37.5%) translateX(10%) scaleX(0.8) scaleY(0.25) $i; transition-duration: 33.3ms $i; } &::after { transform: rotate(225deg) translateY(-30%) translateX(-95%) scaleX(0.25) scaleY(0) $i; } &:checked { &::before { transform: rotate(-45deg) translateY(45%) translateX(-30%) scaleX(0.25) scaleY(0.4) $i; transition-duration: 33.3ms $i; } &::after { transform: rotate(225deg) translateY(-30%) translateX(-95%) scaleX(0.25) scaleY(1.2) $i; transition-delay: 33.3ms $i; anim(); } } } normalise-radio() { appearance: none $i; bg(2); brd(); border-radius: 50% $i; box-shadow: $select-shadow $i; mar(0); position: relative $i; box($select-size); focus(); &::before { content: ''; position: absolute $i; inset: 3px; background-color: var(--hl) $i; border-radius: 50% $i; transition: transform var(--trans-dur) linear $i; transform: scale(0) $i; } &:disabled::before { background-color: var(--fg2) $i; } &:checked::before { transition-timing-function: cubic-bezier(0, 0, 0.3, 1.5) $i; transform: scale(1) $i; anim(); } } normalise-header(first = true) { fg(); lnh(); text-transform: uppercase $i; letter-spacing: 1px $i; pad(0); pad(bottom); brd(bottom); mar(0); mar(bottom); if (!first) { margin-top: calc(var(--pad) * 2) $i; } } // Website-specific functions brd-radius(pos) { border-{pos}-left-radius: var(--border-radius) $i; border-{pos}-right-radius: var(--border-radius) $i; } normal-colors() { // Don't get me affected by header-focus() --bg2: var(--reserve-bg2) $i; --fg: var(--reserve-fg) $i; --fg2: var(--reserve-fg2) $i; --border: var(--reserve-border) $i; } @-moz-document domain("github.com") { /** * Variables **/ [data-color-mode] { // Background --bgColor-default: var(--bg) $i; --bgColor-inset: var(--bg) $i; --bgColor-muted: var(--bg3) $i; --bgColor-tertiary: var(--bg3) $i; --bgColor-accent-emphasis: var(--hl) $i; --page-header-bgColor: var(--bg2) $i; --timelineBadge-bgColor: var(--bg2) $i; --overlay-bgColor: var(--bg) $i; --overlay-backdrop-bgColor: transparent $i; // Text --fgColor-default: var(--fg) $i; --fgColor-muted: var(--fg2) $i; --fgColor-neutral: var(--fg2) $i; --fgColor-accent: var(--fg-link) $i; --fgColor-link: var(--fg-link) $i; --fgColor-onEmphasis: var(--hl-fg) $i; // State colors = { danger: 9, severe: 9, closed: 9, success: 10, open: 10, attention: 11, done: 12 } for k, v in colors { clr = s('var(--color%s)', v); --bgColor-{k}-emphasis: clr $i; --bgColor-{k}-muted: color-a(v) $i; --fgColor-{k}-emphasis: clr $i; --fgColor-{k}-muted: s('var(--color%s)', v - 8) $i; --fgColor-{k}: clr $i; --borderColor-{k}-emphasis: clr $i; } // Syntax highlighting --color-prettylights-syntax-comment: var(--fg2) $i; colors = { constant: 9, string: 10, entity: 11, entity-tag: 12, keyword: 12, storage-modifier-import: 13, support: 13, variable: 14 } for k, v in colors { --color-prettylights-syntax-{k}: s('var(--color%s)', v) $i; } // ANSI colors colors = { black: 0, red: 1, green: 2, yellow: 3, blue: 4, magenta: 5, cyan: 6, white: 7 } for k, v in colors { --color-ansi-{k}: s('var(--color%s)', v) $i; --color-ansi-{k}-bright: s('var(--color%s)', v + 8) $i; } --color-ansi-gray: var(--color15) $i; // Diffs colors = { deletion: 1, addition: 2, }; str = 'color-mix(in srgb, var(--color%s) %s, transparent)'; for k, v in colors { --diffBlob-{k}Line-bgColor: s(str, v, 10%) $i; --diffBlob-{k}Num-bgColor: s(str, v, 20%) $i; --diffBlob-{k}Word-bgColor: s(str, v, 25%) $i; } // Borders --borderColor-default: var(--border) $i; --borderColor-muted: var(--border) $i; --borderColor-translucent: @css { color-mix( in srgb, var(--border) 25%, transparent ) } $i; // Shadows --shadow-inset: none $i; --shadow-resting-xsmall: none $i; --shadow-resting-small: none $i; --shadow-resting-medium: var(--shadow-low) $i; --shadow-floating-small: var(--shadow-big) $i; --shadow-floating-medium: var(--shadow-big) $i; --shadow-floating-large: var(--shadow-big) $i; --shadow-floating-xlarge: var(--shadow-big) $i; --shadow-floating-legacy: var(--shadow-big) $i; // Spacing for i in range(4, 48, 4) { --base-size-{i}: var(--pad); } for i in range(64, 128, 16) { --base-size-{i}: var(--pad); } for i in condensed normal spacious { --stack-gap-{i}: var(--pad); --stack-padding-{i}: var(--pad); --controlStack-small-gap-{i}: var(--pad); --controlStack-medium-gap-{i}: var(--pad); --controlStack-large-gap-{i}: var(--pad); } for i in xsmall small medium large xlarge { --controlStack-{i}-gap-auto: var(--pad); --control-{i}-gap: var(--pad); --control-{i}-paddingBlock: var(--pad); --control-{i}-paddingInline-normal: var(--pad); --control-{i}-paddingInline-spacious: var(--pad); --control-{i}-paddingInline-condensed: var(--pad); } // Text for i in body title { --text-{i}-lineHeight-small: var(--line-height); --text-{i}-lineHeight-medium: var(--line-height); --text-{i}-lineHeight-large: var(--line-height); } for i in codeBlock caption subtitle display { --text-{i}-lineHeight: var(--line-height); } --fontStack-monospace: var(--font-code); --fontStack-sansSerif: var(--font-normal); --fontStack-system: var(--font-normal); // Other variables --borderWidth-thin: var(--border-width); --borderWidth-thick: calc(var(--border-width) * 2); --borderWidth-thicker: calc(var(--border-width) * 4); for i in small medium large full { --borderRadius-{i}: var(--border-radius); } } // Settings body { --reserve-bg2: var(--bg2); --reserve-fg: var(--fg); --reserve-border: var(--border); --reserve-pad: var(--pad); // Settings settings = '' for i in settings { \-\-{i}: convert(i); } margin-top: var(--header-h); } /** * Global **/ a { color: var(--fg-link); } p { mar(bottom); } mark { hl(); * { color: inherit $i; } } // Primer body, pre, .markdown-body, .social-count, .form-control, .form-select, .radio-label, .subnav-item, .pagination a, .pagination em, .pagination span, .label, .Label, .blob-num, .blob-code, .Box--condensed { lnh(); } .lh { &-condensed-ultra, &-condensed, &-default { lnh(); } } .dropdown-item.pl-5 { padding-left: 24px $i; } .form-select, .form-control, .markdown-title pre, .markdown-title code, .markdown-body pre, .markdown-body code { border-radius: var(--border-radius) $i; } .Counter { background-color: transparent $i; fg(2); lnh(); pad(0); brd(0); mar(left, 0); .UnderlineNav & { margin-left: 1ch $i; } .pagehead-actions & { display: none; } &::before { content: '('; } &::after { content: ')'; } } .ActionList { &Item { &--navActive:not(&--danger) { &::after { display: none; } &, span { hl(); } } } &-sectionDivider:empty { mar(0); } } .filter-item { pad(); brd(0); &:not(.selected):hover { background-color: transparent; fg(); } &.mb-2 { mar(0); } } .form { &-select { normalise-select(); height: unset; } &-control { /.QueryBuilder-StyledInput, textarea&, main input& { normalise-input(); } } &-checkbox { padding-left: s('calc(%s + 1ch)', $select-size) $i; input { &[type="checkbox"], &[type="radio"] { margin-left: s('calc(%s - 1ch)', $select-size * -1) $i; } } } } .FormControl { for i in checkbox radio { {s('input[type="%s"]&-%s', i, i)} { normalise-{i}(); } } &-checkbox, &-radio { &-wrap { gap: 1ch; } } input[type="checkbox"]&-checkbox::before { -webkit-mask-image: none; clip-path: unset; box(unset); animation: unset $i; } &-input { normalise-input(); height: unset $i; &-leadingVisualWrap { display: none $i; } } } for i in checkbox radio { {s('input[type="%s"]', i)} { normalise-{i}(false); &.mr-2 { margin-right: 1ch $i; } } } .btn, .Button { normalise-button(); shd(0); box(unset); .Box-header &, .file-header &, #repository-container-header & { --bg2: var(--bg); } .flash & { --pad: calc(var(--reserve-pad) / 2); } colors = { danger: 9, primary: 10 } for k, v in colors { &-{k}, &--{k} { background-color: color-a(v) $i; border-color: s('var(--color%s)', v) $i; } } } .BtnGroup { &-item:last-child, &-parent:last-child > &-item { margin-left: calc(var(--border-width) * -1); } & + &, & + .btn { mar(left); } } .btn { .details-overlay:not(.BtnGroup-parent):not(.details-overlay-dark) \ > &:not([aria-label="Table of Contents"]) { normalise-select(); &::after { display: none; } .dropdown-caret, & > .octicon-triangle-down { display: none $i; } } &-octicon { @extend .btn; mar(left); vertical-align: super; &, ~/-sm, /.Button--small, /.Button--iconOnly { --pad: calc(var(--reserve-pad) / 2); } & > .octicon { vertical-align: sub $i; } } &.js-wiki-sidebar-toc-toggle-chevron-button { --pad: calc(var(--reserve-pad) / 2); brd(0); mar(top); mar(left, 0); } &, &-octicon { & > .octicon:only-child { fg(); } } } .SegmentedControl-item { pad(0); brd(0); height: unset $i; &--selected .Button { hl(); &-label { color: inherit $i; } } } // GitHub .timeline-comment { brd(); &-header { pad(); .Button { background-color: transparent $i; fg(2); pad(0); brd(0); &:hover { fg(); } } } .Label { bgc(); } } /** * Hide elements **/ // I. Unsorted .topics-row-container, .BorderGrid-row:first-child div.my-3, article.color-bg-subtle > .color-bg-default > .d-flex, // Topic tags article.border.rounded.color-shadow-small.my-4 > h2.f6.color-fg-muted.px-3.mt-3, // "Based on repositories you’ve starred" .BorderGrid-cell > .mt-3:last-child, [href$="/network/dependents"] > .px-2, // + N contributors/etc. .new-discussion-timeline .Layout-sidebar > div > .my-3, // Most helpful users .Layout-main > .thread-subscription-status, .QueryBuilder-leadingVisualWrap, // icon .js-calendar-graph > .f6, // "Learn how we count contributions" [title="Label: Latest"], // "Latest" release label .footer, // II. Recommendations / GitHub stuff aside[aria-label="Star Topics"], [href="https://desktop.github.com"], .feed-right-sidebar .js-notice, // Top notice [href="/account/choose?action=upgrade"], [href^="/organizations/enterprise_plan"], .col-md-8.col-lg-6.py-4 > article.color-bg-default, // "App recommended by GitHub" / "Staff pick" [aria-label="Explore navigation"] > div > .text-right, // "Get e-mail updates" [data-action="click:qbsearch-input#showFeedbackDialog"], [id^="dialog-show-funding-links-modal-"], #sponsor-profile-button, { display: none $i; } /** * Header **/ .AppHeader { shd(0); .Button, &-button { fg(2); pad(0); brd(0); shd(0); box(unset); transition: none $i; &:hover { background-color: transparent $i; fg(); } } &-globalBar { bgc(2); brd(bottom); header-focus(); pad(); position: fixed; top: 0; width: 100%; &-start, &-end { flex(); } &-start > div[class=""] { display: none; } &-end { max-height: unset $i; } } &-logo { background-color: transparent $i; fg(2); mar(0); box(var(--font-size)); & > .octicon { fg(); box(var(--font-size)); vertical-align: unset $i; } &:not(:hover) > .octicon { normal-colors(); fg(2); } } &-context { height: unset $i; &-item { normal-colors(); background-color: transparent $i; color: inherit $i; pad(0); min-width: unset $i; &:hover &-label { text-decoration: underline $i; } } &-compact-trigger { @extend .AppHeader-context-item; mar(0); height: unset $i; } } // Make the search icon-only, it pops out anyway. &-search { &-whenRegular { display: none $i; } &-whenNarrow { display: grid $i; } } &-actions { &::before { display: none $i; } .Button { &-visual { mar(0); } &-label { display: none; } } } &-user { // TODO: God knows why this makes it centered. margin-top: -4px $i; .avatar { border-radius: 50% $i; box(var(--font-size)); } } &-localBar { bg(2); pad(0); brd(bottom); margin-top: var(--header-h); & > .UnderlineNav { brd(0); } } } .search-input { width: unset; } #repo-title-component { display: none $i; } #repository-container-header { bg(2); & > .d-flex > div { mar(left); align-self: center $i; } .border-bottom { pad(top); mar(0); } } .pagehead-actions { & > li { mar(right); } .BtnGroup { mar(0); } } /** * Content **/ // Content container .container-sm, .container-md, .container-lg, .container-xl { pad(0); mar(0); width: 100% $i; max-width: unset $i; } .Layout { --Layout-sidebar-width: var(--sidebar-width) $i; --Layout-gutter: 0px $i; &-sidebar { bg(2); pad(); brd(sidebar-pos == left ? right : left); .btn, .Button, .form-control, .FormControl, ::-webkit-scrollbar { --bg2: var(--bg) $i; } } &-main { margin: var(--body-pad) $i; } // Lefthand side repository sidebar if (sidebar-pos == left) { grid-template-columns: auto calc(100% - var(--Layout-sidebar-width) - var(--Layout-gutter)) $i; &-main { grid-column: 2/span 2 $i; } &-sidebar { grid-column: 1 $i; } } else { grid-template-columns: calc(100% - var(--Layout-sidebar-width) - var(--Layout-gutter)) auto $i; &-main { grid-column: 1 $i; } &-sidebar { grid-column: 2/span 2 $i; } } } // Tabs .UnderlineNav { pad(0); brd(bottom); shd(0); min-height: unset; &-body { pad(0); gap: 0; } &-item { background-color: transparent $i; lnh(); pad(); brd(0); &:not(:hover) { fg(2); } &.selected, &[aria-selected="true"], &[aria-current]:not([aria-current="false"]) { hl(); &::after { display: none; } } .Counter { color: unset $i; } } } .tabnav-tab { lnh(); } // Sticky sidebar & headers /* * Also includes the js sticky headers to be inside the header, * if stuck (.is-stuck) */ main .Box-header, .file-header, #repo-content-turbo-frame[src$="/releases"] .col-md-2, .js-position-sticky, .Layout-sidebar > * { position: sticky $i; } #repo-content-turbo-frame[src$="/releases"] .col-md-2, .Layout-sidebar > * { top: calc(var(--header-h) + var(--pad)); z-index: 999 $i; } main .Box-header, .file-header, .js-position-sticky { top: var(--header-h); z-index: 998 $i; } .js-position-sticky { height: var(--header-h); &.is-stuck { background: none transparent $i; border-color: transparent $i; z-index: 999 $i; } .btn { --bg2: var(--bg); /:is(.page-focus, :not(:-moz-window-inactive)) &-octicon-danger > .octicon { color: var(--accent-fg) $i; } } } .Layout-sidebar { & > * { z-index: 998 $i; } } #repo-content-turbo-frame[src$="/releases"] .col-md-2 { height: fit-content; } .AppHeader-globalBar, .Overlay, .Popover, .SelectMenu { z-index: 999 $i; } .notification-shelf { --pad: calc(var(--reserve-pad) / 2); pad(); overflow: hidden; &.is-stuck { margin-left: calc(var(--font-size) * 1.5 + var(--sidebar-width) + var(--body-pad)); width: calc(100% - var(--font-size) * 1.5 - var(--sidebar-width) - var(--body-pad) - 48px - 8px * 2 - var(--pad) * 15) $i; & > .d-flex { justify-content: flex-start $i; } } .btn { margin-top: calc(var(--border-width) * -1) $i; &-octicon { display: none; } } } .js-notifications-back-to-inbox { replace-text('Back'); } // Sidebar .BorderGrid { mar(0); display: flex; flex-direction: column; gap: calc(var(--pad) * 2); &-cell { pad(0); brd(0); display: block; h2 { normalise-header(); & > a { flex(,,space-between); } } .pt-1 { // Settings pad(0); } .Counter { &::before, &::after { display: none; } } } // Contributors' avatars &-cell > .list-style-none > .mb-2.mr-2 { --base-size-8: calc(var(--pad) / 2); } // Releases [href*="/releases/tag/"] { position: relative; &::before { content: ''; position: absolute; right: 0; box(2ch, 100%); background-image: linear-gradient(90deg, transparent, var(--bg2)); } & > .ml-2 { white-space: nowrap; overflow: hidden; display: flex $i; & > .color-fg-muted::before { content: ' - '; } } } .list-style-none .text-small > :last-child { fg(2); &::before { content: '('; } &::after { content: ')'; } } } #wiki-pages-box .Box-row { pad(0); } // Content headers .gh-header, .Subhead { &-actions { text-transform: initial; letter-spacing: initial; mar(0); } } .gh-header { &-show > .d-flex { normalise-header(); align-items: end; } &-title { lnh(); mar(0); } } #toc, #sidebar-events-header, .Subhead { normalise-header(false); align-items: end $i; gap: 1ch $i; } #toc { pad(); mar(bottom, 0); } #sidebar-events-header, #repo-content-pjax-container > div > .Subhead { mar(top, 0); } .markdown-alert { background-color: @css { color-mix( in srgb, var(--color) calc(100% * var(--bg-opacity) / 2), transparent ); } border-left-color: var(--color) $i; colors = { caution: 1, important: 2 warning: 3, note: 4, tip: 5, }; for k, v in colors { &-{k} { --color: s('var(--color%s)', v) $i; } } &-title { color: var(--color) $i; } } .markdown-body { h1, h2, h3, h4, h5, h6 { lnh(); normalise-header(false); } pre { bg(2); pad(); brd(); } } // Dashboard .feed { &-left-sidebar, &-right-sidebar { --scrollbar-track: var(--bg); bg(2); mar(0); h2 { normalise-header(false); width: 100%; } .js-repos-container .Button { display: none $i; } .form-control { --bg2: var(--bg); normalise-input(); } } &-left-sidebar { width: var(--sidebar-width) $i; [role="search"] { margin-top: calc(var(--pad) * -1) $i; } } &-right-sidebar { pad(); brd(left); margin-top: calc(var(--pad) * -2) $i; & > div { background-color: unset $i; pad(0); brd(0); } } &-content { pad(0); brd(0); mar(0); gap: 0 $i; max-width: unset $i; } &-main { margin: var(--body-pad) $i; max-width: unset $i; } &-item-content { bg(2); pad(0); shd(0); .btn { --bg2: var(--bg); } .details-overlay > .btn-link { normalise-button(); --bg2: var(--bg); --pad: calc(var(--reserve-pad) / 2); & > svg { fg(); mar(0); } } } } .dashboard-sidebar { top: var(--header-h) $i; &::-webkit-scrollbar { &-button, &-track { --bg2: var(--bg); } } .py-3.mb-2 { pad(0); mar(0); #switch_dashboard_context_left_column-button { --bg2: var(--bg); normalise-select(); .Button-visual { display: none; } } } } feed-container > :first-child { normalise-header(); align-items: end $i; & > div { letter-spacing: initial $i; text-transform: initial $i; } } .js-feed-item-component { pad(top, 0); header { mar(top, 0); } .mt-1.mb-1 { brd(top); margin: calc(var(--pad) * -1) $i; } } // Discussions .discussion { &s-header-wrap { gap: var(--pad); } } // Popup & boxes .Box { &-btn-octicon { lnh(); } &-header { bg(2); /.graph-before-activity-overview, & { brd-radius(top); } } &-body:not(&) { bg(); } &-footer { bg(2); .btn:not(.btn-primary) { bg(); } } &-row--focus-gray.navigation-focus { background-color: transparent $i; } &--overlay { brd(,accent-border); ~/[role="dialog"], & { shd(big); fade(drop); } & ^[0] { &-header { accent(); brd(0); brd(bottom, accent-border); } &-title { accent(); text-align: center; } &-btn-octicon { lnh(); & > .octicon { color: var(--accent-fg) $i; } } } } &--responsive { brd(); } } .Overlay { &::backdrop { background-color: transparent $i; } } .dropdown { &-menu { pad(0); z-index: 1000; } &-divider { mar(0); } } .SelectMenu { /.Overlay, &-modal { brd(); dropfade(); } &-header, &-item { pad(); brd(bottom); } &-footer { pad(); brd(top); } &-closeButton { pad(0); mar(0); } &-list { pad(0); } } #search-suggestions-dialog { brd(0); } .search-suggestions { // Don't get me affected by header-focus() --bg2: var(--reserve-bg2) $i; --fg: var(--reserve-fg) $i; --border: var(--reserve-border) $i; brd(); // inline border-radius left: 0; top: 0; .ActionList { ../ .QueryBuilder-ListWrap, &Item { pad(0); mar(0); } &Wrap { brd(top); } &Item-description { display: none; } &-sectionDivider { &:empty { display: none; } &-title { normalise-header(false); mar(left); mar(right); } } } } /** * Options **/ // Remove icons where unnecessary if (remove-icons) { // I. Header and tabs #repository-container-header, .pagehead .mb-3 .btn, // gist .UnderlineNav, // II. Profile and organisation .user-profile-bio + div a, .activity-overview-box .d-flex, .pinned-item-list-item-content .flex-1, // III. Other [aria-label="This recommendation was generated by GitHub computers"], [aria-label="These results are generated by GitHub computers"], // trending repos/devs today .BorderGrid-cell, .Link--primary, .flash, .State { .octicon { display: none; } } :is([data-component="icon"], [data-component="leadingVisual"]):not(:only-child), .UnderlineNav-octicon, .tabnav-tab > .octicon, // tabs :is(.btn, .btn-link):not(.btn-octicon, [aria-haspopup], [role]) > \ .octicon:not(:only-child), .ActionListItem-visual, // sidebar .file-info > .mr-1, // gist .jump-to-octicon, .blankslate-icon, .Banner-visual, { display: none $i; } // IV. Fixes .octicon { &-kebab-horizontal, &-triangle-down, &-chevron-down, .Layout &-gear, &-dot-fill, &-grabber, &-plus, &-dash, &-x { display: inline-block $i; } } .BorderGrid-cell > [href*="/releases/"] > div { mar(left, 0); } [aria-label="These results are generated by GitHub computers"] { mar(right, 0); } .auto-search-input { padding-left: 12px $i; } } else { .form-control.pl-5 { padding-left: 32px $i; } } // Old user status if (old-user-status) { .user-status { &-circle-badge { background-color: var(--display-lemon-bgColor-muted); border-color: var(--display-lemon-bgColor-emphasis) $i; width: 100% $i; &, &-container:hover & { box-shadow: none $i; } &-container { position: unset $i; box(auto); margin: var(--base-size-16, 16px) 0 0 $i; & > div { width: 100%; } .color-fg-muted { color: var(--fg) $i; } } } &-message-wrapper { width: 100% $i; opacity: 1 $i; &.no-wrap { //white-space: normal $i; } } // One class twice to override !important &-circle-badge-container&-circle-badge-container &-emoji-container { margin-right: var(--base-size-8) $i; } } } /** * React garbage **/ sel(name) { {s('/%s%s-"]', unquote(slice(selector(), 0, -2)), name)}; } // Global [data-component="text"] { lnh(); &::before { display: none $i; } .octicon { vertical-align: middle $i; } } [class*="prc-TooltipV2-Tooltip-"] { margin-top: var(--header-h) $i; } // Input .TextInput { &-wrapper { normalise-input(); shd(0); max-width: 25vw $i; min-height: unset $i; focus(focus-within); & > input { pad(0); mar(right); } kbd { display: none $i; } } &-icon { &:first-child { display: none; } &:last-child { & > div { mar(0); } } } } // Buttons colors = { danger: 9, primary: 10, } [class*="prc-Button-ButtonBase-"] { gap: 0 $i; shd(0); box(unset); #repos-sticky-header &, #repository-container-header & { --bg2: var(--bg); } &:not([data-variant="link"]) { normalise-button(); } &[aria-disabled="true"] { @extend .Button:disabled; } &[data-size="small"] { --pad: calc(var(--reserve-pad) / 2); } &[aria-haspopup] { normalise-select(); [data-component="trailingAction"], [data-component="trailingVisual"] { display: none $i; } } &[data-variant="link"]:hover { text-decoration: underline $i; } for k, v in colors { /{s('%s[data-variant="%s"]', unquote(selector()), unquote(k))} { clr = s('var(--color%s)', v); --bg2: clr $i; --border: clr $i; } } } [class*="prc-ButtonGroup-ButtonGroup-"] { gap: var(--pad) $i; } [data-component="buttonContent"] { & > * { mar(0); } } // Counter [class*="prc-CounterLabel-CounterLabel-"] { @extend .Counter; } // Icons [data-component="icon"], [data-component="leadingVisual"] { margin-right: 1ch $i; & > div { mar(0); height: unset $i; } } // Context menu [class*="prc-Overlay-Overlay-"] { @extend .Overlay; } [class*="prc-ActionList-"] { {sel(ActionList)} { pad(0); } {sel(ActionListContent)} { color: inherit $i; } {sel(ActionListItem)} { mar(0); &[data-active], &:hover { --fgColor-muted: var(--hl-fg); --fg2: var(--hl-fg); hl(); } } {sel(Divider)} { mar(0); } {sel(Group)} { mar(0); } // Headers in context menus... lmao {sel(GroupHeadingWrap)} { display: none $i; } {sel(ItemLabel)} { color: inherit $i; lnh(); } // Left side icon {sel(LeadingVisual)} { min-width: 16px $i; } {sel(VisualWrap)} { lnh(); kbd { all: unset $i; &:not(:last-child)::after { content: '+'; } } } } // Tree [class*="prc-TreeView-"] { {sel(TreeViewItem)} { &[aria-current] > div { hl(); --fgColor-default: var(--hl-fg); --fgColor-muted: var(--hl-fg); } } {sel(TreeViewItemToggle)} { padding-top: 10px $i; } } // Pagination [class*="prc-Pagination-"] { {sel(PaginationContainer)} { mar(top); mar(bottom, 0); } {sel(Page)} { normalise-button(); mar(right); min-width: unset $i; height: unset $i; &[aria-disabled] { @extend .Button:disabled; } &[aria-current] { hl(); } &::after { display: none $i; } } } // Tabs [class*="prc-components-"] { {sel(UnderlineWrapper)} { pad(0); shd(0); min-height: unset $i; } {sel(UnderlineItemList)} { gap: 0 $i; } {sel(UnderlineItem)} { background-color: transparent $i; fg(2); &:hover { fg(); } &[aria-current] { hl(); &::after { display: none $i; } } [data-component="icon"] { color: inherit $i; } } } [class*="prc-SegmentedControl-"] { {sel(Button)} { bg(2); pad(0); height: unset $i; &[aria-current="true"] { hl(); } &::after { display: none $i; } } {sel(Content)} { background-color: transparent $i; pad(); brd(0); height: unset $i; } {sel(Item)} { mar(0); } {sel(SegmentedControl)} { --pad: calc(var(--reserve-pad) / 2); background-color: var(--border) $i; gap: var(--border-width) $i; brd(); height: unset $i; } } // Overlay [class*="prc-Dialog-Dialog-"] { brd(); shd(big); dropfade(); // Site header user nav [role="heading"] { bg(2); gap: var(--pad) $i; pad(); brd(bottom); button { --bg2: var(--bg); --pad: calc(var(--reserve-pad) / 2); } & + div > div { pad(0); } } // Make mobile overlays look like normal popouts normal-colors(); mar(0); box(unset); position: fixed $i; top: calc(var(--header-h) + var(--pad)) $i; [class^="Item__LiBox-"] { transition: none $i; &:hover { hl(); --fg: var(--hl-fg); } } } // Sidebar [class*="prc-PageLayout-"] { // Seen in commits page {sel(PageLayoutRoot)} { pad(0); } {sel(Pane)} { --pane-width: var(--sidebar-width) $i; pad(0); h2, h3 { normalise-header(false); mar(); } } {sel(PaneWrapper)} { bg(2); brd(right); top: var(--header-h) $i; .TextInput-wrapper, button { --bg2: var(--bg); } } {sel(PaneVerticalDivider)} { display: none $i; } {sel(ContentWrapper)} { padding: var(--body-pad) $i; } } // Other components [class*="prc-Label-Label-"] { --pad: calc(var(--reserve-pad) / 2); pad(); height: unset $i; } /** * Old React pages **/ // Code view [class*="BlobViewHeader-module__"] { {sel(Box_1)} { brd(); } } .react { // Repository overview &-directory { &-row { && td { bg(); } } &-filename-column, &-commit-age { pad(0); } &-filename-column { gap: var(--pad) $i; height: unset $i; } } // Code view &-code { &-view-bottom-padding { & + div { mar(0); & > div { // Latest commit &:first-of-type { bg(2); brd(); mar(bottom); & > div { gap: var(--pad); pad(); & > div { gap: var(--pad); } } a:not(.issue-link) { fg(); } a, button { --bg2: var(--bg); } [data-testid="avatar-icon-link"] + span > a { fg(-link); } img { mar(right); box(var(--font-size)); } } // Code view/symbols &:last-of-type { & > :first-child:not(:only-child) { mar(right); } // Symbols .panel-content-narrow-styles { brd(0); top: var(--header-h) $i; } // what the hell ? #symbols-pane > div { & > :not([class*=" "]) > div { & > :first-child, & > div > :first-child { brd(0); } } } #symbols-pane-header { normalise-header(); justify-content: left; width: 100% $i; } [aria-roledescription="Symbol Navigation Details"] { pad(0); pad(bottom); brd(bottom); mar(bottom); } [aria-labelledby="symbols-pane-header"] { pad(0); & > :nth-child(2) { fg(); pad(0); } } // Header/section, I don't know .bVrwaI, .coSTPM { normalise-header(false); background-color: transparent $i; brd(top, 0); height: unset $i; } // Bottom .iEQKDS { brd(top); padding: var(--pad) 0 $i; } } } } } // File contents &-text { span { font-family: var(--font-code) $i; } } } &-last-commit { &-message { gap: var(--pad) $i; } &-history-group { background-color: transparent $i; pad(0); brd(0); &:hover { span { fg(-link); } } } } &-line-number { font-family: var(--font-code) $i; &s { bg(2); brd(right); } & > span { // arrow mar(0); top: -2px; } } &-tree-show-tree-items { & > div { pad(0); } } } react-app[app-name="react-code-view"], react-partial[partial-name="repos-overview"] { // Files table[class] { brd(); & > :first-child > :first-child { position: sticky $i; top: var(--header-h) $i; } td, th { bg(2); pad(0); brd(0); brd(bottom); [class*="prc-Button-ButtonBase-"] { --bg2: var(--bg); } /[data-testid="up-tree"] > div, & > span, // "Name" label & > div { padding: calc(var(--pad) / 2) var(--pad) $i; } } } thead, tr { height: unset $i; } } react-app { &[app-name="blackbird-search"] { [class*="prc-PageLayout-"] { {sel(Content)} { & > div { pad(0); } // Results list & > div > :nth-last-child(2) { pad(top); } // Pagination & > div > :last-child { pad(0); } } } // Sidebar [data-testid="facets-pane"] { pad(0); } [data-testid="search-sub-header"] { & > div { gap: var(--pad) $i; // Right side buttons & > div { mar(right); } } } [data-testid="results-list"] { gap: var(--pad) $i; & > div { // Header & > :first-child, // "Show X more matches" & > a { bg(3); pad(); brd(); height: unset $i; button { --bg2: var(--bg); --pad: calc(var(--reserve-pad) / 2); normalise-button(); box(unset); } } // Code & > :nth-child(2) { bg(2); brd(left); brd(right); &:last-child { brd(0); brd(left); brd(right); brd(bottom); } & > div { pad(0); } .blob-num { brd(right); } // Separator [style^="margin-top"] { brd(bottom); mar(0); } } } } } } // Repository overview react-partial[partial-name="repos-overview"] > div > div { mar(0); // Top buttons & > :nth-child(2) { pad(0); pad(bottom); & > div, & > div > :nth-child(2) { gap: var(--pad) $i; } // Icon buttons a[data-no-visuals] { mar(right); } } // Branch [data-testid="branch-info-bar"] { bg(2); pad(); brd(); mar(bottom); button { --bg2: var(--bg); } } // Content & > :last-child { gap: var(--pad) $i; // Files thead { display: none $i; } // README & > :last-child > :last-child:not([data-hpc]) { brd(); // Tabs container & > :first-child { bg(2); padding-right: calc(var(--pad) / 2) $i; brd(0); brd(bottom); top: var(--header-h) $i; // Buttons button { --bg2: var(--bg); --pad: calc(var(--reserve-pad) / 2); } } // Content & > div:last-of-type { pad(); } } } } #repos { &-sticky-header { top: calc(var(--header-h) - var(--border-width)); & > div { position: unset; } // Code & + div { brd(); border-top: none $i; } } // Code view sidebar &-file-tree { bg(2); button, [type="button"], .TextInput-wrapper { --bg2: var(--bg); } & > :first-child { pad(); brd(bottom); & > :first-child { display: none $i; } & > :nth-child(2) > :nth-child(2) { gap: var(--pad) $i; display: flex $i; } [role="tooltip"] { mar(right); } } & > :nth-child(2) { pad(); brd(bottom); mar(0); } // Shadow & > :empty { display: none $i; } } } #StickyHeader { pad(0); } [aria-labelledby^="file-name-id"] { mar(0); & > div { pad(0); } } #highlighted-line-menu-container > button { left: calc((16px + var(--pad) / 2) * -1); } /** * Commits **/ react-app[app-name="commits"]:not([initial-path*="/commit/"]) { [class*="prc-PageLayout-Header-"] { display: none $i; } // Author name a[data-muted="true"] { fg(); } } [class*="CommitGroup-module__panel-"] { brd(0); mar(0); } [class*="CommitRow-module__"] { {sel(ListItem_0)} { bg(2); pad(); gap: 0 $i; brd(); mar(bottom); & > :empty { display: none $i; } button, .Button { --bg2: var(--bg); } [class*="MainContent-module__inner-"] { pad(0); } } {sel(ListItemTitle_0)} { pad(0); } } //// // NEW React pages //// /** * Single commit **/ :root { --header-height: var(--header-h) $i; } #diff_file_tree { gap: 0 $i; & > .gap-2 { bg(2); pad(); brd(bottom); position: sticky $i; top: 0 $i; z-index: 1 $i; } } react-app[app-name="commits"] { [class*="prc-PageHeader-"] { {sel(Actions)}, {sel(TitleArea)} { display: none $i; } {sel(Description)} { pad(0); } } } [class*="prc-PageHeader-"] { {sel(Actions)} { &[data-component="PH_Actions"] { --pad: calc(var(--reserve-pad) / 2); height: unset $i; } } {sel(Description)} { pad(0); & > .flex-column { flex-direction: column-reverse $i; } } {sel(Title)} { normalise-header(); } {sel(TitleArea)} { align-self: end $i; } } [class*="prc-PageLayout-"] { {sel(HeaderContent)} { bg(2); [class*="prc-Button-ButtonBase-"] { --bg2: var(--bg); --pad: calc(var(--reserve-pad) / 2); } .color-bg-default { background-color: transparent $i; brd(0); mar(0); } } {sel(HeaderHorizontalDivider)} { height: var(--border-width) $i; } {sel(ContentWrapper)} { .position-sticky { pad(top, 0); position: unset $i; } .diff-text-cell { brd(left); } } } [class*="CommitHeader-module__commit-message-container-"] { pad(0); brd(0); min-height: unset $i; .f5 { normalise-header(); } .extended-commit-description-container { mar(0); } & + div { pad(0); mar(top); } } [class*="ExpandableHunkHeaderDiffLine-module__expand-button-line-"] { background-color: color-a(4) $i; brd(0); width: var(--line-number-cell-width-unified) $i; &:hover { background-color: color-a(12) $i; } } [class*="Comment-module__commit-discussion-comments-"] { gap: 0 $i; & > :first-child { normalise-header(false); button { --pad: calc(var(--reserve-pad) / 2); } } & > .pt-3 { pad(0); & > div { background-color: transparent $i; pad(0); brd(0); & > button { normalise-input(); fg(2); } } } & > .p-2 { pad(0); brd(0); mar(top); } } [class*="Diff-module__diffHeaderWrapper-"] { button { --pad: calc(var(--reserve-pad) / 2); } } [class*="DiffFind-module__defaultStyles-"] { all: unset; } /** * Issues list **/ react-app[app-name="issues-react"] { [class*="prc-PageLayout-Content-"] > div { pad(0); margin-top: calc(var(--pad) * -1) $i; } // Accessibility div [data-testid="list-header"] { display: none $i; // Content & + div { gap: var(--pad) $i; } } } [class*="PinnedIssues-module__"] { {sel(area)} { gap: var(--pad) $i; } {sel(container)} { bg(2); & > div > div { pad(0); // Comment count & > div > :last-child > :last-child { pad(0); } } a.css-truncate { normalise-header(); } } } [class*="FilterInputWrapper-module__Box_1-"] { gap: var(--pad) $i; } [class*="Filter-module__Box_2-"] { normalise-input(); } [class*="Input-module__Box_"] { height: unset $i; } [class*="ClearButton-module__clearButton-"] { all: unset $i; &:not(:hover) { fg(2); } } [class*="SearchBar-module__gap8-"] + div > div { brd(); } [class*="Metadata-module__container-"] { pad(0); padding-right: calc(var(--pad) / 2) $i; position: sticky $i; top: var(--header-h) $i; height: unset $i; z-index: 1 $i; } [class*="SectionFilterLink-module__container"] { lnh(); gap: 1ch $i; pad(); &:not([aria-current]) { background-color: transparent $i; fg(2); &:hover { --fg2: var(--fg); } } &[aria-current] { --fg2: var(--hl-fg); hl(); } } [class*="VisibleAndOverflowContainer-module__Box_0-"] { button { --bg2: var(--bg); --pad: calc(var(--reserve-pad) / 2); @extend [class*="prc-Button-ButtonBase-"][aria-haspopup]; } } [class*="IssueRow-module__row-"] { & > li { background-color: transparent $i; gap: 0 $i; } [class*="LeadingVisual-module__outer-"] { margin-top: calc(var(--pad) * var(--line-height)) $i; } [class*="MainContent-module__inner-"] { pad(bottom); } a { fg(); } } /** * Issue **/ // TODO: for now [data-testid="issue-metadata-sticky"] { display: none $i; } [data-testid="issue-viewer-container"] { position: relative $i; } [class*="IssueViewer-module__"] { {sel(issueViewerContainer)} { padding: var(--body-pad) $i; margin-left: var(--sidebar-width) $i; position: unset $i; & > div { pad(0); max-width: 100% $i; } & > :last-child > div { gap: 0 $i; flex-direction: row-reverse $i; & > [data-testid="issue-viewer-metadata-container"] { bg(2); pad(); brd(right); overflow: auto $i; position: fixed $i; top: calc(var(--header-h) * 2) $i; bottom: 0 $i; left: 0 $i; width: var(--sidebar-width) $i; } } [class*="Avatar-module__avatarWithDivider-"] { margin-top: 16px $i; } // Reaction icon [data-component="leadingVisual"] { display: initial $i; } } {sel(issueViewerMetadataPane)} { margin-top: calc(var(--pad) * -2) $i; } } [class*="HeaderViewer-module__headerContainer-"] { pad(bottom); brd(bottom); mar(bottom); h1 { pad(0); brd(0); mar(0); } } [class*="ActivityHeader-module__"] { {sel(activityHeader)} { min-height: unset $i; } {sel(narrowViewportWrapper)} { pad(0); } } [data-testid="comment-header"] { pad(); // TODO: ? border-radius: 0 $i; brd(bottom); } [data-testid="issue-viewer-issue-container"] > div { gap: var(--pad) $i; } [data-testid^="timeline-divider-"] { padding-left: 16px $i; } [data-testid^="timeline-row-border-"]:not(:has(> .Timeline-Item)) { brd(); } // First comment overrides [data-testid="issue-body"] > div > div { // [data-testid^="timeline-row-border-"] brd(); & > :first-child { @extend [data-testid="comment-header"]; } } // The rest of the comments overrides [class*="LayoutHelpers-module__"] { {sel(nonLeadingElement)} { margin-left: calc(40px + var(--pad)) $i; } {sel(timelineElement)} { @extend [data-testid="issue-viewer-issue-container"] > div; } } [data-testid^="comment-viewer-outer-box-"] > :last-child { gap: var(--pad) $i; mar(); } [data-testid="sidebar-projects-section"], [data-testid="sidebar-section"] { pad(0); mar(0); &::after { display: none $i; } a:hover { text-decoration: underline $i; } button { --bg2: var(--bg); &[data-size="small"][data-variant="invisible"] { background-color: transparent $i; pad(0); brd(0); position: absolute $i; top: 0 $i; right: 0 $i; &:hover span { fg(); } } } h3 { normalise-header(false); position: unset $i; width: 100% $i; } div, [class*="prc-Text-Text-"] { pad(0); mar(0); } } #issue-viewer-subscription-description { mar(top); } // Apparently it's immune to my disabled copilot setting... // fuck off, github [class*="CopilotWorkspaceButton-module__buttonGroup-"] { display: none $i; } [class*="OptionsSection-module__ActionListOverrides-"] { margin: calc(var(--pad) * -1) $i; mar(top); } [class*="SubscriptionSection-module__"] { {sel(button)} { background-color: transparent $i; fg(); mar(0); position: absolute $i; top: calc(var(--pad) * 2) $i; &:not(:hover) { fg(2); } } {sel(header)} { position: unset $i; } } [class*="IssueCommentComposer-module__"] { {sel(commentBoxWrapper)} { pad(0); margin-top: calc(var(--pad) * -1) $i; } {sel(commentComposerWrapper)} { pad(top, 0); mar(bottom, 0); } {sel(heading)} { display: none $i; } } #react-issue-comment-composer { [class*="Footer-module__"] { {sel(footer)} { --pad: calc(var(--reserve-pad) / 2); } // !important @layer recipes { {sel(footerButton)} { fg(); } } } } [class*="MarkdownEditor-module__viewSwitchWrapper-"] { mar(0); } [class*="TabNav__TabNavLink"] { lnh(); pad(); brd(0); &:not(.selected):hover { fg(); } &.selected { hl(); } } [class*="Toolbar-module__"] { {sel(toolbar)} button { --pad: calc(var(--reserve-pad) / 2); // Saved replies &:not([aria-haspopup]) { background-color: transparent $i; brd(0); &:not(:hover) { fg(2); } } } } // "Follow guidelines, CoC, etc." nobody cares [data-testid="contributor-footer"] { display: none $i; } .react-comments-container > div { mar(0); } /** * Theme fixes **/ .text-small, .h1, .h2, .h3, .h4, .h5, .h6, .f1, .f2, .f3, .f4, .f5, .f6, .f00-light, .f0-light, .f1-light, .f2-light, .f3-light { font: var(--font-size) $i; } .text { &-light, &-normal, &-bold, &-semibold { font-weight: normal $i; } } .text-mono, .commit .sha, .blob-code-inner, .blob-code-inner *, .react-file-line { font-family: var(--font-code) $i; } .user-mention, .team-mention { color: var(--fg-link); } .vcard-detail .octicon { mar(top, 0); mar(right); } [data-target="diff-layout.mainContainer"] { margin-left: 48px $i; } /** * Unsorted **/ #user-profile-frame { margin-top: calc(var(--pad) * -1) $i; .f4.text-normal { normalise-header(false); } } .Box-header .ml-n1 { mar(0); } .js-yearly-contributions .dropdown { mar(top, 0); } .js-profile-editable-replace > .clearfix { overflow: hidden; } }