* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}
html,
body {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    background: url('./images/enanan.png') no-repeat;
    background-size: cover;
    background-position: center center;
    overflow: hidden;
    animation: softBlur 3.5s forwards;
}
@keyframes softBlur {
    0% {
        filter: blur(10px);
    }
    100% {
        filter: blur(0px);
    }
}
canvas {
    display: block;
    max-width: 100%;
    max-height: 100%;
}
h1 {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 26px;
    color: transparent;
    position: absolute;
    opacity: 0;
    /* margin-top: -.5em;
    margin-left: -.5em; */
    animation: fadeInOut 5s ease-in-out 2s;
    width: auto;
    padding: 0 60px;
    height: 50px;
    line-height: 50px;
    letter-spacing: 5px;
    text-align: center;
    background-color: rgb(0, 0, 0, .2);
    clip-path: polygon(0% 0%, 3% 100%, 100% 100%, 97% 0%);
    overflow: hidden;
}
.audio-controller {
    position: fixed;
    top: 25px;
    left: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
}
h1:nth-child(2) {
    animation-delay: 3s;
}
h1:nth-child(3) {
    animation-delay: 8s;
}
h1:nth-child(4) {
    animation-delay: 13s;
}
h1:nth-child(5) {
    animation-delay: 18s;
}
h1:nth-child(6) {
    animation-delay: 23s;
}
h1:nth-child(7) {
    animation-delay: 28s;
}
@keyframes fadeInOut {
    0% {
        text-shadow: 0 0 1em #FBFBFB;
        opacity: 0;
        margin-left: -.5em;
    }
    25% {
        text-shadow: 0 0 0 #FBFBFB;
        opacity: 1;
        margin-left: 0;
    }
    75% {
        text-shadow: 0 0 0 #FBFBFB;
        opacity: 1;
        margin-left: 0;
    }
    100% {
        text-shadow: 0 0 1em #FBFBFB;
        opacity: 0;
        margin-left: 0;
    }
}
@media (max-width: 769px) {
    h1 {
        width: 60px;
        height: auto;
        padding: 40px 0;
        writing-mode: vertical-rl;
        text-align: center;
        line-height: 62px;
        letter-spacing: 5px;
        clip-path: polygon(0% 0%, 0% 97%, 100% 100%, 100% 3%);;
    }
    .latin {
        display: inline-block;
        writing-mode: horizontal-tb;
    }
    .audio-controller {
        left: 25px;
    }
}

@import url('https://fonts.googleapis.com/css2?family=Instrument+Sans:ital,wght@0,400..700;1,400..700&family=JetBrains+Mono:ital,wght@0,100..800;1,100..800&display=swap');
.modal {
    position: absolute;
    left: 60%;
    bottom: 0;
    transform: translate(-50%, -25%);
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 36px;
    width: 320px;
    height: 52px;
    padding: 24px;
    border-radius: 40px;
    overflow: hidden;
    box-shadow: 0 0 16px 0 rgba(0, 0, 0, 0);
    transition: .4s ease height, .4s ease padding, .2s border-radius, .6s ease box-shadow;
}

.modal:hover {
    box-shadow: 0 24px 48px -24px rgba(0, 0, 0, .025);
}
.modal.active {
    height: 135px;
    padding: 32px;
    border-radius: 48px;
}
.sign,
.signed-by {
    font-family: "JetBrains Mono", monospace;
    font-optical-sizing: auto;
    font-style: normal;
    text-transform: uppercase;
    font-size: 14px;
    letter-spacing: .02em;
}
.active .signed-by {
    opacity: 1;
}
.active .sign {
    opacity: 1;
}
.signature {
    border-bottom: 1px solid rgba(0, 0, 0, .25)
}

.letter-bank {
    display: none;
}

.signed-by {
    color: rgba(0, 0, 0, .5);
    opacity: 0;
    padding-bottom: 2px;
    transition: .2s ease;
}

.signature-main {
    display: flex;
    min-height: 51px;
    flex-flow: wrap;
    justify-content: start;
}

.signature-main svg path {
    stroke-linejoin: round;
    stroke-linecap: round;
    stroke-width: 1;
    stroke: #000;
    transition: .4s stroke-dashoffset;
}
.up,
.lo {
    max-height: 51px;
}
.up.a {
    margin: 0 -10px 0 -7px;
}

