@font-face {
    font-family: 'PP Mori';
    src: url("/assets/PPMori-Regular-91ac7087.otf") format('opentype');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'PP Mori';
    src: url("/assets/PPMori-RegularItalic-3cff1c82.otf") format('opentype');
    font-weight: 400;
    font-style: italic;
}

@font-face {
    font-family: 'PP Mori';
    src: url("/assets/PPMori-SemiBold-caee7cbe.otf") format('opentype');
    font-weight: 600;
    font-style: normal;
}

@font-face {
    font-family: 'PP Mori';
    src: url("/assets/PPMori-SemiBoldItalic-55537a75.otf") format('opentype');
    font-weight: 600;
    font-style: italic;
}

@font-face {
    font-family: 'PP Mori';
    src: url("/assets/PPMori-Extralight-e316a860.otf") format('opentype');
    font-weight: 200;
    font-style: normal;
}

@font-face {
    font-family: 'PP Mori';
    src: url("/assets/PPMori-ExtralightItalic-9dc11853.otf") format('opentype');
    font-weight: 200;
    font-style: italic;
}

:root {
    /* https://every-layout.dev/rudiments/modular-scale/ */
    --ratio: 1.5;
    --s-6: calc(var(--s-5) / var(--ratio));
    --s-5: calc(var(--s-4) / var(--ratio));
    --s-4: calc(var(--s-3) / var(--ratio));
    --s-3: calc(var(--s-2) / var(--ratio));
    --s-2: calc(var(--s-1) / var(--ratio));
    --s-1: calc(var(--s0) / var(--ratio));
    --s0: 1rem;
    --s1: calc(var(--s0) * var(--ratio));
    --s2: calc(var(--s1) * var(--ratio));
    --s3: calc(var(--s2) * var(--ratio));
    --s4: calc(var(--s3) * var(--ratio));
    --s5: calc(var(--s4) * var(--ratio));

    --measure: 54ch;
    --measure-large: calc(var(--measure) * 2);

    --border-thin: var(--s-6);
    --border: var(--s-5);
    --border-thick: var(--s-4);
}

/* @link https://utopia.fyi/type/calculator?c=320,16,1.2,1240,18,1.25,5,2,&s=0.75|0.5|0.25,1.5|2|3|4|6,s-l&g=s,l,xl,12 */

:root {
    --step--2: clamp(0.6944rem, 0.6856rem + 0.0444vw, 0.72rem);
    --step--1: clamp(0.8333rem, 0.8101rem + 0.1159vw, 0.9rem);
    --step-0: clamp(1rem, 0.9565rem + 0.2174vw, 1.125rem);
    --step-1: clamp(1.2rem, 1.1283rem + 0.3587vw, 1.4063rem);
    --step-2: clamp(1.44rem, 1.3295rem + 0.5527vw, 1.7578rem);
    --step-3: clamp(1.728rem, 1.5648rem + 0.8161vw, 2.1973rem);
    --step-4: clamp(2.0736rem, 1.8395rem + 1.1704vw, 2.7466rem);
    --step-5: clamp(2.4883rem, 2.1597rem + 1.6433vw, 3.4332rem);
}

* {
    /* Measure from https://every-layout.dev/rudiments/axioms/ */
    max-inline-size: var(--measure);
}


body {
    font-family: "PP Mori", monospace;
    font-size: var(--step-0);
    font-weight: 400;
    letter-spacing: 0.025em;
    display: flex;
    /* Fix the scrollbar issue with 100vh on mobile devices */
    min-height: 100dvh;
    /* Remove defailt margin it causes scrollbar with 100vh and replace with padding */
    margin: 0;
    padding: 1ch;
}

h1 {
    font-size: var(--step-4);
}

h2 {
    font-size: var(--step-3);
}

h3 {
    font-size: var(--step-2);
}

h4 {
    font-size: var(--step-1);
}

h5 {
    font-size: var(--step-0);
}

h6 {
    font-size: var(--step--1);
}

html,
body,
div,
header,
nav,
main,
footer {
    /* Measure from https://every-layout.dev/rudiments/axioms/ */
    max-inline-size: none;
}

input,
textarea {
    width: 100%;
}

/* Fix checkbox and radio button sizes in Safari */
input[type="checkbox"],
input[type="radio"] {
    width: auto;
    min-width: var(--s0);
    min-height: var(--s0);
}