body {
    --clr-bkgrnd: hsla(225,  11%,  15%,  1);
    --clr-bkgrnd-drk: hsla(223,  11%,  12%,  1);
    --clr-text: hsla(0,  0%,  99%,  1);
    --clr-border: hsla(219,  11%,  30%,  1);
    --clr-border--active: hsla(223,  74%,  52%,  1);
    --clr-input: hsla(222,  17%,  20%,  1);
    --clr-label: hsla(222,  10%,  54%,  1);
    --clr-option--hover: hsla(218,  12%,  16%,  1);
    --clr-focus: hsla(223,  74%,  52%,  0.3);
    --clr-tag-green: hsla(140,  70%,  48%,  1);
    --clr-tag-green-op: hsla(140,  70%,  48%,  0.3);
    --clr-tag-orange: hsla(32,  100%,  64%,  1);
    --clr-tag-orange-op: hsla(32,  100%,  64%,  0.3);
    --clr-light-dark-toggle: hsla(223,  74%,  52%,  1);
}

:root {
    --theme-spacing: 1em;
    --theme-form-spacing: 0.6em;
    --theme-toolbar-height: 53px;
    --theme-statusbar-height: 38px;
    --theme-props-panel-width: 240px;
    --theme-color-darker: #00000011;
    --theme-color-primary: #18a0fb;
    --theme-color-button: var(--theme-color-primary);
    --theme-color-link: #2d4c92;
    --theme-color-white: #ffffff;
    --theme-color-grey: #969696;
    --theme-color-black: #121212;
    --theme-color-bg-default: #161618;
    --theme-color-fg-default: var(--theme-color-white);
    --theme-color-bg-primary: #1c1e24;
    --theme-color-fg-primary: var(--theme-color-white);
    --theme-color-bg-workspace: #202127;
    --theme-color-fg-workspace: var(--theme-color-white);
    --theme-color-bg-menus: #202127;
    --theme-color-bg-menus-hover: var(--theme-color-black);
    --theme-color-bg-menus-active: var(--theme-color-primary);
    --theme-color-fg-menus: var(--theme-color-white);
    --radius-ss: 0.15rem;
    --radius-xs: 0.5rem;
    --radius-sm: 0.75rem;
    --radius-md: 1rem;
    --radius-lg: 3rem;
    --trans-dur: 0.3s ease-in-out;
}

h1, h2 {
    color: #fff;
    display: block;
}

br, h1, h2 {
    display: block;
}

body, h1 {
    margin: 0;
}

#sidemenubar {
    float: left;
}

#sidemenubar {
    background-color: #3a3e40;
}

#sidemenubar li {
    list-style-type: none;
}

#sidemenubar li a {
    padding: 10px;
    text-align: center;
    text-decoration: none;
}

#adsense, #sidemenubar li a, body, h2 {
    text-align: start;
}

.card {
    overflow: hidden;
    -webkit-appearance: none;
}

#img-buffer, #mobilemenubar, #optionpanel, #sidemenubar, #silemenubutton, .card, .ctime, input[type="file"], input[type="time"] {
    display: none;
}

body, hr {
    padding: 0;
}

.card, h1 {
    position: absolute;
}

.bold, h1 {
    font-weight: 700;
}

#sidemenubar li a, a, h2 {
    text-decoration: none;
}

body {
    padding: 0;
    margin: 0;
    overflow: hidden;
    font-family: system-ui,  -apple-system,  BlinkMacSystemFont,  "Segoe UI",  Roboto,  Oxygen,  not Ubuntu,  Cantarell,  "Canva Sans",  "Noto Sans Variable",  "Noto Sans",  "Open Sans",  "Helvetica Neue",  Arial,  Helvetica,  sans-serif;
    background: var(--theme-color-bg-default);
    color: var(--theme-color-fg-default);
    background-image: linear-gradient(90deg,  rgba(255,  255,  255,  0.05) 1px,  transparent 1px),  linear-gradient(rgba(255,  255,  255,  0.05) 1px,  transparent 1px);
    background-size: 30px 30px;
}

h1 {
    font-size: 1.5em;
    top: 5px;
    padding: 0 10px;
}

h2 {
    font-size: 1.3em;
    font-weight: 400;
    margin-top: 3px;
    margin-bottom: 0;
}

br {
    content: "";
    margin: 2em;
    font-size: 24%;
}

.bold {
    color: #a50020;
}

#adsense, #container > * {
    display: block;
}

#sidemenubar li a:hover:not(.active) {
    background-color: #545454;
}

#sidemenubar li a {
    display: block;
    color: #fff;
}