.up.b {
    margin: 0 -5px 0 -13px;
}

.up.c {
    margin: 0 -5px 0 -6px;
}

.up.d {
    margin: 0 -6px 0 -6px;
}

.up.e {
    margin: 0 -10px 0 -8px;
}

.up.f {
    margin: 0 -13px 0 -5px;
}

.up.g {
    margin: 0 0px 0 -6px;
}

.up.h {
    margin: 0 -8px 0 -6px;
}

.up.i {
    margin: 0 -25px 0 -16px;
}

.up.j {
    margin: 0 -24px 0 -6px;
}

.up.k {
    margin: 0 -23px 0 -3px;
}

.up.l {
    margin: 0 -7px 0 -5px;
}

.up.m {
    margin: 0 -7px 0 -10px;
}

.up.n {
    margin: 0 -4px 0 -10px;
}

.up.o {
    margin: 0 -1px 0 -1px;
}

.up.p {
    margin: 0 -12px 0 -3px;
}

.up.q {
    margin: 0 -3px 0 -3px;
}

.up.r {
    margin: 0 -8px 0 -4px;
}

.up.s {
    margin: 0 -14px 0 -2px;
}

.up.t {
    margin: 0 -29px 0 -17px;
}

.up.u {
    margin: 0 -10px 0 -1px;
}

.up.v {
    margin: 0 -15px 0 -6px;
}

.up.w {
    margin: 0 -8px 0 -6px;
}

.up.x {
    margin: 0 -11px 0 -13px;
}

.up.y {
    margin: 0 -12px 0 2px;
}

.up.z {
    margin: 0 -9px 0 -8px;
}

.lo.a {
    margin: 0 -4px 0 0;
}

.lo.b {
    margin: 0 -6px 0 -1.5px;
}

.lo.c {
    margin: 0 -4px 0 0;
}

.lo.d {
    margin: 0 -11.3px 0 0;
}

.lo.e {
    margin: 0 -4px 0 0;
}

.lo.f {
    margin: 0 -6px 0 -6px;
}

.lo.g {
    margin: 0 -4px 0 -10px;
}

.lo.h {
    margin: 0 -4px 0 -1px;
}

.lo.i {
    margin: 0 -3.5px 0 0;
}

.lo.j {
    margin: 0 -5px 0 -14px;
}

.lo.k {
    margin: 0 -6.5px 0 0;
}

.lo.l {
    margin: 0 -12px 0 -4px;
}

.lo.m,
.lo.n {
    margin: 0 -5px 0 0;
}

.lo.o {
    margin: 0 -2.5px 0 0;
}

.lo.p {
    margin: 0 -2.5px 0 -10px;
}

.lo.q {
    margin: 0 -2px 0 -6px;
}

.lo.r {
    margin: 0 -3px 0 -1px;
}

.lo.s {
    margin: 0 -4px 0 -4px;
}

.lo.t {
    margin: 0 -12.5px 0 -3.5px;
}

.lo.u,
.lo.v {
    margin: 0 -4.5px 0 0;
}

.lo.w,
.lo.x {
    margin: 0 -4px 0 0;
}

.lo.y {
    margin: 0 -4px 0 -9px;
}

.lo.z {
    margin: 0 -4px 0 -10px;
}
.up.a path {
    stroke-dasharray: 190;
    stroke-dashoffset: 190;
}

.up.b path {
    stroke-dasharray: 230;
    stroke-dashoffset: 230;
}

.up.c path {
    stroke-dasharray: 101;
    stroke-dashoffset: 101;
}

.up.d path {
    stroke-dasharray: 194;
    stroke-dashoffset: 194;
}

.up.e path {
    stroke-dasharray: 132;
    stroke-dashoffset: 132;
}

.up.f path {
    stroke-dasharray: 191;
    stroke-dashoffset: 191;
}

.up.g path {
    stroke-dasharray: 145;
    stroke-dashoffset: 145;
}

.up.h path {
    stroke-dasharray: 235;
    stroke-dashoffset: 235;
}

.up.i path {
    stroke-dasharray: 128;
    stroke-dashoffset: 128;
}

.up.j path {
    stroke-dasharray: 174;
    stroke-dashoffset: 174;
}

