:root {
        --titlebar-gradient: linear-gradient(90deg, #570182, #320b8c, #303e82);
        --dialog-blue: #3f084d;
        --dialog-accent: white; /* color of text on diaglog blue */
        --titlebar-color: white; /* reccomended to change so its easy to read on titlebar color */
        --player-image: url(https://supermassiveodhorse.nekoweb.org/ico.png);

    /*** 98 css styling ***/
    /* while some of these may specify a single element, theyre used across mulitple */
        --surface: #b2bfbf;
        --button-highlight: #e6dfda;
        --button-face: #dfdfdf;
        --button-shadow: #785a30;
        --light-button-shadow: #a9a9a9;
        --window-frame: #0a0a0a;
        --border-field: inset -1px -1px var(--button-highlight),
            inset 1px 1px var(--button-shadow), inset -2px -2px var(--button-face),
            inset 2px 2px var(--window-frame);
    }

    @font-face {
  font-family: "Pixelated MS Sans Serif";
  src: url("https://files.catbox.moe/qgjjre.woff") format("woff");
  src: url("https://files.catbox.moe/8fwbkl.woff2") format("woff2");
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: "Pixelated MS Sans Serif";
    src: url("https://files.catbox.moe/z7csle.woff") format("woff");
    src: url("https://files.catbox.moe/moqhx6.woff2") format("woff2");
    font-weight: bold;
    font-style: normal;
    }

    #musicplayer {
  font-family: "Pixelated MS Sans Serif", Arial;
  -webkit-font-smoothing: none;
  font-size: 11px;
  color:var(--window-frame);
  width: fit-content;
  border:var(--window-frame) solid 1px;
  margin:0 auto;
    box-shadow: inset -1px -1px var(--window-frame), inset 1px 1px var(--button-face), inset -2px -2px var(--button-shadow), inset 2px 2px var(--button-highlight);
  background: var(--surface);
  padding: 3px;
  width: 260px;
    }

    .title-color {  
  padding: 3px 2px 3px 3px;
  display: flex;
  justify-content: space-between;
  align-items: center;
    background: var(--titlebar-gradient);
    margin-bottom: 2px;
    font-weight: bold;
}

.actual-title {
    color:var(--titlebar-color);
  display: flex;
  gap: 5px;
}

.seeking {
    font-weight: normal;
    font-size: 11px;
  display: flex;
  justify-content: center;
  align-items: center;
    gap: 5px;
    margin: 12px 0;
}

.player-flex {
    display: flex;
    gap: 3px;
}

.player-main {
    width: calc(100% - 100px);
    margin-top: 1px;
}

.player-icon-holder {
  border: 2px solid var(--surface);
  width:95px;
  height:95px;
  padding: 1px;
  background-image:linear-gradient(-45deg, var(--button-face) 50%, var(--window-frame) 50%);
  background-size:cover;
  background-repeat:no-repeat;
  border-width:1px;
  border-style:solid;
  border-color: var(--button-shadow) var(--button-highlight) var(--button-highlight) var(--button-shadow);
  
  overflow: hidden;
  position:relative;
  z-index: 2;
}

.player-icon {
    background-image:var(--player-image);
    background-size: contain;
    background-repeat: no-repeat;
  width:95px;
  height:95px;
  display: display;
}

/* BELOW IS LARGELY RIPPED FROM 98 CSS */
.track-select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  border: none;
  border-radius:0;
  box-sizing: border-box;
  outline:0;
  
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;

  position: relative;
  padding: 3px 4px;
  padding-right: 32px;
  background-image: url("https://loveberry.nekoweb.org/assets/musicplayer/button-down.svg");
  background-position: top 2px right 2px;
  background-repeat: no-repeat;
  width:100%;

  box-shadow: var(--border-field);
  background-color: var(--button-highlight);
  height: 21px;

  font-family: "Pixelated MS Sans Serif", Arial;
  -webkit-font-smoothing: none;
  font-size: 11px;
  font-weight: lighter;
}

.track-select:focus {
  color: var(--dialog-accent);
  background-color: var(--dialog-blue);

}
.track-select:focus option {
  color: var(--window-frame);
  background-color: var(--button-highlight);  
  outline: 1px;
  border: none;
}