#container {
    display: flex;
    justify-content: center;
    margin: 35px 240px 10px 500px;
    -webkit-appearance: none;
    border-radius: 8px;
    z-index: 2;
}

#adsense {
    margin: auto;
    background-color: transparent;
    width: 400px;
    z-index: 1;
}

.card {
    background-color: #595f61;
    top: 77px;
    -webkit-box-shadow: 0 2px 2px 0 rgba(0,  0,  0,  0.14),  0 3px 1px -2px rgba(0,  0,  0,  0.12),  0 1px 5px 0 rgba(0,  0,  0,  0.2);
    box-shadow: 0 2px 2px 0 rgba(0,  0,  0,  0.14),  0 3px 1px -2px rgba(0,  0,  0,  0.12),  0 1px 5px 0 rgba(0,  0,  0,  0.2);
    text-align: left;
    border-radius: 8px;
    padding: 8px;
    z-index: 3;
}

.card {
    z-index: 30;
}

#copyright, #guide, #intro {
    left: 437px;
    width: 250px;
}

#about {
    right: 450px;
    width: 250px;
}

#switch_language {
    right: 450px;
    width: 200px;
}

.card p {
    display: block;
    background-color: #fff;
    margin: 15px 0 0;
    padding: 5px;
    border: none;
    border-radius: 8px;
}

.left {
    left: 10px;
    width: 400px;
}

.right2 {
    width: 190px;
    padding-bottom: 15px;
}

.right2 {
    right: 10px;
}

.draggable {
    cursor: move;
}

input[type="color"] {
    cursor: pointer;
}

#map-canvas {
    width: 100%;
    height: 300px;
    border-radius: 8px;
    margin-bottom: 15px;
}

.leaflet-container {
    background: var(--theme-color-bg-primary);
}

hr {
    margin: 12px 0 0;
    border: none;
    background-color: rgba(0,  0,  0,  0.2);
}

input[type="date"], input[type="text"], input[type="email"], input[type="number"], input[type="tel"], input[type="time"], input[type="url"], select, textarea {
    border: none;
    border-color: transparent;
    border-radius: 8px;
    background-color: #161618;
    color: rgba(255,  255,  255,  0.4);
    padding: 10px;
    font-size: 13px;
    width: 100%;
    height: 50px;
}

::placeholder {
    color: #bcbcbc;
}

.custom-file-upload, button {
    text-align: center;
    color: #fcfcfc;
    border-color: rgba(255,  255,  255,  0.05);
    display: block;
    background-color: var(--clr-border--active);
    margin: 15px 0 0;
    padding: 8px;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    text-decoration: none;
    width: 100% !important;
}

#scanlink, 
.custom-file-upload {
    width: calc(100% - 16px);
}

.custom-file-upload:hover, button:hover {
    background-color: #15378e;
}

.buttonDisable, .buttonDisable:hover {
    cursor: default;
    color: #9d9d9d;
    background-color: #545454;
}

input[type="color"] {
    display: block;
    margin: 5px -2px;
    border: none;
    border-radius: 8px;
    background-color: transparent;
    width: calc(100% - -5px);
    height: 20px;
}

input[type="color"]::-webkit-color-swatch-wrapper {
    padding: 0;
}

input[type="color"]::-webkit-color-swatch {
    border: none;
    border-radius: 3px;
}

select {
    height: 100%;
    width: calc(100% - 0px);
}

.fileformat {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.fileformat select {
    width: 100%;
    border: none;
    background-color: #2655cc;
    color: var(--clr-text);
    font-size: 13px;
    transition: border-color 0.3s;
    font-family: sans-serif;
}

.fileformat select:focus {
    border-color: var(--clr-border--active);
    outline: 0;
}

.fileformat select option {
    background-color: var(--theme-color-bg-default);
    color: var(--clr-text);
}

.fileformat select option:disabled {
    color: var(--clr-label);
    background-color: transparent;
}

textarea {
    height: 48px;
    font-family: inherit;
    font-size: inherit;
}

#rawtext {
    height: 100px;
}

input[type="checkbox"], input[type="radio"] {
    height: 14px;
}

html {
    font-size: 62.5%;
}

body {
    font-size: 1.4em;
    line-height: 1.4em;
}

* {
    box-sizing: border-box;
    user-select: none; /* Evita a seleção de texto */
    -webkit-user-select: none; /* Suporte para navegadores baseados no WebKit */
    -moz-user-select: none; /* Suporte para Firefox */
    -ms-user-select: none; /* Suporte para navegadores antigos da Microsoft */
}

form, h1, h2, h3, h4, h5, h6 {
    margin: 0;
    padding: 0;
}

