Greasy Fork is available in English.

ASOx32

ASOx32 theme in Windows 95 style Made by Derpz ♥

Tendrás que instalar una extensión para tu navegador como Tampermonkey, Greasemonkey o Violentmonkey si quieres utilizar este script.

You will need to install an extension such as Tampermonkey to install this script.

Tendrás que instalar una extensión como Tampermonkey o Violentmonkey para instalar este script.

Necesitarás instalar una extensión como Tampermonkey o Userscripts para instalar este script.

Tendrás que instalar una extensión como Tampermonkey antes de poder instalar este script.

Necesitarás instalar una extensión para administrar scripts de usuario si quieres instalar este script.

(Ya tengo un administrador de scripts de usuario, déjame instalarlo)

Tendrás que instalar una extensión como Stylus antes de poder instalar este script.

Tendrás que instalar una extensión como Stylus antes de poder instalar este script.

Tendrás que instalar una extensión como Stylus antes de poder instalar este script.

Para poder instalar esto tendrás que instalar primero una extensión de estilos de usuario.

Para poder instalar esto tendrás que instalar primero una extensión de estilos de usuario.

Para poder instalar esto tendrás que instalar primero una extensión de estilos de usuario.

(Ya tengo un administrador de estilos de usuario, déjame instalarlo)

// ==UserScript==
// @name     ASOx32
// @name:ru  ASOx32
// @version  1.2
// @grant    none
// @match		 https://xn--d1ah4a.com/*
// @namespace ASOx32
// @license MIT
// @description ASOx32 theme in Windows 95 style Made by Derpz ♥
// @description:ru ASOx32 тема в стиле Windows 95 Made by Derpz ♥
// ==/UserScript==

