/* Python brand tokens, from unfairly.ai/brand-guidelines/python (checked 2026-10-31).
   Sizes, spacing and components were measured on https://www.python.org/ (Logo rules from the PSF logo page, trademark policy, trademark FAQ and Python Logo Usage Guidelines PDF v1.0; colour and type tokens from the open-source python.org stylesheet (python/pythondotorg); page anatomy measured on www.python.org at 1440 and 390 with Playwright, 2026-10-31).
   Fonts: --font-* use the open stand-ins (load them from Google Fonts); --font-*-original name Python's own faces, which you may only use if you have a licence. */
:root {
  --color-paper: #F9F9F9;
  --color-surface: #E6E8EA;
  --color-ink: #444444;
  --color-ink-muted: #666666;
  --color-accent: #3776AB;
  --color-on-accent: #FFFFFF;
  --color-accent-secondary: #FFD343;
  --color-night: #2B5B84;
  --color-on-night: #E6E8EA;
  --color-python-blue-color-blue-blue: #3776AB;
  --color-blue-medium-color-blue-medium: #2B5B84;
  --color-blue-dark-color-blue-dark: #1E415E;
  --color-python-yellow-color-yellow-yellow: #FFD343;
  --color-default-text-color-default: #444444;
  --color-white-color-white: #FFFFFF;
  --color-grey-lightest-color-grey-lightest: #E6E8EA;
  --color-grey-lighter-color-grey-lighter: #CACCCE;
  --color-grey-light-color-grey-light: #999999;
  --color-grey-color-grey: #666666;
  --color-grey-dark-color-grey-dark: #333333;
  --color-green-color-green: #82B043;
  --color-purple-color-purple: #A06BA7;
  --color-red-color-red: #B55863;
  --color-psf-grey-psf: #78797A;
  --color-darker-blue-darkerblue: #1E2933;
  --color-dark-blue-darkblue: #1F3B47;
  --color-grey-lighterest-grey-lighterest: #F2F4F6;
  --color-grey-lighterer-grey-lighterer: #DDDDDD;
  --color-grey-darker-grey-darker: #222222;
  --color-code-green-code-green: #0D870D;
  --color-orange-orange: #CC9547;
  --color-logo-blue-light: #5A9FD4;
  --color-logo-blue-dark: #306998;
  --color-logo-yellow: #FFD43B;
  --color-logo-yellow-light: #FFE873;
  --color-wordmark-grey: #646464;
  --color-logo-shadow-grey: #B8B8B8;
  --color-python-powered-blue: #446785;
  --color-python-powered-grey: #CCCCCC;
  --color-tab-ground-dark: #13191E;
  --color-tab-ground: #1F2A32;
  --color-tab-divider-dark: #11171D;
  --color-tab-divider-light: #273643;
  --color-header-top-rule: #191919;
  --color-yellow-light: #FFDF76;
  --color-yellow-border: #DCA900;
  --color-button-text: #4D4D4D;
  --color-nav-blue: #2D618C;
  --color-nav-highlight: #629CCD;
  --color-nav-shade: #18334B;
  --color-nav-hover-start: #326B9C;
  --color-dropdown-blue: #BBD4E9;
  --color-dropdown-blue-light: #D6E5F2;
  --color-blue-button-edge: #3D83BE;
  --color-blue-button-hover-start: #316998;
  --color-blue-button-hover-end: #244E71;
  --color-options-bar-top-edge: #2D3E4D;
  --color-options-bar-bottom-edge: #070A0C;
  --color-utility-text: #BBBBBB;
  --color-slide-copy-ground: #1C3B56;
  --color-prompt-orange: #C65D09;
  --color-keyword-green: #6AB825;
  --color-function-blue: #447FCF;
  --color-number-blue: #3677A9;
  --color-string-amber: #ED9D13;
  --color-builtin-teal: #24909D;
  --color-notice-text: #664E04;
  --color-notice-button-border: #006DAD;
  --color-grey-button-top: #D9D9D9;
  --color-grey-button-hover-top: #E6E6E6;
  --color-hover-text-dark: #1A1A1A;
  --color-yellow-hover-top: #FFEBA9;
  --color-quote-yellow: #FFE58F;
  --color-attribution-ground: #F6F6F6;
  --color-story-link: #3571A3;
  --color-widget-rule: #75A8D3;
  --color-content-ground-light: #FCFCFC;
  --color-content-ground: #F9F9F9;
  --color-footer-rule: #D8DBDE;
  --color-back-to-top-ground: #E0E3E5;
  --color-back-to-top-edge: #DBDEE1;
  --color-sitemap-hover: #ECEDEF;
  --color-footer-base-link: #89B4D9;
  --color-footer-base-hover: #FFF7DC;
  --color-copyright-underline: #4F90C6;
  --color-site-base-rule: #111111;
  --color-status-green: #008000;
  --color-psf-link-hover: #FFF1C2;
  --color-tag-hover: #D0D4D7;
  --color-tag-hover-top: #DAE0E5;
  --color-tag-hover-bottom: #B5B8BA;
  --color-psf-section-nav: #646565;
  --color-button-yellow-fill: #FFD343;
  --color-button-yellow-text: #4D4D4D;
  --color-button-yellow-ring: #DCA900;
  --color-button-blue-fill: #2B5B84;
  --color-button-blue-text: #E6E8EA;
  --color-button-blue-ring: #3776AB;
  --color-button-grey-fill: #CCCCCC;
  --color-button-grey-text: #4D4D4D;
  --color-button-grey-ring: #006DAD;
  --color-button-launch-shell-fill: #FFD343;
  --color-button-launch-shell-text: #4D4D4D;
  --color-button-launch-shell-ring: #DCA900;
  --color-more-link-text: #999999;
  --color-readmore-link-on-blue-text: #FFD343;
  --color-quote-bubble-fill: #FFDF76;
  --color-tag-chip-fill: #E6E8EA;
  --color-tag-chip-text: #666666;
  --color-notice-bar-fill: #FFDF76;
  --color-notice-bar-text: #664E04;
  --color-network-tab-text: #999999;
  --color-main-nav-item-text: #E6E8EA;
  --font-display: Abel, "Source Sans Pro", Arial, sans-serif;
  --font-display-original: Flux, Abel, "Source Sans Pro", Arial, sans-serif;
  --font-body: "Source Sans 3", "Source Sans 3", Arial, sans-serif;
  --font-body-original: "Source Sans Pro", "Source Sans 3", "Source Sans 3", Arial, sans-serif;
  --font-mono: Inconsolata, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif;
  --font-mono-original: Consolas, Inconsolata, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif;
  --page-margin: 144px;
  --section-padding: 40px;
  --container-max: 1200px;
  --hero-text-max: 1096px;
  --card-gap: 24px;
  --nav-height: 55px;
  --grid-gutter: 24px;
  --grid-columns: 4;
  --text-title-size: 24.15px;
  --text-title-line: 1.25;
  --text-title-weight: 400;
  --text-lead-size: 24px;
  --text-lead-line: 1.4;
  --text-lead-weight: 400;
  --text-slide-heading-size: 21px;
  --text-slide-heading-line: 1;
  --text-slide-heading-weight: 700;
  --text-nav-size: 18px;
  --text-nav-line: 1.625;
  --text-nav-weight: 400;
  --text-nav-tracking: 0.18px;
  --text-footer-base-size: 18.11px;
  --text-footer-base-line: 1.625;
  --text-footer-base-weight: 400;
  --text-sitemap-heading-size: 17.5px;
  --text-sitemap-heading-line: 1.625;
  --text-sitemap-heading-weight: 400;
  --text-quote-size: 18px;
  --text-quote-line: 1.75;
  --text-quote-weight: 400;
  --text-body-size: 16px;
  --text-body-line: 1.625;
  --text-body-weight: 400;
  --text-widget-size: 15px;
  --text-widget-line: 1.625;
  --text-widget-weight: 400;
  --text-small-size: 14px;
  --text-small-line: 1.625;
  --text-small-weight: 400;
  --text-tag-size: 13.125px;
  --text-tag-line: 1.625;
  --text-tag-weight: 400;
  --text-legal-size: 11.9px;
  --text-legal-line: 1.625;
  --text-legal-weight: 400;
  --text-code-size: 16px;
  --text-code-line: 1.5;
  --text-code-weight: 400;
  --radius-button-yellow: 6px;
  --radius-button-blue: 6px;
  --radius-button-grey: 6px;
  --radius-button-launch-shell: 6px;
  --radius-small-widget: 0px;
  --radius-quote-bubble: 6px;
  --radius-tag-chip: 0px;
  --radius-notice-bar: 16px;
  --duration-transition-default: 300ms;
  --ease-carousel-fade: linear;
  --duration-carousel-fade: 600ms;
  --duration-dropdown-delay: 250ms;
  --icon-widget: 21px;
  --icon-search: 28px;
}
/* Phone values measured at 390px; Python's CSS switches at 639px. */
@media (max-width: 639px) {
  :root {
    --page-margin: 4px;
    --section-padding: 4px;
    --text-lead-size: 20px;
    --text-footer-base-size: 20.7px;
    --text-sitemap-heading-size: 20px;
    --text-quote-size: 16px;
    --text-widget-size: 16px;
    --text-small-size: 16px;
    --text-tag-size: 14px;
    --text-legal-size: 10.2px;
  }
}