a, a:hover, a:visited {
    text-decoration: none;
}

a {
    color: var(--theme-color-link);
}

.fullscreen-root {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    cursor: default;
    visibility: visible;
}

.bg-white {
    background: var(--theme-color-white);
    color: var(--theme-color-black);
}

.bg-darker {
    background: var(--theme-color-darker);
}

.bg-default {
    background: var(--theme-color-bg-default);
    color: var(--theme-color-fg-default);
}

.bg-primary {
    background: var(--theme-color-bg-primary);
    color: var(--theme-color-fg-primary);
}

.bg-secondary {
    background: var(--theme-color-bg-workspace);
    color: var(--theme-color-fg-workspace);
}

.full-view-height {
    min-height: 10vh;
}

.border-radius {
    border-radius: 8px;
}

.flex {
    display: flex;
}

.flex-rows {
    flex-direction: column;
}

.flex-columns {
    flex-direction: row;
}

.justify-content-start {
    justify-content: flex-start;
}

.justify-content-center {
    justify-content: center;
}

.justify-content-end {
    justify-content: flex-end;
}

.flex-center {
    justify-content: center;
    align-items: center;
}

.flex-1 {
    flex: 1;
}

.flex-2 {
    flex: 2;
}

.flex-3 {
    flex: 3;
}

.flex-4 {
    flex: 4;
}

.flex-5 {
    flex: 5;
}

.padding-1 {
    padding: var(--theme-spacing);
}

.margin-1 {
    padding: var(--theme-spacing);
}

.height-100p {
    height: 100%;
}
.height-41 {
    height: 41px;
}

.menu {
    color: var(--theme-color-fg-menus);
}

.menu a {
    display: block;
    padding: var(--theme-spacing);
    color: var(--theme-color-fg-menus);
}

.menu.flex a {
    display: flex;
    align-content: center;
    align-items: center;
}

.formGroup {
    display: block;
    padding: var(--theme-spacing) 0;
}

.btn {
    display: block;
    padding: var(--theme-form-spacing);
    border: none;
    background: var(--theme-color-primary);
    color: #fff;
    border-radius: 8px;
    font-size: 1em;
    text-align: center;
}

.btn:hover {
    box-shadow: inset 0 0 0 2px rgba(255,  255,  255,  0.2);
}

.btn:active {
    box-shadow: inset 0 0 0 2px rgba(0,  0,  0,  0.2);
}

.statusBar {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    color: #fff;
    height: var(--theme-statusbar-height);
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: var(--theme-color-bg-workspace);
    padding: 0 15px;
    box-shadow: 0 -2px 5px rgb(0 0 0 / 7%);
    z-index: 1000;
    overflow: hidden;
    -webkit-appearance: none;
}

.flex-container {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
}

.menu-btn:hover {
    background-color: var(--theme-color-bg-workspace);
}

.center-content {
    display: flex;
    gap: 15px;
    justify-content: center;
    align-items: center;
    flex-grow: 1;
    text-align: center;
}

.center-content input, 
.center-content select {
    color: #fff;
    background-color: #161618;
    border: none;
    padding: 5px;
    border-radius: 8px;
}

.center-content input[type="range"] {
    width: 150px;
}

.center-content input[type="color"] {
    width: 50px;
    height: 30px;
}

.center-content select {
    width: 120px;
}

input[type="range"] {
    padding: 0;
    appearance: none;
    width: 100%;
    min-height: unset;
    height: 6px;
    background: rgba(255,  255,  255,  0.6);
    border-radius: 8px;
    background-size: 50% 100%;
    background-repeat: no-repeat;
    transition: none;
    border: 0;
}

input[type="range"]::-webkit-slider-thumb {
    appearance: none;
    height: 23px;
    width: 23px;
    border-radius: 50%;
    background-color: #fcfcfc;
    cursor: e-resize;
    border: solid 3px #22242a;
}

input[type="range"]::-moz-range-thumb {
    appearance: none;
    height: 23px;
    width: 23px;
    border-radius: 50%;
    background-color: #fcfcfc;
    cursor: e-resize;
    border: solid 3px #22242a;
}

input[type="range"]::-ms-thumb {
    appearance: none;
    height: 23px;
    width: 23px;
    border-radius: 50%;
    background-color: #fcfcfc;
    cursor: e-resize;
    border: solid 3px #22242a;
}

input[type="range"]:hover::-webkit-slider-thumb {
    box-shadow: 0 0 5px rgba(0,  0,  0,  0.3);
}

input[type="range"]:hover::-moz-range-thumb {
    box-shadow: 0 0 5px rgba(0,  0,  0,  0.3);
}

