body {
font-family: Arial, Helvetica, sans-serif;
background: #f0f0f0;
margin: 0;
color: black;
}

.teclado {
position: fixed;
right: 30px;
bottom: 30px;
width: 700px;
background: #f0f0f0;
border-radius: 12px;
box-shadow: 0 0 20px rgba(0,0,0,0.25);
padding: 10px;
z-index: 9999;
}

.kb_btn {
height: 72px;
font-size: 60px;
background: #f0f0f0;
border: 0px solid #f0f0f0;
border-radius: 0px;
cursor: pointer;
}

.kb_extra {
display: grid;
grid-template-columns: 1fr 1fr 3fr 1fr 1fr;
gap: 8px;
margin-top: 18px;
}

.kb_ctrl {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 10px;
margin-top: 2px;
}

.btn_img {
width: 32px;
height: 32px;
object-fit: contain;
vertical-align: middle;
}


.kb_ctrl button {
height: 70px;
font-size: 70px;
background: #f0f0f0;
border: 0px solid #f0f0f0;
border-radius: 0px;
cursor: pointer;
}


.kb_extra button {
    height: 55px;
    font-size: 18px;
    border-radius: 8px;
    background: #dfe6ee;
    border: 1px solid #aaa;
    cursor: pointer;
}

.kb_space {
    font-size: 16px;
    font-weight: bold;
}


.buttonpoli01,
.buttonpoli02 {
display: inline-block;
padding: 12px 22px;
margin: 10px 8px 10px 0;
background: #eeeeee;
border: 2px solid #555;
border-radius: 4px;
color: black;
text-decoration: none;
font-size: 20px;
}

.buttonpoli02 {
background: #dbeafe;
}


.navbar {
display: flex;
gap: 20px;
align-items: center;
justify-content: center;
background: #1d4ed8;
padding: 12px;
font-size: 22px;
}

.navbar a {
color: white;
text-decoration: none;
font-weight: bold;
}

.navbar a:hover {
text-decoration: underline;
}

.config_panel {
position: fixed;
left: 0;
top: 0;
width: 100%;
height: 100%;
background: rgba(0,0,0,0.35);
z-index: 10000;
display: flex;
align-items: center;
justify-content: center;
}

.config_box {
width: 360px;
background: white;
border-radius: 10px;
padding: 20px;
box-shadow: 0 0 25px rgba(0,0,0,0.35);
font-size: 16px;
}

.config_box h2 {
text-align: center;
margin-top: 0;
}

.config_box label {
display: block;
margin-top: 12px;
margin-bottom: 4px;
}

.config_box select {
width: 100%;
height: 36px;
font-size: 16px;
}

.cfg_line {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 12px;
}

.cfg_line input {
width: 22px;
height: 22px;
}

.cfg_save {
width: 100%;
height: 42px;
margin-top: 18px;
font-size: 16px;
}

.hidden {
display: none;
}


.topo {
text-align: center;
padding-top: 10px;
}

.topo_linha {
display: flex;
justify-content: space-between;
align-items: center;
padding: 0 20px;
}

.btn_cfg {
height: 60px;
width: 70px;
font-size: 40px;
cursor: pointer;
}

.logo {
width: 700px;
max-width: 100%;
border: 2px solid black;
border-radius: 0px;
}

h1 {
font-size: 38px;
margin-top: 0px;
margin-bottom: 1px;
}

.bloco h3 {
font-size: 28px;
margin-bottom: 0px;
}

.container {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 30px;
padding: 0 30px;
}

.botoes {
display: flex;
gap: 6px;
margin-bottom: 6px;
}

.botoes button {
height: 50px;
min-width: 70px;
font-size: 30px;
padding: 4px 14px;
background: #eeeeee;
border: 2px solid #555;
border-radius: 4px;
cursor: pointer;
}

textarea {
width: 100%;
height: 260px;
font-size: 28px;
padding: 14px;
box-sizing: border-box;
border: 2px solid #555;
resize: vertical;
}



.hidden {
display: none;
}

.kb_bar {
height: 58px;
line-height: 58px;
background: #5AAEFA;
color: white;
font-size: 30px;
text-align: center;
border-radius: 6px;
margin-bottom: 10px;
}



@media (max-width: 800px) {

.navbar {
font-size: 14px;
padding: 6px;
gap: 12px;
}

.logo {
width: 420px;
}

.topo_linha {
padding: 0 10px;
}

.btn_cfg {
height: 42px;
width: 52px;
font-size: 28px;
}

h1 {
font-size: 26px;
margin-bottom: 5px;
}

.container {
display: grid;
grid-template-columns: 1fr;
gap: 12px;
padding: 0 12px;
}

.bloco {
width: 100%;
}

.bloco h3 {
font-size: 22px;
margin-top: 4px;
margin-bottom: 2px;
}

.botoes button {
height: 42px;
min-width: 48px;
font-size: 22px;
padding: 2px 8px;
}

textarea {
width: 100%;
height: 180px;
font-size: 22px;
padding: 10px;
}


.teclado {
left: 0;
right: 0;
bottom: 0;
width: 100%;
height: 65vh;
border-radius: 12px 12px 0 0;
padding: 8px;
}

.kb_btn {
height: 9vh;
font-size: 6vw;
}

.kb_area {
display: grid;
grid-template-columns: repeat(7, 1fr);
gap: 2px;
}



.kb_extra button {
height: 6vh;
font-size: 3.5vw;
}

.kb_ctrl button {
height: 7vh;
font-size: 5vw;
}

.kb_bar {
font-size: 4vw;
height: 5vh;
line-height: 5vh;
}
.config_box {
width: calc(100vw - 28px);
max-width: 520px;
padding: 22px;
font-size: 20px;
border-radius: 14px;
}

.config_box h2 {
font-size: 26px;
margin-bottom: 22px;
}

.config_box label {
font-size: 18px;
margin-top: 16px;
margin-bottom: 6px;
}

.config_box select {
height: 46px;
font-size: 18px;
}

.cfg_line {
font-size: 18px;
margin-top: 16px;
gap: 12px;
}

.cfg_line input {
width: 28px;
height: 28px;
}

.cfg_save {
height: 50px;
font-size: 18px;
font-weight: bold;
border-radius: 18px;
}

}