@import "sass-zero/variables"; @import "sass-zero/mixins"; $font-family: $font-sans; $radius-input: $rounded; $radius-button: $rounded; :root { --color-bg--main: #{$white}; --color-bg--surface: #{$gray-100}; --color-bg--highlight: #{$gray-200}; --color-primary: #{$gray-900}; --color-text: #{$gray-900}; --color-focus-ring: #{rgba($black, $opacity-60)}; } @media (prefers-color-scheme: dark) { :root { --color-bg--main: #{$gray-900}; --color-bg--surface: #{$gray-800}; --color-bg--highlight: #{$gray-700}; --color-primary: #{$white}; --color-text: #{$white}; --color-focus-ring: #{rgba($white, $opacity-60)}; } } html { accent-color: var(--color-primary); background: var(--color-bg--main); color: var(--color-text); font-family: $font-family; } .btn { border-radius: $radius-button; border-width: $border; display: inline-block; font-weight: $font-bold; padding: $size-2 $size-3; cursor: pointer; &--primary { background-color: var(--color-primary); border-color: var(--color-primary); color: var(--color-bg--main); } &--secondary { background-color: var(--color-bg--main); border-color: var(--color-primary); color: var(--color-primary); } &--tertiary { background-color: $transparent; border-color: $transparent; } &:focus { box-shadow: ring($color: var(--color-focus-ring)); @include outline-none; } &:disabled { pointer-events: none; opacity: $opacity-50; } } .input { -webkit-appearance: none; resize: none; appearance: none; background-color: var(--color-bg--main); border-radius: $radius-input; border-width: $border; padding: $size-2 $size-3; width: $w-full; &--select { background-image: linear-gradient(45deg, transparent 49%, var(--color-text) 51%), linear-gradient(135deg, var(--color-text) 51%, transparent 49%); background-position: calc(100% - 20px), calc(100% - 15px); background-repeat: no-repeat; background-size: 5px 5px, 5px 5px; } &:focus { box-shadow: ring($color: var(--color-focus-ring)); @include outline-none; } } input[type="checkbox"], input[type="radio"] { transform: scale(1.2, 1.2); margin: $size-1; &:focus { box-shadow: ring($width: 2px, $color: var(--color-focus-ring)); @include outline-none; } } blockquote { border-left-width: $border-4; padding: $size-3 $size-4; } cite { font-size: $text-sm; } code { background-color: var(--color-bg--surface); border-radius: $rounded; font-size: $text-sm; padding: $size-1; white-space: nowrap; } pre { background-color: var(--color-bg--surface); border-left-width: $border-4; overflow-y: hidden; & > code { border-radius: $rounded-none; display: block; padding: $size-2 $size-3; white-space: pre; } } kbd { background-color: var(--color-primary); border-radius: $rounded; font-size: $text-sm; padding: $size-1; color: var(--color-bg--main); } mark { background-color: var(--color-bg--highlight); border-radius: $rounded; padding: $size-1; color: inherit; } hr { margin: $size-6 $size-0; } a { font-weight: $font-bold; } ul, ol { padding-left: $size-10; } ul { list-style: disc outside; } ol { list-style: decimal outside; } label, legend, dt { margin-bottom: $size-1; } h1, h2, h3, h4, h5, h6, .hdg { margin-bottom: $size-4; } fieldset, .input { margin-bottom: $size-6; } table, details, blockquote, p, pre, ul, ol, dl { margin-bottom: $size-6; } details { padding: $size-2 $size-3; background-color: var(--color-bg--surface); border-left-width: $border-4; } summary { cursor: pointer; } table { width: $w-full; } td, th { border-bottom-width: $border; padding: $size-3 $size-4; text-align: inherit; } h1, h2, h3, h4, h5, h6, .hdg { font-weight: $font-bold; line-height: $leading-tight; } h1, .hdg--4xl { font-size: $text-4xl; } h2, .hdg--3xl { font-size: $text-3xl; } h3, .hdg--2xl { font-size: $text-2xl; } h4, .hdg--xl { font-size: $text-xl; } h5, .hdg--lg { font-size: $text-lg; } h6, .hdg--base { font-size: $text-base; }