const style = document.createElement('style');
style.innerHTML = `
body {
  background: url('https://raw.githubusercontent.com/1dxrpz/ASOx32/refs/heads/main/bliss.jpg') !important;
  background-size: cover !important;          /* Scales to cover container */
  background-position: center !important;      /* Centers the image within the container */
  background-repeat: no-repeat !important;
  background-attachment: fixed !important;
  --text-secondary: black !important;
  --text-primary: black !important;
}

.BLErSWUX {
	border-radius: 0 !important;
}

article .lE9vN8i6,
.MtmuinE5 span,
.MtmuinE5 .vPid2PoY {
	color: white !important;
  font-weight: 600;
}

article .cGo-pqMK,
._8yAtdePh .MtmuinE5,
.jnSbHonP .MtmuinE5 {
	position: absolute;
  left: 10px;
  top: 5px;
  color: white !important;
  width: 100%;
}

.JNwvD1Vo,
.rjatUzSP,
.mJqJVajZ,
.QT6-NgzT,
section,
.mPvkVXNc,
article,
.CsIbGceP,
._4DLI4vxA,
.jnSbHonP,
.PUa4FZiJ,
._8yAtdePh,
.crrL7XgI {
  position: relative;
  background: #c0c0c0 !important;
  padding: 28px 12px 12px 12px; /* extra top space for title */
  font-family: Consolas, sans-serif !important;
  color: black !important;

  /* outer bevel */
  border-top: 2px solid #ffffff;
  border-left: 2px solid #ffffff;
  border-bottom: 2px solid #404040;
  border-right: 2px solid #404040;
  border-radius: 0 !important;
  /* inner bevel */
  box-shadow:
    inset -2px -2px 0 #808080,
    inset 2px 2px 0 #dfdfdf;
}

.cZnuRugG {
	padding: 0;
  background: #c0c0c0 !important;
}

section span,
article span,
.CsIbGceP span,
._4DLI4vxA,
div[contenteditable="true"] {
  font-family: Consolas, Arial, sans-serif !important;
  color: black !important;
}

article.FdYjPIR3 {
  padding: 10px !important;
  padding-top: 40px !important;
  padding-bottom: 20px !important;
  padding-right: 20px !important;
}

button {
	user-select: none !important;
}

/* title bar using ::before */
section::before,
.mPvkVXNc::before,
article::before,
.CsIbGceP::before,
._8yAtdePh::before,
.jnSbHonP::before {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  right: 2px;
  height: 24px;
  background: linear-gradient(to right, #000080, #1084d0);
  color: white;
  font-weight: bold;
  font-size: 13px;
  line-height: 20px;
  padding-left: 6px;
}

article path,
.CsIbGceP path,
._4DLI4vxA path{
  stroke: black !important;
}
.lqZNoMkv a {
	display: block;
	width: 100% !important;
}

.VLVaXrye,
.MMIk7qf0,
.yIp1zbgr::after,
.lqZNoMkv a,
button,
article footer button,
nav a,
.DecvAv-7 > span,
.r2TckDeC,
._4DLI4vxA button,
.GstMeOlK,
.L6foA0ob,
._0haeBjBl button,
.hSN99swS {
  border-radius: 0 !important;
  background: #c0c0c0 !important;
  padding: 4px 12px !important;
  font-family: "MS Sans Serif", Arial, sans-serif !important;
  font-size: 13px !important;
  color: black !important;
  cursor: pointer !important;

  /* classic raised bevel */
  border-top: 2px solid #ffffff !important;
  border-left: 2px solid #ffffff !important;
  border-bottom: 2px solid #404040 !important;
  border-right: 2px solid #404040 !important;

  box-shadow:
    inset -2px -2px 0 #808080,
    inset 2px 2px 0 #dfdfdf;
}

.L6foA0ob {
	padding: 5px 0 !important;
  position: relative;
  bottom: -10px;
}

nav a {
  margin-bottom: 10px;
}

/* pressed effect */
.VLVaXrye:active,
.lqZNoMkv a:active,
button:active,
.hSN99swS:active,
article footer button:active,
nav a:active,
._4DLI4vxA button:active,
._0haeBjBl button:active,
.GstMeOlK:active,
.L6foA0ob:active {
  border-top: 2px solid #404040;
  border-left: 2px solid #404040;
  border-bottom: 2px solid #ffffff;
  border-right: 2px solid #ffffff;

  box-shadow:
    inset 2px 2px 0 #808080,
    inset -2px -2px 0 #dfdfdf;
}

.lqZNoMkv a:focus,
button:focus,
article footer button:focus,
nav a:focus,
._4DLI4vxA button:focus,
.GstMeOlK:focus,
._0haeBjBl button:focus {
  outline: 1px dotted black;
  outline-offset: -4px;
}

.CNP0fBGd {
	display: flex;
}


.UK-OMndz {
	height: 50px !important;
  top: 50%;
}

.C4SARhpg {
	padding: 0 !important;
  border: none !important;
}
.hWCpL6Hf {
	padding: 9px 10px !important;
}
/* focus state (slightly darker text edge feel) */
.C4SARhpg:focus,
._2sS6K7hx:focus {
  outline: none;
  background: #ffffff;
}

/* disabled look */
.C4SARhpg:disabled {
  background: #c0c0c0;
  color: #808080;
}

.C4SARhpg {
	border-radius: 0;
  oveflow: visible !important;
//   flex: 0 !important;
}

._2mmgs8Ne {
	display: block;
}
.M1orzhg7 {
  flex: 0 !important;
  width: calc(100% - 40px);
}

.Zm7GdliE.vqhGsmVx {
	margin: 0 !important;
  padding: 0 !important;
  transform: none;
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  width: 40px !important;
  height: 100% !important;
}

.UoWopgfe,
textarea,
input.VUVtn1zM,
._2sS6K7hx,
.GKtAeZvh {
	border-radius: 0 !important;
	background: #eee !important;
  border: 2px solid !important;
  border-color: #404040 #FFFFFF #FFFFFF #404040 !important; /* sunken effect */
  padding: 3px 4px !important;
  font-family: Consolas, sans-serif !important;
  font-size: 16px !important;
  color: #000 !important;
  outline: none !important;
  box-sizing: border-box !important;
}

._2sS6K7hx {
	height: 40px;
  padding: 7px !important;
}

input.VUVtn1zM {
	padding: 10px !important;
  padding-left: 50px !important;
}

input:focus {
  border-color: #000000 #FFFFFF #FFFFFF #000000 !important;
  background: #fff !important;
}

.-irX9LBI:not(:last-child) {
  border-bottom: 1px solid #fff;
}

.TCFYTRkG:not(:first-child) {
  padding-left: 30px;
}

.TCFYTRkG:not(:last-child) .VgMMM-FP {
  padding-bottom: 30px;
}

.gRf2HMVj,
.sgbXxBQt {
	border-radius: 0 !important;
  width: 200px;
  background: #C0C0C0;
  border: 2px solid;
  border-radius: 0;
  border-color: #FFFFFF #404040 #404040 #FFFFFF; /* 3D effect */
  padding: 2px;
  font-family: Consolas, sans-serif;
  font-size: 13px;
  color: black;
  box-shadow: none;
}

.sgbXxBQt button {
	transition: 0;
	border: 0 !important;
  box-shadow: none !important;
  padding: 4px 20px 4px 24px !important;
  position: relative;
  cursor: pointer !important;
  white-space: nowrap !important;
}

.sgbXxBQt button:hover,
.csorFBDI:hover {
	transition: 0 !important;
  background: #000080 !important; /* classic navy blue */
  color: #FFFFFF !important;
}
.sgbXxBQt button:hover svg,
.csorFBDI:hover span {
	stroke: #fff;
  color: #fff;
}
.sgbXxBQt svg {
	stroke: #000;
  color: #000;
}

.yfGqJGgk {
	gap: 0;
}

.jnSbHonP {
	padding-bottom: 50px;
}

.nDnu9hhf {
	padding: 0 !important;
}

h1 {
	font-family: Consolas, sans-serif;
  
}

a.jjAXXJME,
.d4whLTgb,
a.NTrrYRK4 {
	text-decoration: none;
  color: magenta !important;
}

a.jjAXXJME:hover {
	text-decoration: underline;
}

.P1lAENLs {
	justify-content: end !important;
  gap: 20px !important;
}

.BZs335wO, .MRPN0AlG {
	border-bottom: none !important;
}
._4M-jb-Yf button {
	padding: 0 !important;
  padding: 0 !important;
  width: 30px;
  height: 23px;
}
._4M-jb-Yf span {
	color: #fff !important;
}
._4M-jb-Yf {
	padding: 0 !important;
  position: absolute !important;
  top: 1px !important;
  width: calc(100% - 30px);
  left: 15px;
}

.bDtnMOtP {
	background: none !important;
  gap: 10px;
}

.mPvkVXNc {
	padding: 30px 0px 0px 0px;
}

.docWdaJH {
	position: relative;
  top: -21px;
  color: #fff;
}

.docWdaJH h2 {
	color: #fff;
}

.QT6-NgzT .d4whLTgb:hover {
	text-decoration: underline;
}

.yIp1zbgr::after {
	padding: 0 !important;
  top: 0 !important;
}

.rvWQR6Xa {
	background: none !important;
}

.BbGOi3lO nav {
	row-gap: 8px;
  display: flex;
  flex-direction: column;
}

.gRf2HMVj {
	background: none !important;
}

.gRf2HMVj button {
	border: 0 !important;
  box-shadow: none;
  
}

.gRf2HMVj button:hover {
	background: #000080 !important;
  color: #fff !important;
}

.mC4WabM6 {
	padding: 5px !important;
  position: relative;
  top: 44px;
  z-index: 1;
  height: 23px;
  right: 15px;
}

.bDtnMOtP {
	backdrop-filter: none !important;
}

input {
	border-radius: none !important;
}

html {
	--bg-primary: #c0c0c0 !important;
}

button.yAXdi86A,
button.elFWsy5U,
button._6XVFDO74,
button.y-9i4poD,
.JNwvD1Vo button{
	padding: 5px !important;
}

._3x0lVqeJ {
	padding-top: 30px;
}

`;
document.head.appendChild(style);