.up.k path {
    stroke-dasharray: 244;
    stroke-dashoffset: 244;
}

.up.l path {
    stroke-dasharray: 83;
    stroke-dashoffset: 83;
}

.up.m path {
    stroke-dasharray: 176;
    stroke-dashoffset: 176;
}

.up.n path {
    stroke-dasharray: 111;
    stroke-dashoffset: 111;
}

.up.o path {
    stroke-dasharray: 167;
    stroke-dashoffset: 167;
}

.up.p path {
    stroke-dasharray: 203;
    stroke-dashoffset: 203;
}

.up.q path {
    stroke-dasharray: 212;
    stroke-dashoffset: 212;
}

.up.r path {
    stroke-dasharray: 235;
    stroke-dashoffset: 235;
}

.up.s path {
    stroke-dasharray: 100;
    stroke-dashoffset: 100;
}

.up.t path {
    stroke-dasharray: 133;
    stroke-dashoffset: 133;
}

.up.u path {
    stroke-dasharray: 136;
    stroke-dashoffset: 136;
}

.up.v path {
    stroke-dasharray: 100;
    stroke-dashoffset: 100;
}

.up.w path {
    stroke-dasharray: 163;
    stroke-dashoffset: 163;
}

.up.x path {
    stroke-dasharray: 153;
    stroke-dashoffset: 153;
}

.up.y path {
    stroke-dasharray: 162;
    stroke-dashoffset: 162;
}

.up.z path {
    stroke-dasharray: 149;
    stroke-dashoffset: 149;
}

.lo.a path {
    stroke-dasharray: 36;
    stroke-dashoffset: 36;
}

.lo.b path {
    stroke-dasharray: 64;
    stroke-dashoffset: 64;
}

.lo.c path {
    stroke-dasharray: 17;
    stroke-dashoffset: 17;
}

.lo.d path {
    stroke-dasharray: 73;
    stroke-dashoffset: 73;
}

.lo.e path {
    stroke-dasharray: 22;
    stroke-dashoffset: 22;
}

.lo.f path {
    stroke-dasharray: 59;
    stroke-dashoffset: 59;
}

.lo.g path {
    stroke-dasharray: 75;
    stroke-dashoffset: 75;
}

.lo.h path {
    stroke-dasharray: 48;
    stroke-dashoffset: 48;
}

.lo.i path {
    stroke-dasharray: 16;
    stroke-dashoffset: 16;
}

.lo.j path {
    stroke-dasharray: 59;
    stroke-dashoffset: 59;
}

.lo.k path {
    stroke-dasharray: 54;
    stroke-dashoffset: 54;
}

.lo.l path {
    stroke-dasharray: 33;
    stroke-dashoffset: 33;
}

.lo.m path {
    stroke-dasharray: 43;
    stroke-dashoffset: 43;
}

.lo.n path {
    stroke-dasharray: 27;
    stroke-dashoffset: 27;
}

.lo.o path {
    stroke-dasharray: 17;
    stroke-dashoffset: 17;
}

.lo.p path {
    stroke-dasharray: 67;
    stroke-dashoffset: 67;
}

.lo.q path {
    stroke-dasharray: 63;
    stroke-dashoffset: 63;
}

.lo.r path {
    stroke-dasharray: 24;
    stroke-dashoffset: 24;
}

.lo.s path {
    stroke-dasharray: 32;
    stroke-dashoffset: 32;
}

.lo.t path {
    stroke-dasharray: 91;
    stroke-dashoffset: 91;
}

.lo.u path {
    stroke-dasharray: 28;
    stroke-dashoffset: 28;
}

.lo.v path {
    stroke-dasharray: 17;
    stroke-dashoffset: 17;
}

.lo.w path {
    stroke-dasharray: 21;
    stroke-dashoffset: 21;
}

.lo.x path {
    stroke-dasharray: 24;
    stroke-dashoffset: 24;
}

.lo.y path {
    stroke-dasharray: 70;
    stroke-dashoffset: 70;
}

.lo.z path {
    stroke-dasharray: 67;
    stroke-dashoffset: 67;
}

.border {
    position: absolute;
}
.border svg {
    transform-origin: center;
    display: block;
}
.border.play svg {
    animation: spin 10s linear infinite;
}
@keyframes spin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}