input[type="range"]:hover::-ms-thumb {
    box-shadow: 0 0 5px rgba(0,  0,  0,  0.3);
}

input[type="range"]:active {
    background: rgba(255,  255,  255,  0.8);
}

.badge-version {
    display: block;
    border: 1px solid transparent;
    text-align: center;
    font-weight: 600;
    padding: 2px 12px;
    white-space: nowrap;
    transition: color 0.25s,  border-color 0.25s,  background-color 0.25s;
    border-radius: 8px;
    background-color: #161618;
    color: #fffff5db;
    text-decoration: none;
    font-size: 13px;
}

.badge-version[href]:hover {
    border-color: transparent;
    background-color: #515c67;
    text-decoration: none;
}

.badge-version[href]:active {
    border-color: transparent;
    background-color: #414853;
}

.badge-version.active {
    border-color: #a8b1ff;
}

.toolbar {
    position: fixed;
    padding: 6px;
    background-color: var(--theme-color-bg-menus);
    top: 0;
    left: 0;
    width: 100%;
    height: var(--theme-toolbar-height);
    z-index: 4;
}

.toolbar-menu-item {
    display: flex;
    align-items: center;
    margin-right: 8px;
    border-radius: 8px;
    padding: 10px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.toolbar-menu-item:hover {
    background-color: #3a4a58;
}

.toolbar-logo {
    display: inline-flex;
    padding: 5px 20px 5px 20px;
}

#download {
    padding: 0 15px;
    background-color: var(--clr-border--active); /* Gradiente inicial */
    border-radius: 8px 0px 0px 8px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    transition: background-color 0.5s ease; /* Transição suave para o gradiente */
}

#download:hover {
    background-color:  #497bf7; /* Gradiente ao passar o mouse */
}

.toolbar-icon-download {
    color: #fff;
    width: 24px;
    height: 24px;
    margin-right: 8px;
    vertical-align: middle;
}

.toolbar-icon-share {
    color: #fff;
    width: 24px;
    height: 24px;
    margin-right: 8px;
    vertical-align: middle;
}

.toolbar-share-btn {
    background-color: var(--clr-input);
    margin-right: 8px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    cursor: pointer;
    transition: background-image 0.3s ease;
    border: none;
}

.toolbar a.active {
    background: var(--theme-color-bg-menus-active);
}

.propsPanel {
    position: fixed;
    top: var(--theme-toolbar-height);
    bottom: var(--theme-statusbar-height);
    width: var(--theme-props-panel-width);
    background-color: var(--theme-color-bg-primary);
    color: #fff;
    display: flex;
    flex-direction: column;
    padding: 1px;
    border-right: 1px solid #3a4a58;
    z-index: 3;
}

.propsPanel .scrollContainer {
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    -ms-scroll-chaining: none;
    overscroll-behavior: contain;
}