(function () {
  // Inject CSS
  const style = document.createElement('style');
  style.textContent = `
    #root {
      opacity: 0;
      transition: opacity 2s ease;
    }

    #win95-login {
      position: fixed;
      inset: 0;
      background: #008080;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: opacity 1s ease;
      z-index: 9999;
    }

    #win95-login.hidden {
      opacity: 0;
      pointer-events: none;
    }

    .win95-window {
      width: 300px;
      background: #C0C0C0;
      border: 2px solid;
      border-color: #FFFFFF #404040 #404040 #FFFFFF;
      font-family: Tahoma, sans-serif;
      font-size: 13px;
    }

    .title-bar {
      background: #000080;
      color: white;
      padding: 4px 6px;
      font-weight: bold;
    }

    .content {
      padding: 12px;
      display: flex;
      flex-direction: column;
      gap: 8px;
    }

    input {
      border: 2px solid;
      border-color: #404040 #FFFFFF #FFFFFF #404040;
      padding: 4px;
      font-family: inherit;
    }

    button {
      align-self: flex-end;
      padding: 4px 10px;
      background: #C0C0C0;
      border: 2px solid;
      border-color: #FFFFFF #404040 #404040 #FFFFFF;
      cursor: pointer;
    }

    button:active {
      border-color: #404040 #FFFFFF #FFFFFF #404040;
    }
    
    .bDtnMOtP {
    	padding: 0 !important;
      background: none !important;
      gap: 10px;
    }
    .prof_cont {
    	height: 50px;
      font-size: 24pt !important;
    }
    .prof_cont .profile_link {
    	display: inline;
    }
    .prof_cont .profile_link {
    	color: magenta;
      text-decoration: none !important;
    }
    
    .prof_cont .profile_link:hover {
    	text-decoration: underline !important;
    }
  `;
  document.head.appendChild(style);

  // Wait for DOM
  window.addEventListener('load', () => {
    const root = document.querySelector('#root');

    // Create login UI
    const login = document.createElement('div');
    login.id = 'win95-login';
    login.innerHTML = `
      <div class="win95-window">
        <div class="title-bar">Welcome to ASO x32 v1.2</div>
        <div class="content">
        	<div class="prof_cont">
          Made by <a href="https://итд.com/@derpz" class="profile_link">Dxrpz</a>
          </div>
          <button id="win95-login-btn">Login</button>
        </div>
      </div>
    `;
    document.body.appendChild(login);

    const btn = document.getElementById('win95-login-btn');
    
    btn.addEventListener('click', () => {
      const audio = new Audio('https://github.com/1dxrpz/ASOx32/raw/refs/heads/main/win95.ogg');
      audio.volume = 0.6;

      audio.play().catch(() => {
        const resume = () => {
          audio.play();
          window.removeEventListener('click', resume);
        };
        window.addEventListener('click', resume);
      });

      // Fade out login
      login.classList.add('hidden');

      // Show root
      setTimeout(() => {
        if (root) root.style.opacity = '1';
      }, 500);

      // Remove login after animation
      setTimeout(() => {
        login.remove();
      }, 1000);
    });
  });
})();

const clickSound = new Audio('https://github.com/1dxrpz/ASOx32/raw/refs/heads/main/click.mp3');
  clickSound.volume = 0.5;

  function playClickSound() {
    // clone so rapid clicks don't cut off sound
    const s = clickSound.cloneNode();
    s.play().catch(() => {});
  }

  document.addEventListener('click', (e) => {
    const target = e.target.closest('button, a');
    if (target) {
      playClickSound();
    }
  });