.track-select:active {
  background-image: url("https://loveberry.nekoweb.org/assets/musicplayer/button-down-active.svg");
}

/* input */
#musicplayer input[type="range"] {  
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  background: transparent;
}

#musicplayer input[type="range"]:focus {
  outline: none;
}

#musicplayer input[type="range"]::-webkit-slider-thumb {
  appearance: none;
  -webkit-appearance: none;
  height: 21px;
  width: 11px;
  background: url("https://loveberry.nekoweb.org/assets/musicplayer/indicator-horizontal.svg");
  transform: translateY(-8px);
  box-shadow: none;
  border: none;
}

#musicplayer input[type="range"].has-box-indicator::-webkit-slider-thumb {
  background: url("https://loveberry.nekoweb.org/assets/musicplayer/indicator-rectangle-horizontal.svg");
  transform: translateY(-10px);
}

#musicplayer input[type="range"]::-moz-range-thumb {
  height: 21px;
  width: 11px;
  border: 0;
  border-radius: 0;
  background: url("https://loveberry.nekoweb.org/assets/musicplayer/indicator-horizontal.svg");
  transform: translateY(2px);
}

#musicplayer input[type="range"].has-box-indicator::-moz-range-thumb {
  background: url("https://loveberry.nekoweb.org/assets/musicplayer/indicator-rectangle-horizontal.svg");
  transform: translateY(0px);
}

#musicplayer input[type="range"]::-webkit-slider-runnable-track {
  width: 100%;
  height: 2px;
  box-sizing: border-box;
  background: var(--window-frame);
  border-right: 1px solid var(--button-shadow);
  border-bottom: 1px solid var(--button-shadow);
  box-shadow: 1px 0 0 var(--button-highlight), 1px 1px 0 var(--button-highlight), 0 1px 0 var(--button-highlight), -1px 0 0 var(--light-button-shadow),
    -1px -1px 0 var(--light-button-shadow), 0 -1px 0 var(--light-button-shadow), -1px 1px 0 var(--button-highlight), 1px -1px var(--light-button-shadow);
}

#musicplayer input[type="range"]::-moz-range-track {
    width: 100%;
    height: 2px;
    box-sizing: border-box;
    background: var(--window-frame);
    border-right: 1px solid var(--button-shadow);
    border-bottom: 1px solid var(--button-shadow);
    box-shadow: 1px 0 0 var(--button-highlight), 1px 1px 0 var(--button-highlight), 0 1px 0 var(--button-highlight), -1px 0 0 var(--light-button-shadow),
    -1px -1px 0 var(--light-button-shadow), 0 -1px 0 var(--light-button-shadow), -1px 1px 0 var(--button-highlight), 1px -1px var(--light-button-shadow);
}

.window-button {
    background: var(--surface);
    border: none;
    border-radius: 0;
    box-shadow: inset -1px -1px var(--window-frame),inset 1px 1px var(--button-highlight),inset -2px -2px var(--button-shadow),inset 2px 2px var(--button-face);
    box-sizing: border-box;
    color: inherit;
    text-shadow: 0 0 var(--window-frame);
}

.window-button:active {
  box-shadow: inset -1px -1px var(--button-highlight), inset 1px 1px var(--window-frame), inset -2px -2px var(--button-face), inset 2px 2px var(--button-shadow);
  text-shadow: 1px 1px var(--window-frame);
}

.window-button:focus  {
  outline: 1px dotted #000;
  outline-offset: -4px;
}
.player-buttons {
    display: flex;
    gap: 10px;
    margin: 5px 5px 0 5px;
}
.player-buttons .window-button  {
    width: 33%;
    font-size: 10px;
    padding: 5px 10px;
}
.player-buttons .window-button svg {
   width: 15px;
   height: 15px;
}

.title-bar-controls {
    display: flex;
}
.close {
    margin-left: 2px;
    background-image: url("https://loveberry.nekoweb.org/assets/musicplayer/close.svg");
    background-repeat: no-repeat;
    background-position: top 3px left 4px;

    padding: 0;
    display: block;
    min-width: 16px;
    min-height: 14px;
}