.scrollContainer .flex.flex-rows {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.control.left {
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
    overflow-y: auto;
    overflow-x: hidden;
}

.propsPanel.left {
    width: 500px;
    left: 0;
    border-right: 1px solid var(--theme-color-bg-workspace);
}

.propsPanel.right {
    right: 0;
    border-left: 1px solid var(--theme-color-bg-workspace);
}

.viewport {
    position: absolute;
    top: var(--theme-toolbar-height);
    right: var(--theme-props-panel-width);
    bottom: var(--theme-statusbar-height);
    left: var(--theme-props-panel-width);
    overflow: auto;
    -ms-scroll-chaining: none;
    overscroll-behavior: contain;
}

.viewport .scrollContainer {
    width: 100%;
    height: 100%;
    overflow: auto;
    -ms-scroll-chaining: none;
    overscroll-behavior: contain;
}

.input-container {
    position: relative;
    margin-right: 8px;
}

.input-filename {
    padding-right: 40px !important;
    width: 250px !important;
    height: 100% !important;
    transition: background-color 0.3s,  border-bottom-color 0.3s,  color 0.3s;
}

.input-filename:focus {
    background-color: transparent;
    color: #fff;
    outline: 0;
    border: 1px solid #fff;
}

.input-filename:focus + .edit-icon {
    color: #fff;
}

.edit-icon {
    position: absolute;
    right: 15px;
    top: 46%;
    transform: translateY(-50%);
    width: 15px;
    height: 15px;
    cursor: pointer;
    color: rgba(255,  255,  255,  0.19);
}

* {
    scrollbar-width: thin;
    scrollbar-color: #3a4043 var(--theme-color-bg-primary);
}

.corner-style-selector {
    display: grid;
    grid-template-columns: repeat(auto-fit,  minmax(70px,  1fr));
    gap: 8px;
    width: 100%;
    margin: 8px 0;
    padding: 0 2px;
}

.corner-option {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 8px;
    background-color: rgba(255,  255,  255,  0.05);
    border: 2px solid transparent;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s ease;
    min-width: 0;
}

.corner-option svg {
    width: 24px;
    height: 24px;
    color: #fff;
    transition: color 0.2s ease;
}

.corner-option span {
    font-size: 11px;
    color: rgba(255,  255,  255,  0.7);
    transition: color 0.2s ease;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    width: 100%;
}

.corner-option:hover {
    background-color: rgba(255,  255,  255,  0.1);
    transform: translateY(-2px);
}

.corner-option.selected {
    background-color: rgba(255,  255,  255,  0.1);
    border-color: var(--clr-border--active);
}

.corner-option.selected svg {
    color: var(--clr-border--active);
}

.corner-option.selected span {
    color: #fff;
}

.corner-option:active {
    transform: scale(0.95);
}

.dots-style-selector {
    display: grid;
    grid-template-columns: repeat(auto-fit,  minmax(70px,  1fr));
    gap: 8px;
    width: 100%;
    margin: 8px 0;
    padding: 0 2px;
}

.dots-option {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 8px;
    background-color: rgba(255,  255,  255,  0.05);
    border: 2px solid transparent;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s ease;
    min-width: 0;
}

.dots-option svg {
    width: 24px;
    height: 24px;
    color: #fff;
    transition: color 0.2s ease;
}

.dots-option span {
    font-size: 11px;
    color: rgba(255,  255,  255,  0.7);
    transition: color 0.2s ease;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    width: 100%;
}

.dots-option:hover {
    background-color: rgba(255,  255,  255,  0.1);
    transform: translateY(-2px);
}

.dots-option.selected {
    background-color: rgba(255,  255,  255,  0.1);
    border-color: var(--clr-border--active);
}

.dots-option.selected svg {
    color: var(--clr-border--active);
}

.dots-option.selected span {
    color: #fff;
}

.dots-option:active {
    transform: scale(0.95);
}

.dot-style-selector {
    display: grid;
    grid-template-columns: repeat(auto-fit,  minmax(70px,  1fr));
    gap: 8px;
    width: 100%;
    margin: 8px 0;
    padding: 0 2px;
}

.dot-option {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 8px;
    background-color: rgba(255,  255,  255,  0.05);
    border: 2px solid transparent;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s ease;
    min-width: 0;
}

.dot-option svg {
    width: 24px;
    height: 24px;
    color: #fff;
    transition: color 0.2s ease;
}

.dot-option span {
    font-size: 11px;
    color: rgba(255,  255,  255,  0.7);
    transition: color 0.2s ease;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    width: 100%;
}

.dot-option:hover {
    background-color: rgba(255,  255,  255,  0.1);
    transform: translateY(-2px);
}

.dot-option.selected {
    background-color: rgba(255,  255,  255,  0.1);
    border-color: var(--clr-border--active);
}

.dot-option.selected svg {
    color: var(--clr-border--active);
}

.dot-option.selected span {
    color: #fff;
}

.dot-option:active {
    transform: scale(0.95);
}

.color-picker-container {
    margin: 12px 0;
}

.color-picker-container label {
    display: block;
    color: var(--clr-label);
    margin-bottom: 8px;
    font-size: 0.9em;
}

.color-picker-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    background: var(--clr-input);
    padding: 5px 15px 5px 6px;
    border-radius: 8px;
    border: none;
    transition: all 0.2s ease;
}

.color-picker-wrapper:hover {
    border-color: var(--clr-border--active);
}

.color-picker-wrapper input[type="color"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: 0 0;
    border: none;
    width: 32px;
    height: 32px;
    cursor: pointer;
}

.color-picker-wrapper input[type="color"]::-webkit-color-swatch-wrapper {
    padding: 0;
}

.color-picker-wrapper input[type="color"]::-webkit-color-swatch {
    border: none;
    border-radius: 8px;
}

.color-picker-wrapper input[type="color"]::-moz-color-swatch {
    border: none;
    border-radius: 8px;
}

.color-preview {
    width: 0px;
    height: 0px;
    border-radius: 8px;
    margin-right: 12px;
    pointer-events: none;
    position: absolute;
    left: 8px;
}

.color-value {
    margin-left: 44px;
    color: var(--clr-text);
    font-family: monospace;
    font-size: 0.9em;
    opacity: 0.8;
}

.color-picker-wrapper:focus-within {
    border-color: var(--clr-border--active);
    box-shadow: 0 0 0 2px var(--clr-focus);
}

