@bakung-ui/minimax.css
Version:
A reset CSS library with variables
749 lines (604 loc) • 16.1 kB
CSS
@charset "UTF-8";
:root{
--font-style:normal;
--font-variant:normal;
--font-weight:300;
--font-stretch:normal;
--font-size:16px;
--line-height:1.5;
--font-family:Lato, "Helvetica Neue", sans-serif;
--font:var(--font-style) var(--font-variant) var(--font-weight) var(--font-stretch) var(--font-size) / var(--line-height) var(--font-family);
--letter-spacing:0.06em;
--accent-color:oklch(0.59 0.11 281.84);
--font-color:oklch(0.36 0.02 285.26);
--font-color:oklch(0 0 0);
--font-color-alt-1:oklch(0.44 0.02 284.16);
--font-color-alt-2:oklch(0.6 0.02 285.26);
--bg-color:oklch(0.98 0 0);
--bg-color-text-alt-1:oklch(0.36 0.02 285.26);
--bg-color-text:oklch(0.95 0.01 285.37);
--bg-color-clickable:oklch(0.96 0.01 285.53);
--border-color-control:oklch(0.75 0.02 285.18);
--border-color-boundary:oklch(0.82 0.02 285.18);
--transparent-color:oklch(from var(--accent-color) l c h / .15);
--href--color:oklch(0.56 0.22 276.32);
--href--visited-color:oklch(0.42 0.13 279.17);
--shadow-float:0 3px 10px 0 var(--transparent-color);
--shadow-clickable:0 2px 2px 0 var(--transparent-color);
--focus-outline:0.25rem solid var(--transparent-color);
--focus--box-shadow:0 0 0 0.25rem var(--transparent-color);
--elements-block-level-space:1rem;
--boundary--border:1px solid var(--border-color-boundary);
--h--font-family:Montserrat, sans-serif;
--h--font-weight:500;
--h--line-height:1;
--h--letter-spacing:-0.016em;
--h--color:var(--font-color-alt-1);
--backdrop--bg-color:var(--transparent-color);
--dialog--height:auto;
--dialog--width:auto;
--blockquote--border-width:0 0 0 4px;
--blockquote--border-style:solid;
--blockquote--border-color:var(--border-color-boundary);
--blockquote_--footer--color:var(--font-color-alt-2);
--blockquote_--footer--margin:1rem 0 0;
--pre--color:var(--font-color-alt-1);
--pre--background:var(--bg-color-text);
--pre--border:var(--boundary--border);
--cks--font-family:"Sometype Mono", monospace, monospace;
--cks--font-size:1.125rem;
--cks--font-weight:400;
--code--color:var(--font-color);
--code--background:oklch(from var(--pre--background) .9 c h / .8);
--kbd--color:white;
--kbd--background:var(--bg-color-text-alt-1);
--kbd--border-radius:3px;
--kbd_-kbd--font-weight:400;
--kbd_-kbd--color:var(--font-color);
--kbd_-kbd--border:solid var(--border-color-boundary);
--kbd_-kbd--border-width:1px 2px 3px 1px;
--kbd_-kbd--padding:0 0.5rem 0.25rem .25rem;
--controls--font-color:var(--font-color);
--controls--border:1px solid var(--border-color-control);
--controls--min-height:1.75rem;
--controls--padding:0.125em 0.25em 0.25em;
--input--bg-color:white;
--btn--font-weight:400;
--btn--font-size:var(--font-size);
--btn--line-height:1.5;
--btn--font:normal var(--btn--font-weight) var(--btn--font-size) / var(--btn--line-height) var(--font-family);
--btn--font-color:var(--font-color);
--btn--bg-color:var(--bg-color-clickable);
--btn--paddings:0.2lh 1.5em;
--btn--paddings:.2lh .75lh .25lh;
--btn--borders-width:1px;
--btn--border-style:solid;
--btn--border-color:var(--border-color-control);
--btn--borders-radius:0.375em;
--btn--borders-radius:0.25em;
--btn--shadow:var(--shadow-clickable);
--moz-input--paddings:0.125em 0.25em 0.25em;
--moz-input--select-paddings:0.125em 0.25em 0.25em;
--moz-btn-paddings:0.2lh 1.5em;
--moz-btn-paddings:.2lh .75lh .25lh;
}
@layer base{
*,
*::before,
*::after{
box-sizing:border-box;
margin:0;
padding:0;
}
*:focus-visible{
outline:var(--focus-outline);
}
*:where([type="radio"], [type="range"]):focus-visible{
outline:none;
}
html{
font:var(--font);
-webkit-text-size-adjust:100%;
&:has(dialog[open], dialog[popover]:popover-open){
overflow:hidden;
}
}
body{
accent-color:var(--accent-color);
color:var(--font-color);
background:var(--bg-color);
letter-spacing:var(--letter-spacing);
line-height:var(--line-height);
}
main{
display:block;
}
h1,
h2,
h3,
h4,
h5,
h6{
font:var(--h--font-weight) 4rem / var(--h--line-height) var(--h--font-family);
letter-spacing:var(--h--letter-spacing);
color:var(--h--color);
margin:2.5rem 0 1.25rem;
}
h1{
font-size:clamp(2.799rem, calc(2.799rem + 0.125vw), 3.799rem);
}
h2{
font-size:clamp(2.332rem, calc(2.332rem + 0.125vw), 3.332rem);
}
h3{
font-size:clamp(1.944rem, calc(1.944rem + 0.125vw), 2.944rem);
}
h4{
font-size:clamp(1.62rem, calc(1.62rem + 0.125vw), 2.62rem);
}
h5{
font-size:clamp(1.35rem, calc(1.35rem + 0.125vw), 2.35rem);
}
h6{
font-size:clamp(1.125rem, calc(1.125rem + 0.125vw), 2.125rem);
}
blockquote{
--data-quoter-marker:attr(data-quoter-marker, "\2014 \00A0");
border-width:var(--blockquote--border-width);
border-style:var(--blockquote--border-style);
border-color:var(--blockquote--border-color);
padding:1rem;
margin:0 0 0 1rem;
:where(&) footer{
color:var(--blockquote_--footer--color);
margin:var(--blockquote_--footer--margin);
}
:where(&) footer:before{
content:var(--data-quoter-marker);
}
}
ul,
ol{
padding:0 0 0 1.25em;
}
fieldset{
border:var(--boundary--border);
padding:0.5rem;
:where(&) > label{
margin:0 1rem 0 0;
}
}
legend{
color:inherit;
display:table;
padding:0;
white-space:normal;
}
details{
display:block;
}
summary{
cursor:pointer;
display:list-item;
}
dt{
font-weight:bold;
}
pre{
color:var(--pre--color);
background:var(--pre--background);
border:var(--pre--border);
padding:1rem;
overflow:auto;
}
hr{
border:var(--boundary--border);
border-width:0 0 1px;
box-sizing:content-box;
color:inherit;
overflow:visible;
margin:0.5rem 0;
}
a{
display:inline-block;
&:focus,
&:hover{
filter:brightness(105%);
}
&:visited{
color:var(--href--visited-color);
}
}
[href]{
color:var(--href--color);
}
abbr[title]{
border-bottom:none;
-webkit-text-decoration:underline dotted;
text-decoration:underline dotted;
}
audio,
video{
display:inline-block;
}
audio:not([controls]){
display:none;
}
b,
strong{
font-weight:bold;
}
code,
kbd,
samp{
font:normal var(--cks--font-weight) var(--cks--font-size) var(--cks--font-family);
font-optical-sizing:auto;
}
code{
color:var(--code--color);
background:var(--code--background);
}
kbd{
color:var(--kbd--color);
background:var(--kbd--background);
border-radius:var(--kbd--border-radius);
&:has(kbd){
background-color:unset;
border:var(--kbd_-kbd--border);
border-width:var(--kbd_-kbd--border-width);
padding:var(--kbd_-kbd--padding);
}
kbd{
font-weight:var(--kbd_-kbd--font-weight);
color:var(--kbd_-kbd--color);
background-color:unset;
}
}
small{
font-size:80%;
}
sub,
sup{
font-size:75%;
line-height:0;
position:relative;
vertical-align:baseline;
}
sub{
bottom:-0.25em;
}
sup{
top:-0.5em;
}
img{
border:none;
max-height:90vh;
max-width:90vw;
display:inline-block;
}
figure{
:where(&) img{
margin:auto auto 0.5rem;
line-height:1;
}
}
figcaption{
font-size:0.875em;
}
button,
input,
optgroup,
option,
select,
textarea{
color:var(--controls--font-color);
font:var(--font-weight) var(--font-size)/var(--line-height) var(--font-family);
}
button,
input,
optgroup,
select,
textarea{
border:var(--controls--border);
margin:0;
min-height:var(--controls--min-height);
padding:var(--controls--padding);
}
button,
input,
select{
text-transform:none;
}
button,
[type="button"],
[type="reset"],
[type="submit"],
.btn{
cursor:pointer;
font:var(--btn--font);
line-height:var(--btn--line-height);
color:var(--btn--font-color,);
background-color:var(--btn--bg-color, revert);
border:0 var(--btn--border-style) var(--btn--border-color, initial);
border-width:var(--btn--borders-width, 1px);
border-radius:var(--btn--borders-radius);
box-shadow:var(--btn--shadow,);
min-height:var(--controls--min-height);
position:relative;
padding:var(--btn--paddings);
text-align:center;
text-decoration:none;
vertical-align:middle;
overflow:visible;
-webkit-appearance:button;
-moz-appearance:button;
appearance:button;
-webkit-user-select:none;
-moz-user-select:none;
user-select:none;
:where(&:active):not(:disabled){
transform:translateY(1px);
box-shadow:none;
}
&:disabled{
color:revert;
}
&:focus-visible{
box-shadow:none;
}
}
input{
overflow:visible;
}
[type="color"]{
cursor:pointer;
background:inherit;
padding:0.25em;
min-height:2rem;
}
[type="checkbox"],
[type="radio"]{
min-height:initial;
padding:0;
}
[type="date"],
[type="datetime-local"],
[type="month"],
[type="week"],
[type="time"]{
padding:0.125em 0.25em;
}
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button{
height:auto;
}
[type="search"]{
-webkit-appearance:textfield;
appearance:textfield;
}
[type="search"]::-webkit-search-decoration{
-webkit-appearance:none;
}
[type="file"]{
padding:0 0.125em 0 0;
}
::file-selector-button{
-webkit-appearance:button;
font:inherit;
padding:0.125em 0.25em;
margin:-1px 0.125em -1px -1px;
}
progress{
display:inline-block;
vertical-align:baseline;
}
select{
min-width:1.7em;
}
select optgroup{
border:none;
}
optgroup{
color:var(--font-color-alt-1);
padding:0.125em;
}
option{
margin:0 0 0 .5em;
padding:0.25em 0.25em 0.125em;
}
textarea{
overflow:auto;
vertical-align:top;
}
svg:not(:root){
overflow:hidden;
}
table{
text-indent:0;
border-color:inherit;
}
th{
color:var(--font-color-alt-1);
}
td{
padding:0.5em;
}
dialog,
[popover]{
pointer-events:none;
color:inherit;
background:var(--bg-color);
border:none;
opacity:0;
box-shadow:var(--shadow-float);
position:fixed;
inset:50% auto auto 50%;
display:none;
padding:1rem;
text-align:initial;
overflow:visible;
z-index:1000;
transform:translate(-50%, -50%) scale(0.85);
transition:opacity 350ms ease-in-out, transform 350ms ease-in-out, overlay 350ms allow-discrete, display 350ms allow-discrete;
}
dialog{
min-height:5rem;
height:var(--dialog--height, auto);
max-height:calc(100vh - 4rem);
min-width:clamp(280px, 100vw - 4rem, 400px);
width:var(--dialog--width, auto);
max-width:clamp(280px, 100vw - 4rem, 1160px);
}
[popover]{
height:var(--popover--height, auto);
max-height:calc(100vh - 2rem);
width:var(--popover--width, auto);
max-width:clamp(4rem, 100vw - 2rem, 1200px);
}
dialog[open],
[popover]:popover-open{
pointer-events:initial;
opacity:1;
display:block;
transform:translate(-50%, -50%) scale(1);
@starting-style{
opacity:0;
transform:translate(-50%, -50%) scale(0.85);
}
}
dialog::backdrop,
[popover]::backdrop{
background:var(--backdrop--bg-color);
backdrop-filter:blur(0.5rem);
}
template{
display:none;
}
input,
textarea,
select,
[type="color"]{
background:var(--input--bg-color);
}
[type="checkbox"],
[type="file"],
[type="radio"],
[type="range"]{
cursor:pointer;
}
[type="range"]:focus-visible::-webkit-slider-thumb{
border-radius:50%;
outline:var(--focus-outline);
height:0.8em;
width:0.8em;
}
[type="radio"]:focus-visible{
box-shadow:var(--focus--box-shadow);
}
[disabled]{
cursor:not-allowed;
filter:contrast(.5);
}
[hidden]{
display:none;
}
:where(
dl,
ol,
ul,
fieldset,
p,
details,
pre,
form,
address,
blockquote,
figure,
table
):has(
+ :is(
dl,
ol,
ul,
fieldset,
p,
details,
pre,
form,
address,
blockquote,
figure,
table,
nav
)
){
margin-bottom:var(--elements-block-level-space);
}
input,
select,
textarea,
audio,
video,
details,
button,
[type="button"],
[type="reset"],
[type="submit"],
.btn{
margin:0.25rem;
}
@-moz-document url-prefix(){
button,
[type="button"],
[type="reset"],
[type="submit"],
.btn{
padding:var(--moz-btn-paddings);
}
textarea,
[type="email"],
[type="number"],
[type="password"],
[type="search"],
[type="tel"],
[type="text"],
[type="url"],
[type="date"],
[type="datetime"],
[type="datetime-local"],
[type="month"],
[type="week"],
[type="time"]{
padding:var(--moz-input--paddings);
}
select{
min-width:1.5em;
padding:var(--moz-input--select-paddings);
&:focus{
outline:var(--focus-outline);
}
}
input[type=range]{
background:transparent;
border:none;
&:active{
filter:brightness(120%);
}
&::-moz-range-thumb{
background:var(--accent-color);
border:none;
height:1rem;
width:1rem;
}
&:focus-visible::-moz-range-thumb{
outline:var(--focus-outline);
}
&::-moz-range-track{
cursor:pointer;
background:var(--accent-color);
border-radius:.25rem;
height:.5rem;
}
}
}
}