docs/en/docs/css/custom.css CSS 559 lines View on github.com → Search inside
1/* Fira Code, including characters used by Rich output, like the "heavy right-pointing angle bracket ornament", not included in Google Fonts */2@import url(https://cdn.jsdelivr.net/npm/firacode@6.2.0/distr/fira_code.css);3/* Noto Color Emoji for emoji support with the same font everywhere */4@import url(https://fonts.googleapis.com/css2?family=Noto+Color+Emoji&display=swap);56/* Override default code font in Material for MkDocs to Fira Code */7:root {8    --md-code-font: "Fira Code", monospace, "Noto Color Emoji";9}1011/* Override default regular font in Material for MkDocs to include Noto Color Emoji */12:root {13    --md-text-font: "Roboto", "Noto Color Emoji";14}1516.termynal-comment {17  color: #4a968f;18  font-style: italic;19  display: block;20}2122.termy {23  /* For right to left languages */24  direction: ltr;25}2627.termy [data-termynal] {28  white-space: pre-wrap;29}3031.termy .linenos {32  display: none;33}3435/* External links: detected by JS comparing origin to site origin36   JS sets data-external-link on links pointing outside the site37   Skip image links, .no-link-icon, and .announce-link */38a[data-external-link]:not(:has(img)):not(.no-link-icon):not(.announce-link) {39  /* For right to left languages */40  direction: ltr;41  display: inline-block;42}4344a[data-external-link]:not(:has(img)):not(.no-link-icon):not(.announce-link)::after {45  content: "";46  display: inline-block;47  width: 0.75em;48  height: 0.75em;49  margin-left: 0.25em;50  vertical-align: middle;51  opacity: 0.55;52  background: currentColor;53  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3Cpolyline points='15 3 21 3 21 9'/%3E%3Cline x1='10' y1='14' x2='21' y2='3'/%3E%3C/svg%3E");54  -webkit-mask-size: contain;55  -webkit-mask-repeat: no-repeat;56  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3Cpolyline points='15 3 21 3 21 9'/%3E%3Cline x1='10' y1='14' x2='21' y2='3'/%3E%3C/svg%3E");57  mask-size: contain;58  mask-repeat: no-repeat;59}6061a[data-external-link]:not(:has(img)):not(.no-link-icon):not(.announce-link):hover::after {62  opacity: 0.85;63}6465/* Internal links opening in new tab: same-origin links with target=_blank66   JS sets data-internal-link on links pointing to the same site origin67   Skip image links, .no-link-icon, and .announce-link */68a[data-internal-link][target="_blank"]:not(:has(img)):not(.no-link-icon):not(.announce-link) {69  /* For right to left languages */70  direction: ltr;71  display: inline-block;72}7374a[data-internal-link][target="_blank"]:not(:has(img)):not(.no-link-icon):not(.announce-link)::after {75  content: "";76  display: inline-block;77  width: 0.75em;78  height: 0.75em;79  margin-left: 0.25em;80  vertical-align: middle;81  opacity: 0.55;82  background: currentColor;83  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='7' width='14' height='14' rx='2'/%3E%3Cpath d='M7 3h14v14'/%3E%3C/svg%3E");84  -webkit-mask-size: contain;85  -webkit-mask-repeat: no-repeat;86  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='7' width='14' height='14' rx='2'/%3E%3Cpath d='M7 3h14v14'/%3E%3C/svg%3E");87  mask-size: contain;88  mask-repeat: no-repeat;89}9091a[data-internal-link][target="_blank"]:not(:has(img)):not(.no-link-icon):not(.announce-link):hover::after {92  opacity: 0.85;93}9495/* Disable link icons in footer and header nav */96.md-footer a::after,97.md-header a::after {98  content: none !important;99}100101.shadow {102  box-shadow: 5px 5px 10px #999;103}104105/* Give space to lower icons so Gitter chat doesn't get on top of them */106.md-footer-meta {107  padding-bottom: 2em;108}109110.md-footer-meta .md-social {111  padding-right: 4rem;112}113114.user-list {115  display: flex;116  flex-wrap: wrap;117  margin-bottom: 2rem;118}119120.user-list-center {121  justify-content: space-evenly;122}123124.user {125  margin: 1em;126  min-width: 7em;127}128129.user .avatar-wrapper {130  width: 80px;131  height: 80px;132  margin: 10px auto;133  overflow: hidden;134  border-radius: 50%;135  position: relative;136}137138.user .avatar-wrapper img {139  position: absolute;140  top: 50%;141  left: 50%;142  transform: translate(-50%, -50%);143}144145.user .title {146  text-align: center;147}148149.user .count {150  font-size: 80%;151  text-align: center;152}153154a.announce-link:link,155a.announce-link:visited {156  color: #fff;157}158159a.announce-link:hover {160  color: var(--md-accent-fg-color);161}162163.announce-wrapper {164  display: flex;165  justify-content: space-between;166  flex-wrap: wrap;167  align-items: center;168}169170.announce-wrapper #announce-left div.item {171  display: none;172}173174.announce-wrapper #announce-right {175  display: none;176}177178.announce-wrapper #announce-right div.item {179  display: none;180}181182.announce-wrapper .sponsor-badge {183  display: block;184  position: absolute;185  top: -10px;186  right: 0;187  font-size: 0.5rem;188  color: #e6e6e6;189  background-color: #666;190  border-radius: 10px;191  padding: 0 10px;192  z-index: 10;193}194195.announce-wrapper .sponsor-image {196  display: block;197  border-radius: 20px;198}199200.announce-wrapper>div {201  min-height: 40px;202  display: flex;203  align-items: center;204}205206.twitter {207  color: #00acee;208}209210/* Right to left languages */211code {212  direction: ltr;213  display: inline-block;214}215216.illustration {217  margin-top: 2em;218  margin-bottom: 2em;219}220221/* Screenshots */222/*223Simulate a browser window frame.224Inspired by Termynal's CSS tricks with modifications225*/226227.screenshot {228  display: block;229  background-color: #d3e0de;230  border-radius: 4px;231  padding: 45px 5px 5px;232  position: relative;233  -webkit-box-sizing: border-box;234          box-sizing: border-box;235}236237.screenshot img {238  display: block;239  border-radius: 2px;240}241242.screenshot:before {243  content: '';244  position: absolute;245  top: 15px;246  left: 15px;247  display: inline-block;248  width: 15px;249  height: 15px;250  border-radius: 50%;251  /* A little hack to display the window buttons in one pseudo element. */252  background: #d9515d;253  -webkit-box-shadow: 25px 0 0 #f4c025, 50px 0 0 #3ec930;254          box-shadow: 25px 0 0 #f4c025, 50px 0 0 #3ec930;255}256257.doc-param-details .highlight {258  overflow-x: auto;259  width: 0;260  min-width: 100%;261}262263.md-typeset dfn {264  border-bottom: .05rem dotted var(--md-default-fg-color--light);265  cursor: help;266}267268/* Opinions: interactive logo tabs */269.fastapi-opinions {270  margin: 1.5rem 0 2rem;271}272.fastapi-opinions__tabs {273  display: grid;274  grid-template-columns: repeat(4, 1fr);275  gap: 0.25rem;276  margin-bottom: 1.5rem;277  border-bottom: 1px solid var(--md-default-fg-color--lightest);278}279.fastapi-opinions__tab {280  position: relative;281  appearance: none;282  background: none;283  border: 0;284  padding: 0.625rem 0.5rem;285  margin: 0;286  cursor: pointer;287  display: flex;288  align-items: center;289  justify-content: center;290  color: inherit;291  font: inherit;292  min-height: 40px;293  min-width: 0;294}295.fastapi-opinions__tab::after {296  content: "";297  position: absolute;298  left: 50%;299  right: 50%;300  bottom: -1px;301  height: 2px;302  background-color: var(--md-primary-fg-color);303  opacity: 0;304  transition: left 0.2s ease, right 0.2s ease, opacity 0.2s ease;305}306.fastapi-opinions__tab[aria-selected="true"]::after {307  left: 12%;308  right: 12%;309  opacity: 1;310}311.fastapi-opinions__tab:focus-visible {312  outline: 2px solid var(--md-primary-fg-color);313  outline-offset: 2px;314  border-radius: 4px;315}316.fastapi-opinions__mark {317  display: flex;318  align-items: center;319  justify-content: center;320  height: 22px;321  max-width: 100%;322  filter: grayscale(1);323  opacity: 0.5;324  transition: filter 0.2s, opacity 0.2s;325}326.fastapi-opinions__mark img {327  height: 100%;328  width: auto;329  max-width: 100%;330  object-fit: contain;331  display: block;332}333.fastapi-opinions__tab:hover .fastapi-opinions__mark {334  filter: grayscale(0.3);335  opacity: 0.85;336}337.fastapi-opinions__tab[aria-selected="true"] .fastapi-opinions__mark {338  filter: grayscale(0);339  opacity: 1;340}341342/* Dark mode: brighten dark wordmarks so they read on slate */343[data-md-color-scheme="slate"] .fastapi-opinions__mark {344  filter: grayscale(1) invert(0.85);345}346[data-md-color-scheme="slate"] .fastapi-opinions__tab:hover .fastapi-opinions__mark {347  filter: grayscale(0.3) invert(0.4);348}349[data-md-color-scheme="slate"] .fastapi-opinions__tab[aria-selected="true"] .fastapi-opinions__mark {350  filter: none;351}352353.fastapi-opinions__panel {354  position: relative;355  padding: 0.5rem 1rem 0.5rem 3rem;356}357.fastapi-opinions__panel::before {358  content: "\201C";359  position: absolute;360  top: -0.75rem;361  left: 0.25rem;362  font-family: Georgia, "Times New Roman", serif;363  font-size: 4rem;364  line-height: 1;365  color: var(--md-primary-fg-color);366  opacity: 0.18;367  pointer-events: none;368}369.md-typeset blockquote.fastapi-opinions__quote {370  margin: 0;371  font-size: 1rem;372  font-style: italic;373  line-height: 1.65;374  color: var(--md-default-fg-color);375  border-left: 0;376  padding-left: 0;377}378.fastapi-opinions__quote strong { font-style: normal; }379.fastapi-opinions__attr {380  margin-top: 0.875rem;381  font-size: 0.8rem;382  color: var(--md-default-fg-color--light);383}384.fastapi-opinions__attr strong { color: var(--md-default-fg-color); }385.fastapi-opinions__attr a {386  color: var(--md-primary-fg-color);387  text-decoration: none;388  font-size: 0.75rem;389  margin-left: 0.25rem;390}391.fastapi-opinions__attr a:hover { text-decoration: underline; }392393@media (prefers-reduced-motion: reduce) {394  .fastapi-opinions__tab::after { transition: none; }395}396397@media (max-width: 600px) {398  .fastapi-opinions__tabs { gap: 0.125rem; }399  .fastapi-opinions__mark { height: 18px; }400  .fastapi-opinions__panel { padding-left: 2.25rem; }401  .fastapi-opinions__panel::before { font-size: 3rem; }402}403404.fastapi-sponsors {405  display: flex;406  flex-wrap: wrap;407  justify-content: center;408  align-items: center;409  gap: 1rem 1.25rem;410  margin: 1rem 0 2rem;411}412413.fastapi-sponsors__card {414  transition: transform 0.15s ease;415}416417.fastapi-sponsors__card:hover {418  transform: translateY(-1px);419}420421.fastapi-sponsors__card--keystone {422  width: 100%;423  max-width: 560px;424}425426.fastapi-sponsors__banner {427  display: block;428  border-radius: 12px;429}430431.fastapi-sponsors__card--keystone .fastapi-sponsors__banner { width: 100%; }432.fastapi-sponsors__card--gold     .fastapi-sponsors__banner { height: 80px; }433.fastapi-sponsors__card--silver   .fastapi-sponsors__banner { height: 60px; }434435@media (max-width: 600px) {436  .fastapi-sponsors__card--gold   .fastapi-sponsors__banner { height: 64px; }437  .fastapi-sponsors__card--silver .fastapi-sponsors__banner { height: 50px; }438}439440.fastapi-conf-rail {441  display: block;442  margin: 1.25rem 0.5rem 0;443  padding: 0.9rem 0.85rem 0.85rem;444  border: 1px solid var(--md-default-fg-color--lightest);445  border-left: 3px solid var(--md-primary-fg-color);446  border-radius: 0.2rem;447  background: color-mix(in srgb, var(--md-primary-fg-color) 6%, transparent);448  color: var(--md-default-fg-color);449  text-decoration: none;450  transition: border-color 0.15s ease, background-color 0.15s ease, transform 0.15s ease;451}452453.fastapi-conf-rail__eyebrow {454  display: block;455  font-size: 0.56rem;456  font-weight: 700;457  letter-spacing: 0.11em;458  text-transform: uppercase;459  color: var(--md-primary-fg-color);460}461462.fastapi-conf-rail__date {463  display: block;464  margin-top: 0.45rem;465  font-size: 0.74rem;466  font-weight: 700;467  line-height: 1.25;468}469470.fastapi-conf-rail__place {471  display: block;472  margin-top: 0.1rem;473  font-size: 0.68rem;474  line-height: 1.3;475  color: var(--md-default-fg-color--light);476}477478.fastapi-conf-rail__summary {479  display: block;480  margin-top: 0.55rem;481  font-size: 0.67rem;482  line-height: 1.5;483  color: var(--md-default-fg-color--light);484}485486.fastapi-conf-rail__cta {487  display: block;488  margin-top: 0.65rem;489  font-size: 0.68rem;490  font-weight: 700;491  color: var(--md-primary-fg-color);492}493494.fastapi-conf-rail:hover {495  border-color: var(--md-primary-fg-color);496  background: color-mix(in srgb, var(--md-primary-fg-color) 10%, transparent);497}498499.fastapi-conf-rail:hover .fastapi-conf-rail__cta,500.fastapi-conf-rail:focus-visible .fastapi-conf-rail__cta {501  color: var(--md-accent-fg-color);502  text-decoration: underline;503}504505.fastapi-conf-rail:focus-visible {506  outline: 2px solid var(--md-accent-fg-color);507  outline-offset: 2px;508}509510.fastapi-conf-rail--mobile {511  display: none;512}513514@media screen and (max-width: 76.234375em) {515  .fastapi-conf-rail:not(.fastapi-conf-rail--mobile) {516    display: none;517  }518519  .md-typeset .fastapi-conf-rail--mobile {520    display: grid;521    grid-template-columns: minmax(0, 1fr) auto;522    margin: 0 0 1.25rem;523    text-decoration: none;524  }525526  .fastapi-conf-rail--mobile .fastapi-conf-rail__summary {527    display: none;528  }529530  .fastapi-conf-rail--mobile .fastapi-conf-rail__cta {531    grid-column: 2;532    grid-row: 1 / 4;533    align-self: center;534    margin: 0 0 0 0.8rem;535    white-space: nowrap;536  }537}538539.fastapi-feature-banner {540  display: block;541  max-width: 680px;542  margin: 1rem auto 1.5rem;543}544.fastapi-feature-banner img {545  display: block;546  width: 100%;547  border-radius: 12px;548}549550/* Hidden in MkDocs; rendered on GitHub (which doesn't load this stylesheet) */551.only-github { display: none; }552553.newsletter-embed {554  display: block;555  width: calc(100% + 8px);556  margin: -4px;557  border: 0;558}

Code quality findings 52

Use of !important detected; avoid overriding specificity with safer cascade management
warning maintainability important-override
content: none !important;
ID selector detected; prefer class selectors for reusability and lower specificity
warning maintainability id-selector
.announce-wrapper #announce-left div.item {
ID selector detected; prefer class selectors for reusability and lower specificity
warning maintainability id-selector
.announce-wrapper #announce-right {
ID selector detected; prefer class selectors for reusability and lower specificity
warning maintainability id-selector
.announce-wrapper #announce-right div.item {
Unnecessary vendor prefix detected; verify if modern browsers require it or use autoprefixer
info correctness vendor-prefix
-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3Cpolyline points='15 3 21 3 21 9'/%3E%3Cline x1='10' y1='14' x2='21' y2='3'/%3E%3C/svg%3E");
Unnecessary vendor prefix detected; verify if modern browsers require it or use autoprefixer
info correctness vendor-prefix
-webkit-mask-size: contain;
Unnecessary vendor prefix detected; verify if modern browsers require it or use autoprefixer
info correctness vendor-prefix
-webkit-mask-repeat: no-repeat;
Unnecessary vendor prefix detected; verify if modern browsers require it or use autoprefixer
info correctness vendor-prefix
-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='7' width='14' height='14' rx='2'/%3E%3Cpath d='M7 3h14v14'/%3E%3C/svg%3E");
Unnecessary vendor prefix detected; verify if modern browsers require it or use autoprefixer
info correctness vendor-prefix
-webkit-mask-size: contain;
Unnecessary vendor prefix detected; verify if modern browsers require it or use autoprefixer
info correctness vendor-prefix
-webkit-mask-repeat: no-repeat;
Absolute units detected; prefer relative units (e.g., rem, em, %) for responsive design
info accessibility absolute-units
box-shadow: 5px 5px 10px #999;
Absolute units detected; prefer relative units (e.g., rem, em, %) for responsive design
info accessibility absolute-units
width: 80px;
Absolute units detected; prefer relative units (e.g., rem, em, %) for responsive design
info accessibility absolute-units
height: 80px;
Absolute units detected; prefer relative units (e.g., rem, em, %) for responsive design
info accessibility absolute-units
margin: 10px auto;
Absolute units detected; prefer relative units (e.g., rem, em, %) for responsive design
info accessibility absolute-units
top: -10px;
Absolute units detected; prefer relative units (e.g., rem, em, %) for responsive design
info accessibility absolute-units
border-radius: 10px;
Absolute units detected; prefer relative units (e.g., rem, em, %) for responsive design
info accessibility absolute-units
padding: 0 10px;
Absolute units detected; prefer relative units (e.g., rem, em, %) for responsive design
info accessibility absolute-units
border-radius: 20px;
Absolute units detected; prefer relative units (e.g., rem, em, %) for responsive design
info accessibility absolute-units
min-height: 40px;
Absolute units detected; prefer relative units (e.g., rem, em, %) for responsive design
info accessibility absolute-units
border-radius: 4px;
Absolute units detected; prefer relative units (e.g., rem, em, %) for responsive design
info accessibility absolute-units
padding: 45px 5px 5px;
Unnecessary vendor prefix detected; verify if modern browsers require it or use autoprefixer
info correctness vendor-prefix
-webkit-box-sizing: border-box;
Absolute units detected; prefer relative units (e.g., rem, em, %) for responsive design
info accessibility absolute-units
border-radius: 2px;
Absolute units detected; prefer relative units (e.g., rem, em, %) for responsive design
info accessibility absolute-units
top: 15px;
Absolute units detected; prefer relative units (e.g., rem, em, %) for responsive design
info accessibility absolute-units
left: 15px;
Absolute units detected; prefer relative units (e.g., rem, em, %) for responsive design
info accessibility absolute-units
width: 15px;
Absolute units detected; prefer relative units (e.g., rem, em, %) for responsive design
info accessibility absolute-units
height: 15px;
Unnecessary vendor prefix detected; verify if modern browsers require it or use autoprefixer
info correctness vendor-prefix
-webkit-box-shadow: 25px 0 0 #f4c025, 50px 0 0 #3ec930;
Absolute units detected; prefer relative units (e.g., rem, em, %) for responsive design
info accessibility absolute-units
-webkit-box-shadow: 25px 0 0 #f4c025, 50px 0 0 #3ec930;
Absolute units detected; prefer relative units (e.g., rem, em, %) for responsive design
info accessibility absolute-units
box-shadow: 25px 0 0 #f4c025, 50px 0 0 #3ec930;
Absolute units detected; prefer relative units (e.g., rem, em, %) for responsive design
info accessibility absolute-units
border-bottom: 1px solid var(--md-default-fg-color--lightest);
Absolute units detected; prefer relative units (e.g., rem, em, %) for responsive design
info accessibility absolute-units
min-height: 40px;
Absolute units detected; prefer relative units (e.g., rem, em, %) for responsive design
info accessibility absolute-units
bottom: -1px;
Absolute units detected; prefer relative units (e.g., rem, em, %) for responsive design
info accessibility absolute-units
height: 2px;
Absolute units detected; prefer relative units (e.g., rem, em, %) for responsive design
info accessibility absolute-units
outline: 2px solid var(--md-primary-fg-color);
Absolute units detected; prefer relative units (e.g., rem, em, %) for responsive design
info accessibility absolute-units
outline-offset: 2px;
Absolute units detected; prefer relative units (e.g., rem, em, %) for responsive design
info accessibility absolute-units
border-radius: 4px;
Absolute units detected; prefer relative units (e.g., rem, em, %) for responsive design
info accessibility absolute-units
height: 22px;
Absolute units detected; prefer relative units (e.g., rem, em, %) for responsive design
info accessibility absolute-units
.fastapi-opinions__mark { height: 18px; }
Absolute units detected; prefer relative units (e.g., rem, em, %) for responsive design
info accessibility absolute-units
max-width: 560px;
Absolute units detected; prefer relative units (e.g., rem, em, %) for responsive design
info accessibility absolute-units
border-radius: 12px;
Absolute units detected; prefer relative units (e.g., rem, em, %) for responsive design
info accessibility absolute-units
.fastapi-sponsors__card--gold .fastapi-sponsors__banner { height: 80px; }
Absolute units detected; prefer relative units (e.g., rem, em, %) for responsive design
info accessibility absolute-units
.fastapi-sponsors__card--silver .fastapi-sponsors__banner { height: 60px; }
Absolute units detected; prefer relative units (e.g., rem, em, %) for responsive design
info accessibility absolute-units
.fastapi-sponsors__card--gold .fastapi-sponsors__banner { height: 64px; }
Absolute units detected; prefer relative units (e.g., rem, em, %) for responsive design
info accessibility absolute-units
.fastapi-sponsors__card--silver .fastapi-sponsors__banner { height: 50px; }
Absolute units detected; prefer relative units (e.g., rem, em, %) for responsive design
info accessibility absolute-units
border: 1px solid var(--md-default-fg-color--lightest);
Absolute units detected; prefer relative units (e.g., rem, em, %) for responsive design
info accessibility absolute-units
border-left: 3px solid var(--md-primary-fg-color);
Absolute units detected; prefer relative units (e.g., rem, em, %) for responsive design
info accessibility absolute-units
outline: 2px solid var(--md-accent-fg-color);
Absolute units detected; prefer relative units (e.g., rem, em, %) for responsive design
info accessibility absolute-units
outline-offset: 2px;
Absolute units detected; prefer relative units (e.g., rem, em, %) for responsive design
info accessibility absolute-units
max-width: 680px;
Absolute units detected; prefer relative units (e.g., rem, em, %) for responsive design
info accessibility absolute-units
border-radius: 12px;
Absolute units detected; prefer relative units (e.g., rem, em, %) for responsive design
info accessibility absolute-units
margin: -4px;

Get this view in your editor

Same data, no extra tab — call code_get_file + code_get_findings over MCP from Claude/Cursor/Copilot.

Generated by searchcode.com · powered by code_get_file + code_get_findings