.select-wrapper {
    position: relative;
    width: 100%;
}

.custom-select {
    width: 100%;
    padding: 10px 35px 10px 15px;
    border: 1px solid var(--clr-border);
    border-radius: 0px 8px 8px 0px;
    background: var(--clr-background);
    color: var(--clr-text);
    appearance: none;
    cursor: pointer;
}

.select-wrapper .arrow-icon {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 12px;
    height: 12px;
    pointer-events: none;
    fill: var(--clr-text);
}

.form-group {
    margin-bottom: 1.5rem;
    width: 100%;
}

.form-group label {
    display: block;
    margin-bottom: 0.5rem;
}

.input-wrapper {
    position: relative;
    width: 100%;
}

.input-icon {
    position: absolute;
    left: 12px;
    top: 12px;
    color: var(--clr-text);
    opacity: 0.7;
}

.input-with-icon {
    width: 100%;
    padding: 10px 12px 10px 35px;
    border: 1px solid var(--clr-border);
    border-radius: 8px;
    background: var(--clr-background);
    color: var(--clr-text);
    resize: vertical;
    min-height: 100px;
}

.full-width {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid var(--clr-border);
    border-radius: 8px;
    background: var(--clr-background);
    color: var(--clr-text);
}

.arrow-icon {
    position: absolute;
    right: 17px;
    top: 50%;
    transform: translateY(-50%);
    width: 12px;
    height: auto;
    fill: currentColor;
    transition: fill 0.3s;
}

.labelRight {
    display: block;
    color: var(--clr-label);
    font-size: 0.9em;
}

.settingsGroup {
    background-color: #17181c;
    padding: 10px 15px 10px 15px;
    border-radius: 10px;
}

.error-correction-selector {
    margin: 1rem 0;
    width: 100%;
    padding: 0 0.5rem;
}

.correction-options {
    display: grid;
    grid-template-columns: repeat(2,  1fr);
    gap: 8px;
    width: 100%;
}

@media (min-width: 768px) {
    .correction-options {
        grid-template-columns: repeat(4,  1fr);
    }

}

.correction-option {
    background: var(--clr-input);
    border: 2px solid var(--clr-border);
    border-radius: 8px;
    padding: 8px 0;
    cursor: pointer;
    transition: all 0.2s ease;
    min-width: 0;
}

.correction-option:hover {
    transform: translateY(-2px);
    background: var(--clr-option--hover);
}

.correction-option.selected {
    border-color: var(--clr-border--active);
    background: var(--clr-option--hover);
}

.level {
    font-size: 1rem;
    font-weight: 700;
    color: var(--clr-text);
}

.option-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
}

.description {
    font-size: 0.75rem;
    color: var(--clr-label);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

.mobile-warning {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(22,  29,  37,  0.98);
    color: #fff;
    padding: 20px;
    z-index: 10000;
    font-size: 24px;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    pointer-events: auto;
}

.loading-screen {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(26,  28,  30,  0.98);
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    z-index: 5000;
}

.loader {
    border: 8px solid rgba(255,  255,  255,  0.3);
    border-top: 8px solid #fff;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    animation: spin 1s linear infinite;
    margin-bottom: 20px;
}

.loading-text {
    font-size: 18px;
    text-align: center;
}

.error-correction-options {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.error-correction-options label {
    display: flex;
    align-items: center;
    cursor: pointer;
    border-radius: 8px;
    background-color: rgba(255,  255,  255,  0.05);
    color: var(--clr-text);
    transition: background-color 0.3s,  transform 0.2s;
    border: 2px solid transparent;
}

.error-correction-options label span i {
    margin-right: 8px;
    color: #007bff;
}

.border-options label span i {
    margin-right: 8px;
    color: #007bff;
}

.error-correction-options input[type="radio"] {
    display: none;
}

.error-correction-options input[type="radio"] + span {
    margin-left: 10px;
}

.error-correction-options input[type="radio"]:checked + span {
    font-weight: 700;
}

.error-correction-options label:hover {
    background-color: rgba(255,  255,  255,  0.1);
    transform: scale(1.02);
}

.border-options {
    display: flex;
    width: 100%;
    gap: 10px;
}

.border-options label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    cursor: pointer;
    padding: 10px 15px;
    border-radius: 8px;
    background-color: rgba(255,  255,  255,  0.05);
    color: #007bff;
    transition: background-color 0.3s,  transform 0.2s;
    border: 2px solid transparent;
}

.border-options label:hover {
    background-color: rgba(255,  255,  255,  0.1);
    transform: scale(1.02);
}

.border-option input[type="checkbox"] {
    display: none;
}

.icon-border, 
.icon-no-border {
    transition: opacity 0.3s ease;
}

.icon-no-border {
    display: none;
}

input:not(:checked) ~ .icon-border {
    display: none;
}

input:not(:checked) ~ .icon-no-border {
    display: inline-block;
}

.toggle-switch {
    position: relative;
    display: inline-block;
    width: 40px;
    height: 20px;
    background-color: #111215;
    border-radius: 20px;
    transition: all 0.3s;
}

.toggle-switch::after {
    content: "";
    position: absolute;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background-color: #fff;
    top: 2px;
    left: 2px;
    transition: all 0.3s;
}

input:checked + .toggle-switch {
    background-color: #3b82f6;
}

input:checked + .toggle-switch::after {
    transform: translateX(20px);
}

.border-option {
    display: flex;
    align-items: center;
    width: 100%;
    gap: 10px;
}

.logo-options {
    display: flex;
    width: 100%;
    gap: 10px;
}

.logo-option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    cursor: pointer;
    padding: 10px 15px;
    border-radius: 8px;
    background-color: rgba(255,  255,  255,  0.05);
    color: #007bff;
    transition: background-color 0.3s, transform 0.2s;
    border: 2px solid transparent;
}