.minimize {
  background-image: url("https://loveberry.nekoweb.org/assets/musicplayer/minimize.svg");
  background-repeat: no-repeat;
  background-position: bottom 3px left 4px;
    padding: 0;
    display: block;
    min-width: 16px;
    min-height: 14px;
}

.maximize {
  background-image: url("https://loveberry.nekoweb.org/assets/musicplayer/maximize.svg");
  background-repeat: no-repeat;
  background-position: top 2px left 3px;
    padding: 0;
    display: block;
    min-width: 16px;
    min-height: 14px;
}







/* --- CONSOLA DE ACTUALIZACIONES: ANCLAJE IZQUIERDO REAL (ESTILO MATRIX) --- */

.clap-lateral-panel {
    position: fixed;
    /* --- Posicionamiento estricto en la izquierda de la pantalla --- */
    left: -310px;           /* Escondido hacia la izquierda */
    right: auto !important; /* Anula cualquier herencia del lado derecho */
    top: 50%;
    transform: translateY(-50%);
    width: 310px;
    min-width: 310px;       /* Mantiene el ancho físico de la terminal */
    background: linear-gradient(225deg, rgba(5, 12, 5, 0.96) 0%, rgba(0, 0, 0, 0.98) 100%);
    border: 1px solid #39ff14; /* Borde verde Matrix */
    border-left: none;        /* Se une plano al borde de tu monitor */
    
    /* El look Y2K de cápsula espacial limpia sin errores de recorte */
    border-radius: 0 15px 15px 0; 
    
    transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    z-index: 9999;
    box-shadow: 10px 0 30px rgba(57, 255, 20, 0.15), inset 0 0 15px rgba(57, 255, 20, 0.05);
    backdrop-filter: blur(8px);
}

/* LA PESTAÑA MANIJA (Pegada perfecta y mirando al centro de la web) */
.clap-tab {
    position: absolute;
    /* Se posiciona de manera exacta donde termina el panel, ni un píxel más, ni uno menos */
    left: 240px; 
    right: auto !important;
    top: 50%;
    
    /* Rotación corregida a contra reloj (-90deg) para que mire hacia adentro */
    transform: translateY(-50%) rotate(90deg);
    transform-origin: center center;
    
    background: #ff8c00; /* naranja */
    color: #000;
    padding: 10px 20px;
    white-space: nowrap; /* Impide que el texto se quiebre en dos líneas */
    font-family: 'Orbitron', sans-serif;
    font-weight: bold;
    font-size: 11px;
    letter-spacing: 2px;
    cursor: pointer;
    border-radius: 10px 10px 0 0;
    box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.4);
}

/* EFECTO HOVER: DESPLIEGUE FLUIDO */
.clap-lateral-panel:hover {
    left: 0 !important; /* Desliza el módulo completo hacia la pantalla */
    box-shadow: 10px 0 35px rgba(57, 255, 20, 0.25);
}

/* CONTENEDOR INTERIOR Y AJUSTE DE TEXTOS */
.clap-content {
    padding: 20px 15px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    box-sizing: border-box;
}

/* LA PANTALLA CRT DE FÓSFORO VERDE REINCORPORADA */
.matrix-terminal-screen {
    border: 1px solid rgba(57, 255, 20, 0.3);
    border-radius: 4px;
    background-color: #020702;
    box-shadow: inset 0 0 15px rgba(0, 0, 0, 0.9);
    padding: 2px;
}

/* Caja de desplazamiento interno para contener los logs */
.matrix-terminal-scroller {
    height: 260px;
    overflow-y: scroll;
    padding: 12px;
}

/* REGISTRO DE LOGS INDIVIDUALES */
.update-log-entry {
    margin-bottom: 14px;
    font-family: 'Share Tech Mono', 'Courier New', monospace;
    border-bottom: 1px dashed rgba(57, 255, 20, 0.15);
    padding-bottom: 8px;
}

.update-log-entry:last-child {
    border-bottom: none;
}

.log-meta {
    font-size: 10px;
    color: #ff8c00; /* Naranja neón para tiempo */
    letter-spacing: 1px;
    margin-bottom: 3px;
}

.log-text {
    font-size: 11px;
    color: #39ff14; /* Verde Matrix */
    line-height: 1.4;
    text-shadow: 0 0 3px rgba(57, 255, 20, 0.3);
}

