@font-face { font-family: 'Exo 2'; font-style: normal; font-weight: 100 900; src: url('/fonts/cyrillic-ext.woff2') format('woff2'); unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; } @font-face { font-family: 'Exo 2'; font-style: normal; font-weight: 100 900; src: url('/fonts/cyrillic.woff2') format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; } @font-face { font-family: 'Exo 2'; font-style: normal; font-weight: 100 900; src: url('/fonts/vietnamese.woff2') format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; } @font-face { font-family: 'Exo 2'; font-style: normal; font-weight: 100 900; src: url('/fonts/latin-ext.woff2') format('woff2'); unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } @font-face { font-family: 'Exo 2'; font-style: normal; font-weight: 100 900; src: url('/fonts/latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } :root { --color-1: rgb(150, 15, 38); --dark-1: rgba(0, 0, 0, .1); --dark-2: rgba(0, 0, 0, .2); --box-shadow-1: 0 .375rem .625rem .25rem rgba(0, 0, 0, .15), 0 .1875rem .1875rem rgba(0, 0, 0, .3); --box-shadow-2: 0 .5rem .75rem .375rem rgba(0, 0, 0, .15), 0 .25rem .25rem rgba(0, 0, 0, .3); } *:not(input, textarea, label) { color: white; -webkit-tap-highlight-color: transparent; -webkit-touch-callout: none; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } html { width: 24rem; background-color: #000000; background-image: radial-gradient(45% 85% at 65% 65%, rgba(13, 58, 216, 0.8) 0%, rgba(0, 0, 0, 0) 100%), radial-gradient(35% 70% at 35% 50%, #9d0303 0%, rgba(0, 0, 0, 0) 79.09%); background-position: center; background-attachment: fixed; background-size: cover; background-repeat: no-repeat; font-family: 'Exo 2', sans-serif; font-size: 16px; scroll-behavior: smooth; overflow-x: hidden; } body { margin: 0; padding: 1rem; max-width: 100%; overflow-x: hidden; } form { display: flex; flex-direction: column; gap: 1rem; } h1 { margin: 0 0 1.25rem 0; font-size: 1.25rem; font-weight: 500; } div.field { position: relative; } input, textarea { box-sizing: border-box; width: 100%; height: 100%; border: none; outline: none; background: white; color: black; box-shadow: var(--box-shadow-2); border-radius: 1rem; font-family: 'Exo 2', sans-serif; font-size: 1rem; transition: box-shadow, font-size .4s; } label { white-space: nowrap; text-overflow: ellipsis; overflow-x: hidden; } input:read-only { cursor: not-allowed; } input[type='text'], input[type='email'], input[type='tel'], input[type='url'], input[type='password'], input[type='number'], input[type='search'], input[type='datetime-local'], input[type='date'], input[type='month'], input[type='week'], input[type='time'], textarea { padding: 1.5rem 1rem .75rem 1rem; } textarea { width: 100%; min-height: 8rem; resize: vertical; } input[type='text'] + label, input[type='email'] + label, input[type='tel'] + label, input[type='url'] + label, input[type='password'] + label, input[type='number'] + label, input[type='search'] + label, input[type='datetime-local'] + label, input[type='date'] + label, input[type='month'] + label, input[type='week'] + label, input[type='time'] + label, textarea + label { position: absolute; top: 0; right: 0; bottom: 0; left: 0; padding: 1rem; color: black; font-size: 1rem; font-weight: 400; pointer-events: none; transition: all .1s; } input[type='text'].focus + label, input[type='email'].focus + label, input[type='tel'].focus + label, input[type='url'].focus + label, input[type='password'].focus + label, input[type='number'].focus + label, input[type='search'].focus + label, input[type='datetime-local'].focus + label, input[type='date'].focus + label, input[type='month'].focus + label, input[type='week'].focus + label, input[type='time'].focus + label, textarea.focus + label { padding-top: .5rem; font-size: .75rem; font-weight: 600; } input[type='text']:required + label::after, input[type='email']:required + label::after, input[type='tel']:required + label::after, input[type='url']:required + label::after, input[type='password']:required + label::after, input[type='number']:required + label::after, input[type='search']:required + label::after, input[type='datetime-local']:required + label::after, input[type='date']:required + label::after, input[type='month']:required + label::after, input[type='week']:required + label::after, input[type='time']:required + label::after, textarea:required + label::after { content: '*'; color: var(--color-1); font-weight: bold; } input[type='text']::placeholder, input[type='email']::placeholder, input[type='tel']::placeholder, input[type='url']::placeholder, input[type='password']::placeholder, input[type='number']::placeholder, input[type='search']::placeholder, input[type='datetime-local']::placeholder, input[type='date']::placeholder, input[type='month']::placeholder, input[type='week']::placeholder, input[type='time']::placeholder, textarea.focus + label { opacity: 0; transition: all .4s; } input[type='text'].focus::placeholder, input[type='email'].focus::placeholder, input[type='tel'].focus::placeholder, input[type='url'].focus::placeholder, input[type='password'].focus::placeholder, input[type='number'].focus::placeholder, input[type='search'].focus::placeholder, input[type='datetime-local'].focus::placeholder, input[type='date'].focus::placeholder, input[type='month'].focus::placeholder, input[type='week'].focus::placeholder, input[type='time'].focus::placeholder, textarea.focus + label { opacity: 1; } input[type='datetime-local']:not(.focus)::-webkit-datetime-edit-fields-wrapper, input[type='date']:not(.focus)::-webkit-datetime-edit-fields-wrapper, input[type='month']:not(.focus)::-webkit-datetime-edit-fields-wrapper, input[type='week']:not(.focus)::-webkit-datetime-edit-fields-wrapper, input[type='time']:not(.focus)::-webkit-datetime-edit-fields-wrapper { opacity: 0; } input[type='button'], input[type='submit'] { padding: 1.125rem 1rem; background: var(--dark-1); box-shadow: var(--box-shadow-2); color: white; cursor: pointer; transition: all .4s; } input[type='button']:not(:disabled):hover, input[type='submit']:not(:disabled):hover { background: var(--dark-2); } input[type='button']:not(:disabled):focus, input[type='submit']:not(:disabled):focus { background: var(--dark-2); box-shadow: var(--box-shadow-1); } input[type='button']:not(:disabled):active, input[type='submit']:not(:disabled):active { background: var(--dark-2); box-shadow: var(--box-shadow-1); } input[type='button']:disabled, input[type='submit']:disabled { cursor: not-allowed; } input[type='text'][data-error], input[type='email'][data-error], input[type='number'][data-error], input[type='password'][data-error], textarea[data-error] { background: var(--color-1); } input[type='text'][data-error] + label, input[type='email'][data-error] + label, input[type='number'][data-error] + label, input[type='password'][data-error] + label, textarea[data-error] + label { color: white; } input[type="checkbox"], input[type="radio"] { position: absolute; z-index: -1; opacity: 0; } input[type="checkbox"] + label, input[type="radio"] + label { position: absolute; top: 0; right: 0; bottom: 0; left: 0; border-radius: 1rem; cursor: pointer; } input[type="checkbox"]:checked + label, input[type="radio"]:checked + label { background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"%3E%3Cpath d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z" fill="white" opacity=".3" /%3E%3C/svg%3E'); background-repeat: no-repeat no-repeat; background-size: 4rem; background-attachment: local; background-position: right bottom; } input[type='checkbox']:disabled + label, input[type='radio']:disabled + label { cursor: not-allowed; }