.logo-option:hover {
    background-color: rgba(255,  255,  255,  0.1);
    transform: scale(1.02);
}

.logo-option input[type="checkbox"] {
    display: none;
}

.logo-type-option input[type="radio"] {
    display: none;
}

.logo-type-selector {
    display: flex;
    gap: 10px;
    margin-top: 10px;
}

.logo-type-option {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px;
    border-radius: 8px;
    background-color: var(--clr-input);
    cursor: pointer;
    transition: all 0.3s;
}

.logo-type-option.active {
    background-color: var(--clr-border--active) !important;
    transform: scale(1.02);
}

.logo-type-option:hover {
    background-color: var(--clr-border--active);
}

.logo-type-option.selected {
    background-color: var(--clr-border--active);
}

.icon-logo {
    display: inline-block;
}

.icon-no-logo {
    display: none;
}

.logo-option input[type="checkbox"]:not(:checked) ~ .icon-logo {
    display: none;
}

.logo-option input[type="checkbox"]:not(:checked) ~ .icon-no-logo {
    display: inline-block;
}

.ad-container {
    position: relative; /* Para permitir o posicionamento absoluto da tag "Ad" */
}

.ad-banner {
    background-color: #17181c; /* Cor de fundo escura */
    padding: 20px;
    border-radius: 8px; /* Bordas arredondadas */
    margin: 20px 0px 5px 0px; /* Espaçamento acima e abaixo do anúncio */
    text-align: center; /* Centraliza o texto */
    z-index: 1000; /* Garante que o banner fique acima de outros elementos */
}

.text-sm {
    color: #768288 !important; /* Cor do texto em branco */
}

.text-center {
    text-align: center;
}

.ad-banner h2 {
    margin: 0; /* Remove margens padrão */
    font-size: 1.5em; /* Tamanho da fonte do título */
}

.ad-banner p {
    margin: 10px 0; /* Espaçamento acima e abaixo do parágrafo */
    font-size: 1em; /* Tamanho da fonte do parágrafo */
}

.ad-tag {
    position: absolute; /* Para posicionamento absoluto */
    bottom: 25px; /* Distância do fundo */
    right: 20px; /* Distância da direita */
    font-size: 0.75rem; /* Tamanho da fonte menor */
    font-weight: bold; /* Negrito para destaque */
    color: #ffffff; /* Cor do texto da tag */
    background-color: #232428; /* Fundo escuro para a tag */
    border-radius: 4px; /* Bordas arredondadas */
    padding: 0px 5px; /* Espaçamento interno da tag */
}

.icon-menu {
    display: flex;
    flex-wrap: wrap;
    gap: 20px; /* Espaçamento entre os ícones */
    justify-content: center;
}

.icon-option {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    cursor: pointer;
    padding: 10px;
    background-color: rgba(255,  255,  255,  0.05); /* Fundo levemente transparente */
    border-radius: 8px;
    transition: background-color 0.3s, transform 0.2s;
    width: 80px; /* Largura fixa */
    height: 80px; /* Altura fixa */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.icon-option:hover {
    background-color: rgba(255,  255,  255,  0.1);
    transform: translateY(-2px);
}


.icon-option.selected {
    border: 2px solid blue; /* Borda azul */
    box-shadow: 0 0 5px rgba(0, 0, 255, 0.5); /* Sombra para destacar */
}
.icon-option svg {
    width: 24px; /* Tamanho do ícone */
    height: 24px; /* Tamanho do ícone */
    margin-bottom: 5px; /* Espaçamento entre o ícone e o texto */
}

.icon-option span {
    font-size: 11px;
}

.qrform {
    display: none; /* Oculta os formulários por padrão */
}

.notification {
    position: fixed;
    transform: translateX(-50%);
    background-color: #292e3bba; /* Cor de fundo escura */
    color: white;
    padding: 15px 20px; /* Espaçamento interno */
    border-radius: 8px; /* Bordas arredondadas */
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3); /* Sombra para dar profundidade */
    z-index: 1000;
    transition: top 0.5s ease, opacity 0.5s ease; /* Transições suaves */
}