/* ANIMACIÓN: PARPADEO DE ADVERTENCIA DEL TÍTULO */
.matrix-blink {
    animation: terminalBlink 2.5s steps(2, start) infinite;
}

@keyframes terminalBlink {
    0%, 100% { opacity: 1; text-shadow: 0 0 8px #39ff14; }
    50% { opacity: 0.2; text-shadow: none; }
}

/* --- BARRA DE DESPLAZAMIENTO VERDE 3D (RELIÉVE RECTANGULAR EDGE) --- */
.matrix-terminal-scroller::-webkit-scrollbar {
    width: 14px;
    background-color: #010401;
    border-left: 1px solid rgba(57, 255, 20, 0.2);
}

.matrix-terminal-scroller::-webkit-scrollbar-thumb {
    background: linear-gradient(90deg, 
        #156605 0%, 
        #39ff14 30%, 
        #d5ffd0 50%, 
        #39ff14 70%, 
        #0f4c03 100%
    );
    border-radius: 0px;
    border-top: 1.5px solid #d5ffd0;
    border-left: 1.5px solid #d5ffd0;
    border-right: 2.5px solid #0a3302;
    border-bottom: 2.5px solid #0a3302;
    box-shadow: inset 1px 1px 0px rgba(255, 255, 255, 0.3), 2px 2px 4px rgba(0, 0, 0, 0.8);
}

.matrix-terminal-scroller::-webkit-scrollbar-thumb:hover {
    filter: brightness(1.15);
}

/* ENMARCADO DE LA CABECERA INTERNA */
.terminal-header-wrapper {
    display: flex;
    align-items: center;
    gap: 8px;
    border-bottom: 1px double rgba(57, 255, 20, 0.3);
    padding-bottom: 8px;
}

.clap-status-dot {
    width: 6px;
    height: 6px;
    background-color: #39ff14;
    border-radius: 50%;
    box-shadow: 0 0 8px #39ff14;
}

.clap-header {
    margin: 0;
    font-family: 'Orbitron', sans-serif;
    font-size: 12px;
    letter-spacing: 1px;
    color: #39ff14;
}

.clap-footer-data {
    font-family: 'Courier New', monospace;
    font-size: 11px;
    color: #ff8c00;
    text-align: left;
    opacity: 0.6;
    letter-spacing: 1px;
}

/* DETALLES ANGULARES DE LAS ESQUINAS */
.clap-bracket {
    position: absolute;
    width: 15px;
    height: 15px;
    pointer-events: none;
    z-index: 2;
}
.corner-left-top {
    top: 10px;
    left: 10px;
    border-top: 2px solid #39ff14;
    border-left: 2px solid #39ff14;
}
.corner-left-bottom {
    bottom: 10px;
    right: 15px;
    border-bottom: 2px solid #39ff14;
    border-right: 2px solid #39ff14;
}


/* CONTENEDOR PRINCIPAL */
.chat-lateral-panel {
    position: fixed;
    right: -300px; /* Escondido a la derecha (ajusta según el ancho del chat) */
    top: 50%;
    transform: translateY(-50%);
    width: 300px;
    background: rgba(10, 10, 20, 0.95);
    border: 2px solid #00ff00; /* verde neón */
    border-right: none; /* Quitar borde derecho para que se pegue al borde */
    border-radius: 15px 0 0 15px;
    transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    z-index: 9999;
    box-shadow: -5px 0 20px rgba(125, 249, 255, 0.3);
}

/* LA PESTAÑA QUE SOBRESALE */
.chat-tab {
    position: absolute;
    left: -42px; /* La pestaña sale hacia la izquierda del panel */
    top: 50%;
    transform: translateY(-50%) rotate(-90deg);
    background: #00ff00; /* verde neón */
    color: #000;
    padding: 10px 20px;
    font-family: 'Orbitron', sans-serif;
    font-weight: bold;
    font-size: 12px;
    cursor: pointer;
    border-radius: 10px 10px 0 0;
    box-shadow: -2px -2px 10px rgba(0, 0, 0, 0.5);
}

/* EFECTO AL PASAR EL MOUSE (Hover) */
.chat-lateral-panel:hover {
    right: 0; /* Se desliza hacia adentro */
}

/* INTERIOR DEL CHAT */
.chat-content {
    padding: 10px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.chat-header {
    margin: 0;
    font-size: 11px;
    color: #ff8c00; /* naranja */
    text-align: center;
    border-bottom: 1px solid rgba(125, 249, 255, 0.3);
    padding-bottom: 5px;
}

/* Filtro para que el Cbox combine con la web */
.chat-content iframe {
    
    border-radius: 5px;
    
}

.webring-container {
    /* 1. Centrado del bloque */
    display: block;
    margin: 10px auto; /* 'auto' a los lados centra el cuadro */
    width: fit-content; /* El cuadro se ajusta al tamaño del texto */
    min-width: 210px;
    
    /* 2. Estética Espacial */
    padding: 4px;
    background-color: rgba(0, 0, 0, 0.6); 
    border: 1px solid #7df9ff;
    border-radius: 8px;
    text-align: center; /* Centra el texto y links dentro del cuadro */
    box-shadow: 0 0 15px rgba(125, 249, 255, 0.3);
    justify-content: center;
}

.webring-title {
    font-family: 'Orbitron', sans-serif;
    font-size: 2rem;
    color: #7df9ff;
    letter-spacing: 4px;
    margin-bottom: 1px;
    justify-content: center;
}

.webring-links a {
    color: #ffaa00;
    text-decoration: none;
    font-family: 'Rationale', sans-serif;
    font-size: 2rem;
    margin: 0 10px;
    transition: 0.3s;
    justify-content: center;
}

.webring-links a:hover {
    color: #4000ff;
    text-shadow: 0 0 10px #4000ff;
    justify-content: center;
}

/* CONTAINER PRINCIPAL (footer) */
.footer-espacial {
    margin-top: 1px; /* Pegado al contenido para que parezca una sola pieza */
    padding: 40px 15px;
    position: relative;
    margin-left: 0 !important;
    width: 100%;
    box-sizing: border-box; /* Crucial para que el 100% no se deforme */
    border-radius: 8px;
    border-top: 2px solid #a020f0; /* Línea morada superior */
    background: linear-gradient(180deg, rgba(20, 0, 30, 0.8) 0%, rgba(0, 0, 0, 1) 100%);
    overflow: hidden; /* Esto recorta la rejilla para que no se salga de los bordes redondeados */
    
    /* Bordes y sombras decorativas aquí al contenedor principal */
    border: 1px solid var(--neon-purple, #a020f0);
    box-shadow: 0 0 15px rgba(188, 19, 254, 0.2);
    z-index: 3;
}

/* REJILLA DE FONDO (Ocupa el 100% de borde a borde y de arriba a abajo) */
.footer-grid-top {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; /* Cambiado de 100px a 100% para que cubra TODO el fondo */
    background-image: 
        linear-gradient(rgba(134, 73, 179, 0.2) 1px, transparent 1px),
        linear-gradient(90deg, rgba(134, 73, 179, 0.2) 1px, transparent 1px);
    background-size: 25px 25px;
    pointer-events: none; /* Evita que la rejilla interfiera si hay links abajo */
    z-index: 0; /* Detrás del texto, delante del fondo oscuro */
}

/* EL CONTENIDO (Texto, logos, etc.) */
.footer-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    position: relative;
    z-index: 2; /* Por encima de la rejilla para que se pueda leer perfectamente */
}

.rightsreserved {
    font-family: 'Rationale', sans-serif;
    color: #ff8c00; /* Naranja neón */
    font-size: 0.8rem;
    letter-spacing: 2px;
    text-shadow: 0 0 8px rgba(255, 140, 0, 0.6);
}

.estatus-sistema {
    font-family: 'Rationale', sans-serif;
    color: #7df9ff; /* Cian */
    font-size: 0.9rem;
    opacity: 0.8;
}

/* Animación de parpadeo para el estatus */
.blink-verde {
    color: #00ff00;
    animation: blinker 1.5s linear infinite;
}

@keyframes blinker {
    50% { opacity: 0; }
}

/* Ajuste para móvil */
@media (max-width: 768px) {
    .rightsreserved {
        font-size: 0.6rem;
        text-align: center;
    }
}
