/* styles.css */
* {
    box-sizing: border-box;
    padding: 0;
    margin: 0;
    font-family: 'Segoe UI', sans-serif;
}
body {
    width: 100vw;
    height: 100vh;
}
.hide {
    opacity: 0;
}
.debug1{background:#f0f4;}.debug2{background:#ff04}.debug3{background:#0ff4}
/* === Escritorio === */
#desktop {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    display: grid;
    aspect-ratio: 1;
    z-index: 50;
}
/* === Barra de estado === */
#statusBar, #navigationBar {
    position: absolute;
    width: 100vw;
    background: #000;
    color: #ffffff;
    z-index: 500;
    transition: background 0.1s;
}
#statusBar {
    display: grid;
    grid-template-columns: 17% 33% 50%;
    top: 0;
    font-size: 12px;
    padding: 0 5px;
    transition: transform 0.3s ease-in-out;
}
#statusBar.show {
    transform: translateY(100vh);
}
#statTime {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
/* === Preview de notificaciones === */
#notiIcons {
    background: #00f0; /*debug*/
    column-gap: 5px;
}
#notiIcons b {
    background: #f000; /*debug*/
    font-size: 10px;
}
#notiIcons i {
    font-size: 12px;
}
/* === Iconos de estado === */
#statIcons i {
    font-size: 14px;
}
#statIcons {
    column-gap: 5px;
}
/* === Barra de navegación === */
#navigationBar {
    bottom: 0;
    padding: 0 25px;
    overflow: hidden;
}
#navigationBar button {
    display: flex;
    justify-content: center;
    align-items: center;
    border: none;
    background: #00000000;
    color: #ffffff;
    padding: 5px;
    border-radius: 25px;
    width: 25%;
    height: 100%;
    transition: background 0.4s;
}
#navigationBar #backBtn i {
    font-size: 33px;
    transition: transform 0.2s;
}
#navigationBar #backBtn.keyboardMode i {
    transform: rotate(-90deg);
}
#navigationBar button:active {
    background: #ffffff33;
    transition: background 0.1s;
}
.backdrop {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #00000077;
    transition: opacity 0.2s;
    z-index: 500;
}
.alertDialog {
    background: #ffffff;
    padding: 10px 2px 2px 10px;
    width: 75%;
    overflow-wrap: break-word;
}
.alertDialog p {
    margin: 5px 10px 10px 0;
}
.alertDialog .actions {
    background: #0f00; /*debug*/
    width: 100%;
}
.alertDialog .actions button {
    border: none;
    color: #008080;
    background: #00000000;
    font-size: 15px;
    padding: 7.5px;
    transition: background 0.2s;
}
.alertDialog .actions button:active {
    background: #00000044;
}
.toast {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    max-width: 80%;
    min-width: 45%;
    bottom: 30px;
    font-size: 14px;
    background: #000000BB;
    color: #ffffff;
    padding: 9px 7.5px;
    border-radius: 10px;
    overflow-wrap: break-word;
    text-align: center;
    transition: opacity 0.5s;
    z-index: 500;
}
.app {
    background: #f0f0;/*debug*/
    gap: 5px;
    transition: transform 0.1s;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.app:active {
    transform: scale(0.9);
}
.app img {
    width: 70%;
    border-radius: 10px;
    box-shadow: 0px 0px 5px 1px #000000;
}
.app p {
    color: white;
    text-shadow: 1px 1px 2px #000000;
    max-width: 100%;
    padding: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 12px;
    background: #f000; /*debug*/
}
.activity.hide {
    opacity: 0;
    transform: scale(0.8);
}
.activity {
    position: absolute;
    width: 100%;
    height: 100%;
    background: #ffffff;
    transition: opacity 0.4s, transform 0.3s;
    overflow-y: auto;
    z-index: 100;
}
.activity > *{ /* aka contentView */
    height: 100%;
    width: 100%;
    margin: 0;
}

input[type="checkbox"].switch {
    appearance: none; /* Esto es clave */
    -webkit-appearance: none; /* Para Safari */
    -moz-appearance: none; /* Para Firefox */
    position: relative;
    display: flex;
    align-items: center;
    background-color: #444;
    border: 1px solid #fff;
    border-radius: 50px;
    width: 50px;
    height: 25px;
    transition: background 0.2s;
}
input[type="checkbox"].switch::before {
    content: "";
    position: absolute;
    width: 15px;
    height: 15px;
    left: 4px;
    right: 0;
    border-radius: 50%;
    background: #fff;
    transition: left 0.2s;
}
input[type="checkbox"].switch:checked {
    background: #b3b;
}
input[type="checkbox"].switch:checked::before {
    left: 60%;
}

/* Clases accesibles para apps Notroid (Futuros Seniors del CSS Notroid? 🗣😭🥀🔥) */
.not-code {
    font-family: Consolas, monospace;
}
.not-all-width {
    width: 100%;
}
.not-all-height {
    height: 100%;
}
.not-flex {
    display: flex;
}
.not-flex-column {
    flex-direction: column;
}
.not-flex-column-reverse {
    flex-direction: column-reverse;
}
.not-flex-row {
    flex-direction: row;
}
.not-flex-row-reverse {
    flex-direction: row-reverse;
}
.not-justify-center {
    justify-content: center;
}
.not-justify-start {
    justify-content: flex-start;
}
.not-justify-end {
    justify-content: flex-end;
}
.not-justify-around {
    justify-content: space-around;
}
.not-justify-between {
    justify-content: space-between;
}
.not-items-start {
    align-items: flex-start;
}
.not-items-center {
    align-items: center;
}
.not-items-end {
    align-items: flex-end;
}
.not-hide {
    opacity: 0;
}
.not-ellipsis {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