.notification.show {
    opacity: 1; /* Torna visível */
}

.notification.hidden {
    opacity: 0; /* Torna invisível */
    visibility: hidden; /* Esconde a notificação */
}

.notification-icon {
    margin-right: 10px; /* Espaçamento entre o ícone e a mensagem */
    width: 24px; /* Tamanho do ícone */
    height: 24px; /* Tamanho do ícone */
}

.notification-message {
    flex-grow: 1; /* Permite que a mensagem ocupe o espaço restante */
}

.notification.error {
    background-color: var(--clr-tag-orange); /* Cor de fundo para erro */
}

.hidden {
    opacity: 0;
    visibility: hidden;
}

.modal {
    display: none; /* Escondido por padrão */
    position: fixed; /* Fica fixo na tela */
    z-index: 1000; /* Fica acima de outros elementos */
    left: 0;
    top: 0;
    width: 100%; /* Largura total */
    height: 100%; /* Altura total */
    overflow: auto; /* Permite rolagem se necessário */
    background-color: rgba(0, 0, 0, 0.8); /* Fundo escuro com transparência */
}

.modal-content {
    background-color: var(--clr-bkgrnd-drk); /* Fundo escuro */
    margin: 15% auto; /* Margem centralizada */
    padding: 20px; /* Espaçamento interno */
    border: 1px solid #444; /* Borda escura */
    width: 80%; /* Largura do modal */
    max-width: 600px; /* Largura máxima */
    border-radius: 8px; /* Bordas arredondadas */
    color: #ffffff; /* Cor do texto */
}

.modal-content h2 {
    font-size: 32px;
    font-weight: 600;
}

.close-button {
    color: #ffffff; /* Cor do botão de fechar */
    float: right; /* Alinha à direita */
    font-size: 28px; /* Tamanho da fonte */
    font-weight: bold; /* Negrito */
    cursor: pointer; /* Cursor de ponteiro */
}

.close-button:hover,
.close-button:focus {
    color: #ff4d4d; /* Cor ao passar o mouse */
    text-decoration: none; /* Remove sublinhado */
    cursor: pointer; /* Cursor de ponteiro */
}

canvas {
    background-image: repeating-linear-gradient(45deg, #aaa 25%, transparent 25%, transparent 75%, #aaa 75%, #aaa), repeating-linear-gradient(45deg, #aaa 25%, #fff 25%, #fff 75%, #aaa 75%, #aaa);
    background-position: 0 0, 4px 4px;
    background-size: 8px 8px;
}




#frame-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none; /* Para permitir interações com o QR Code */
}

.frame {
    position: absolute;
    padding: 10px;
    border: 5px solid transparent;
    border-radius: 10px;
    text-align: center;
    color: white;
    font-size: 20px;
    pointer-events: none; /* Para evitar que o frame interfira nas interações */
}

.frame.scan-me {
    border-color: green; /* Cor do frame "Scan Me" */
}

.frame.custom-frame {
    border-color: blue; /* Cor do frame personalizado */
}




.btn-patreon {
    display: flex;
    align-items: center;
    padding: 10px 15px;
    height: 70%;
    background-color: white; /* Fundo branco */
    color: black; /* Texto preto */
    border-radius: 5px; /* Bordas arredondadas */
    text-decoration: none; /* Remove o sublinhado do link */
    font-weight: bold; /* Texto em negrito */
}

.btn-patreon svg {
    width: 20px; /* Tamanho do ícone */
    height: 20px; /* Tamanho do ícone */
    margin-right: 8px; /* Espaçamento entre o ícone e o texto */
}

.btn-patreon:hover {
    background-color: #f0f0f0; /* Cor de fundo ao passar o mouse */
}

.icon-button {
    height: 100%;
    width: 50px !important;
    background-color: var(--clr-input);
    margin-top: 0px !important;
    margin-right: 8px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    cursor: pointer;
    transition: background-image 0.3s ease;
    border: none;
    justify-content: center;
}