
*{box-sizing:border-box}
html,body{
  width:100%;
  height:100%;
  margin:0;
  overflow:hidden;
  font-family:"MS Sans Serif", Tahoma, Arial, sans-serif;
  font-size:11px;
  color:#000;
  cursor:url('assets/cursor-win98.png') 1 1, default;
}
button,a,input,iframe{font:inherit;cursor:url('assets/cursor-win98.png') 1 1, pointer}
body{background:#008080}
.desktop-bg{position:fixed;inset:0;background:#008080}
.boot-screen{
  position:fixed;inset:0;display:flex;align-items:center;justify-content:center;
  background:#000;z-index:2000;color:#c0c0c0;font-family:"Courier New", monospace;
}
.boot-hidden{display:none}
.boot-box{width:360px;text-align:center}
.boot-title{font-size:22px;color:#fff;margin-bottom:14px}
.boot-bar{height:18px;border:2px solid #7f7f7f;background:#111;padding:2px}
.boot-bar span{display:block;height:100%;width:0;background:#00a2ff;transition:width 2.2s linear}
.boot-sub{margin-top:12px;font-size:14px;color:#b5b5b5}

.desktop{position:relative;height:calc(100% - 28px)}
.desktop-icons{
  position:absolute;
  top:14px;
  left:12px;
  bottom:40px;
  display:grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(9, max-content);
  grid-auto-columns: 118px;
  column-gap: 18px;
  row-gap: 14px;
  align-content:start;
  justify-content:start;
}
.desktop-icon{
  width:120px;
  min-height:82px;
  border:none;
  background:transparent;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:5px;
  padding:4px 2px;
  color:#000;
  text-decoration:none;
  transition:transform .12s ease;
}
.desktop-icon:hover{transform:scale(1.04)}
.desktop-icon img{
  width:36px;
  height:36px;
  object-fit:contain;
  image-rendering:pixelated;
}
.desktop-icon span{
  display:block;
  width:100%;
  color:#000;
  text-align:center;
  line-height:1.1;
  font-size:12px;
  text-shadow:none;
  word-break:break-word;
}

.corner-neko{
  position:fixed;right:14px;bottom:34px;width:44px;height:44px;pointer-events:none;z-index:4;opacity:.92
}
.corner-neko img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated;transition:transform .2s ease, opacity .2s ease}
.corner-neko:hover img{transform:scale(1.2);opacity:1}

.win98{
  position:absolute;background:#c0c0c0;
  border-top:2px solid #fff;border-left:2px solid #fff;border-right:2px solid #404040;border-bottom:2px solid #404040;
  box-shadow:1px 1px 0 #808080;z-index:20
}
.hidden{display:none!important}
.titlebar{
  height:22px;display:flex;align-items:center;justify-content:space-between;padding:0 4px 0 7px;
  color:#fff;font-weight:700;background:#000080;cursor:move
}
.title{font-size:12px}
.controls{display:flex;gap:2px}
.title-btn{
  width:16px;height:16px;padding:0;border-top:1px solid #fff;border-left:1px solid #fff;border-right:1px solid #404040;border-bottom:1px solid #404040;
  background:#c0c0c0;color:#000;line-height:1
}
.window-body{padding:10px}

.music-window{
  position:fixed;top:6px;left:50%;transform:translateX(-50%);width:252px;z-index:45
}
.music-body{padding:5px 6px}
.retro-player{display:grid;grid-template-columns:22px 22px 22px 1fr 22px auto;gap:4px;align-items:center}
.player-btn{
  width:22px;height:22px;padding:0;border-top:2px solid #fff;border-left:2px solid #fff;border-right:2px solid #808080;border-bottom:2px solid #808080;background:#c0c0c0;font-size:11px;display:flex;align-items:center;justify-content:center
}
.player-track{height:10px;border-top:2px solid #808080;border-left:2px solid #808080;border-right:2px solid #fff;border-bottom:2px solid #fff;background:#efefef;position:relative;cursor:pointer}
.player-progress{position:absolute;left:0;top:0;bottom:0;width:0;background:#000080}
.player-time{font-family:"MS Sans Serif",Tahoma,Arial,sans-serif;font-size:10px;min-width:62px;text-align:right}

.contract-window{
  position:fixed;top:8px;right:10px;width:338px;z-index:44
}
.contract-body{padding:6px}
.text-input{
  width:100%;min-height:48px;padding:5px 6px;border-top:2px solid #808080;border-left:2px solid #808080;border-right:2px solid #fff;border-bottom:2px solid #fff;background:#fff;margin-bottom:6px;font-size:11px;line-height:1.25;white-space:normal;overflow-wrap:anywhere;resize:none
}
.contract-textarea{font-family:"MS Sans Serif",Tahoma,Arial,sans-serif}
.button{
  height:26px;border-top:2px solid #fff;border-left:2px solid #fff;border-right:2px solid #808080;border-bottom:2px solid #808080;
  background:#c0c0c0;color:#000;text-decoration:none;display:flex;align-items:center;justify-content:center
}
.button.small{width:82px}
.button.full{width:100%}
.button:active,.player-btn:active,.start-button:active,.title-btn:active{
  border-top:2px solid #808080;border-left:2px solid #808080;border-right:2px solid #fff;border-bottom:2px solid #fff
}

#window-info{width:min(760px,calc(100vw - 120px));height:calc(100vh - 84px);left:120px;top:38px;display:flex;flex-direction:column}
.info-wrap{padding:6px;flex:1;min-height:0}
.info-frame{width:100%;height:100%;border:none;background:#fff;border-top:1px solid #808080;border-left:1px solid #808080;border-right:1px solid #fff;border-bottom:1px solid #fff}

#window-recycle{width:300px;height:140px;left:180px;top:100px}
.recycle-body{display:flex;align-items:center;gap:12px;height:80px}
.recycle-body img{width:34px;height:34px;image-rendering:pixelated}

#window-library{width:min(1240px,calc(100vw - 40px));height:calc(100vh - 84px);left:48px;top:42px;display:flex;flex-direction:column}
.library-body{padding:10px;display:grid;grid-template-columns:1fr 290px;gap:12px;flex:1;min-height:0}
.icon-viewer-wrap{
  border-top:2px solid #808080;border-left:2px solid #808080;border-right:2px solid #fff;border-bottom:2px solid #fff;background:#efefef;min-height:0;overflow:auto;padding:12px
}
.style-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:10px;align-content:start}
.style-card{
  min-height:98px;border:1px solid #d0d0d0;background:#f5f5f5;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:8px;transition:transform .1s ease
}
.style-card:hover{transform:scale(1.02)}
.style-card.active{outline:2px solid #9bbcf9;outline-offset:-2px}
.style-card img{width:50px;height:50px;object-fit:contain;image-rendering:pixelated}
.style-card span{font-size:10px;line-height:1.1;text-align:center}
.preview-panel{
  border-top:2px solid #808080;border-left:2px solid #808080;border-right:2px solid #fff;border-bottom:2px solid #fff;background:#c0c0c0;padding:12px;display:flex;flex-direction:column
}
.preview-title{font-weight:700;margin-bottom:10px}
.preview-box{
  width:100%;aspect-ratio:1/1;min-height:220px;border-top:2px solid #808080;border-left:2px solid #808080;border-right:2px solid #fff;border-bottom:2px solid #fff;background:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:10px
}
.preview-box img{width:150px;height:150px;image-rendering:pixelated}
.preview-name{min-height:34px;margin-bottom:10px}


#window-pfp{width:min(1440px,calc(100vw - 28px));height:calc(100vh - 70px);left:18px;top:24px;display:flex;flex-direction:column}
.pfp-body{padding:10px;display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:14px;flex:1;min-height:0}
.pfp-gallery-wrap{border-top:2px solid #808080;border-left:2px solid #808080;border-right:2px solid #fff;border-bottom:2px solid #fff;background:#efefef;min-height:0;overflow:auto;padding:12px}
.pfp-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.pfp-toolbar-title{font-weight:700;font-size:15px}
.pfp-skin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(122px,1fr));gap:10px;align-content:start}
.pfp-skin-card{min-height:148px;border:1px solid #9a9a9a;background:#f5f5f5;padding:8px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;transition:transform .1s ease, box-shadow .1s ease}
.pfp-skin-card:hover{transform:translateY(-1px);box-shadow:0 0 0 2px #9bbcf9 inset}
.pfp-skin-card.active{outline:2px solid #000080;outline-offset:-2px;background:#eaf0ff}
.pfp-skin-card img{width:92px;height:92px;image-rendering:pixelated;object-fit:contain;background:#ffffff;border-top:2px solid #808080;border-left:2px solid #808080;border-right:2px solid #fff;border-bottom:2px solid #fff}
.pfp-skin-card span{font-size:11px;text-transform:capitalize;line-height:1.15;text-align:center}
.pfp-preview-panel{border-top:2px solid #808080;border-left:2px solid #808080;border-right:2px solid #fff;border-bottom:2px solid #fff;background:#c0c0c0;padding:12px;display:flex;flex-direction:column;min-height:0;overflow:auto}
.pfp-preview-frame{width:100%;aspect-ratio:1/1;border-top:2px solid #808080;border-left:2px solid #808080;border-right:2px solid #fff;border-bottom:2px solid #fff;background:#d4d0c8;display:flex;align-items:center;justify-content:center;margin-bottom:10px;padding:8px;overflow:hidden}
#pfpCanvas{width:100%;height:auto;max-width:360px;image-rendering:pixelated;display:block;background:#ffffff}
.pfp-meta{min-height:42px;font-size:11px;line-height:1.35;margin-bottom:10px}
.pfp-bg-title{font-weight:700;margin-bottom:8px}
.pfp-bg-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:12px}
.pfp-bg-swatch{height:28px;border-top:2px solid #fff;border-left:2px solid #fff;border-right:2px solid #808080;border-bottom:2px solid #808080}
.pfp-bg-swatch.active{outline:2px solid #000080;outline-offset:-2px}
.pfp-actions{margin-top:auto}

#window-chat{width:min(980px,calc(100vw - 180px));height:calc(100vh - 86px);left:220px;top:42px;display:flex;flex-direction:column}
.chat-menubar{height:24px;display:flex;align-items:center;padding:0 10px;gap:16px;background:#c0c0c0}
.chat-toolbar{display:flex;gap:8px;padding:8px 12px 6px;background:#d4d0c8}
.chat-body{padding:10px 12px 0;flex:1;min-height:0}
.chat-scroll{
  height:100%;overflow:auto;background:#fff;
  border-top:2px solid #808080;border-left:2px solid #808080;border-right:2px solid #fff;border-bottom:2px solid #fff;
  padding:12px 14px;
  font-family:"MS Sans Serif", Tahoma, Arial, sans-serif;
  font-size:12px;line-height:1.35;
  background-image:repeating-linear-gradient(to bottom,#ffffff 0px,#ffffff 17px,#fbfbfb 18px);
}
.chat-msg{margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid #d9d9d9}
.chat-msg:last-child{border-bottom:none}
.chat-head{margin-bottom:4px}
.chat-role-user{color:#b00000;font-weight:700}
.chat-role-ai{color:#001d99;font-weight:700}
.chat-time{color:#666}
.chat-text{white-space:pre-wrap;word-break:break-word;color:#111}
.chat-typing{color:#001d99;font-weight:700}
.chat-inputbar{display:grid;grid-template-columns:1fr 130px;gap:10px;padding:10px 12px}
.chat-inputbar input{
  width:100%;height:34px;padding:0 10px;border-top:2px solid #808080;border-left:2px solid #808080;border-right:2px solid #fff;border-bottom:2px solid #fff;background:#fff;
  font-family:"MS Sans Serif",Tahoma,Arial,sans-serif;font-size:12px
}
.send-btn{height:34px}
.chat-statusbar{
  height:24px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;border-top:1px solid #808080
}

#window-minesweeper{width:360px;height:330px;left:160px;top:120px}
.mine-body{padding:10px}
.mine-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px;margin-bottom:8px;border-top:2px solid #808080;border-left:2px solid #808080;border-right:2px solid #fff;border-bottom:2px solid #fff;background:#c0c0c0}
.mine-counter{min-width:54px;background:#000;color:#ff2020;font-family:"Courier New",monospace;font-size:22px;text-align:center;padding:3px 6px}
.mine-face{width:34px;height:34px;border-top:2px solid #fff;border-left:2px solid #fff;border-right:2px solid #808080;border-bottom:2px solid #808080;background:#c0c0c0;font-size:18px}
.mine-board{display:grid;grid-template-columns:repeat(9,24px);grid-template-rows:repeat(9,24px);width:max-content;border-top:2px solid #808080;border-left:2px solid #808080;border-right:2px solid #fff;border-bottom:2px solid #fff;background:#c0c0c0}
.mine-cell{width:24px;height:24px;border-top:1px solid #fff;border-left:1px solid #fff;border-right:1px solid #808080;border-bottom:1px solid #808080;background:#c9c9c9;font-weight:700;display:flex;align-items:center;justify-content:center}
.mine-cell.revealed{border:1px solid #999;background:#d7d7d7}
.mine-cell.mine{background:#f0b3b3}
.mine-cell.flagged{color:#c00}

.taskbar{
  position:fixed;left:0;right:0;bottom:0;height:27px;display:flex;align-items:center;gap:4px;padding:2px;background:#c0c0c0;border-top:1px solid #fff;z-index:60
}
.start-button{
  height:23px;min-width:94px;padding:0 8px;display:flex;align-items:center;gap:6px;border-top:2px solid #fff;border-left:2px solid #fff;border-right:2px solid #808080;border-bottom:2px solid #808080;background:#c0c0c0;font-weight:700
}
.start-icon{width:16px;height:16px;object-fit:contain;image-rendering:pixelated}
.taskbar-windows{flex:1;display:flex;gap:4px;overflow:hidden}
.task-btn{
  height:23px;min-width:180px;padding:0 6px 0 10px;display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:2px solid #fff;border-left:2px solid #fff;border-right:2px solid #808080;border-bottom:2px solid #808080;background:#c0c0c0
}
.task-btn.active{border-top:2px solid #808080;border-left:2px solid #808080;border-right:2px solid #fff;border-bottom:2px solid #fff;background:#b9b9b9}
.task-btn-close{width:18px;height:18px;border:none;background:transparent}
.taskbar-end{
  min-width:116px;height:24px;display:flex;align-items:center;justify-content:center;gap:6px;border-top:1px solid #808080;border-left:1px solid #808080;border-right:1px solid #fff;border-bottom:1px solid #fff;background:#c0c0c0
}
.tray-network{width:16px;height:16px;object-fit:contain;image-rendering:pixelated;background:#000;border-radius:2px}

#oneko{z-index:2147483647!important;transform:scale(1.45);transform-origin:top left}


/* v3 polish */
.boot-screen{
  position:fixed; inset:0; background:#000; z-index:5000;
  display:flex; align-items:center; justify-content:center;
}
.boot-screen.hidden{display:none!important}
.boot-center{
  width:420px; text-align:center; color:#fff;
  font-family:"Courier New", Courier, monospace;
}
.boot-neko{
  width:84px; height:84px; object-fit:contain; image-rendering:pixelated;
  margin:0 auto 16px auto; display:block;
}
.boot-logo-text{
  font-size:34px; font-weight:700; letter-spacing:2px; margin-bottom:18px; color:#fff;
}
.boot-progress-frame{
  width:300px; height:22px; margin:0 auto 12px auto; padding:2px;
  background:#c0c0c0;
  border-top:2px solid #808080; border-left:2px solid #808080;
  border-right:2px solid #fff; border-bottom:2px solid #fff;
}
.boot-progress-fill{
  height:100%; width:0%;
  background:repeating-linear-gradient(90deg,#000080 0 16px,#1084d0 16px 32px);
  transition:width .28s linear;
}
.boot-status{
  color:#a8a8a8; font-size:14px; min-height:18px;
}
.chat-statusbar{justify-content:flex-end!important}
#chatStatus{display:none!important}
.corner-neko{
  width:42px!important; height:42px!important; right:12px!important; bottom:34px!important;
}
.titlebar{
  background:#000080!important;
  height:22px!important;
}
.title{font-size:11px!important}
#window-chat{
  width:min(980px,calc(100vw - 170px))!important;
  top:42px!important;
}
#window-library{
  width:min(1260px,calc(100vw - 28px))!important;
  top:38px!important;
}
.music-window{
  width:220px!important;
}
.contract-window{
  width:280px!important;
}
.retro-player{
  grid-template-columns:22px 22px 22px 1fr auto!important;
  gap:4px!important;
}
.player-btn{
  width:22px!important; height:22px!important; font-size:11px!important;
}
.chat-scroll{
  font-size:12px!important;
  line-height:1.35!important;
  font-family:"MS Sans Serif","Courier New",monospace!important;
}
.chat-msg{margin-bottom:10px!important; padding-bottom:6px!important}
.taskbar{height:28px!important}
.task-btn,.start-button,.taskbar-end{height:23px!important}


/* final deploy polish */
.music-window{
  z-index: 8 !important;
  width: 205px !important;
  top: 8px !important;
}
.contract-window{
  z-index: 9 !important;
  width: 255px !important;
  top: 8px !important;
  right: 8px !important;
}
.win98{
  z-index: 20;
}
.titlebar{
  background: #000080 !important;
  height: 21px !important;
  padding: 0 4px 0 7px !important;
}
#window-chat{
  width: min(930px, calc(100vw - 170px)) !important;
  height: calc(100vh - 76px) !important;
}
#window-library{
  width: min(1210px, calc(100vw - 22px)) !important;
  height: calc(100vh - 74px) !important;
}
.boot-screen{
  position: fixed;
  inset: 0;
  background: #000;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 5000;
}
.boot-screen.hidden{
  display: none !important;
}
.boot-panel{
  width: 260px;
  text-align: center;
  font-family: "MS Sans Serif", Tahoma, Arial, sans-serif;
}
.boot-win-logo{
  width: 66px;
  height: 66px;
  image-rendering: pixelated;
  object-fit: contain;
  display: block;
  margin: 0 auto 18px auto;
}
.boot-progress-shell{
  width: 210px;
  margin: 0 auto 10px auto;
  padding: 2px;
  background: #c0c0c0;
  border-top: 2px solid #808080;
  border-left: 2px solid #808080;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
}
.boot-progress-lane{
  height: 14px;
  background: #d4d0c8;
  border: 1px solid #808080;
  overflow: hidden;
}
.boot-progress-fill{
  height: 100%;
  width: 0%;
  background: repeating-linear-gradient(
    90deg,
    #ff0000 0 10px,
    #ff0000 10px 14px,
    #0000ff 14px 24px,
    #0000ff 24px 28px,
    #008000 28px 38px,
    #008000 38px 42px,
    #ffff00 42px 52px,
    #ffff00 52px 56px
  );
}
.boot-status{
  color: #bdbdbd;
  font-size: 11px;
  min-height: 16px;
}
.corner-neko{
  width: 38px !important;
  height: 38px !important;
}
.chat-scroll{
  font-size: 12px !important;
}
.player-btn{
  width: 20px !important;
  height: 20px !important;
}
.player-time{
  min-width: 58px !important;
}


/* ultra final win98 polish */
html, body{
  font-family: Tahoma, "MS Sans Serif", Arial, sans-serif !important;
}
.desktop-bg{
  background:#008080 !important;
}
.win98{
  background:#c0c0c0 !important;
  border-top:2px solid #dfdfdf !important;
  border-left:2px solid #dfdfdf !important;
  border-right:2px solid #404040 !important;
  border-bottom:2px solid #404040 !important;
  box-shadow:
    inset -1px -1px 0 #808080,
    inset 1px 1px 0 #ffffff,
    1px 1px 0 rgba(0,0,0,0.18) !important;
}
.titlebar{
  background:linear-gradient(90deg,#000080 0%, #0a2fb4 55%, #1084d0 100%) !important;
  height:20px !important;
  padding:0 3px 0 5px !important;
  font-size:11px !important;
}
.title{
  font-size:11px !important;
  letter-spacing:0 !important;
}
.title-btn{
  width:16px !important;
  height:14px !important;
  font-size:10px !important;
  border-top:1px solid #fff !important;
  border-left:1px solid #fff !important;
  border-right:1px solid #000 !important;
  border-bottom:1px solid #000 !important;
  box-shadow: inset -1px -1px 0 #808080, inset 1px 1px 0 #dfdfdf !important;
}
.window-body{
  padding:8px !important;
}
.chat-menubar{
  height:24px !important;
  gap:14px !important;
  padding:0 10px !important;
}
.chat-toolbar{
  gap:6px !important;
  padding:6px 10px !important;
}
.button.small{
  width:86px !important;
  height:30px !important;
}
.chat-body{
  padding:8px 10px 0 !important;
}
.chat-scroll{
  padding:10px 12px !important;
  font-family:"Courier New", monospace !important;
  font-size:12px !important;
  line-height:1.34 !important;
  background:#fff !important;
  border-top:2px solid #808080 !important;
  border-left:2px solid #808080 !important;
  border-right:2px solid #fff !important;
  border-bottom:2px solid #fff !important;
}
.chat-inputbar{
  grid-template-columns:1fr 120px !important;
  gap:8px !important;
  padding:8px 10px !important;
}
.chat-inputbar input{
  height:32px !important;
  font-size:12px !important;
}
.send-btn{
  height:32px !important;
}
.chat-statusbar{
  height:22px !important;
  padding:0 8px !important;
  font-size:11px !important;
}
.music-window{
  width:198px !important;
  top:7px !important;
}
.music-body{
  padding:4px 5px !important;
}
.retro-player{
  grid-template-columns:18px 18px 18px 1fr 18px !important;
  gap:4px !important;
}
.player-btn{
  width:18px !important;
  height:18px !important;
  font-size:9px !important;
  background:#c0c0c0 !important;
  padding:0 !important;
}
.player-track{
  height:12px !important;
  background:#efefef !important;
  border-top:2px solid #808080 !important;
  border-left:2px solid #808080 !important;
  border-right:2px solid #fff !important;
  border-bottom:2px solid #fff !important;
  position:relative;
  cursor:pointer;
}
.player-progress{
  background:repeating-linear-gradient(90deg,#000080 0 6px,#1084d0 6px 12px) !important;
}
.player-time{
  font-size:10px !important;
  min-width:52px !important;
  display:none !important;
}
.contract-window{
  width:248px !important;
  top:7px !important;
  right:7px !important;
}
.text-input{
  height:22px !important;
  margin-bottom:6px !important;
}
.taskbar{
  height:30px !important;
  padding:2px !important;
  background:#c0c0c0 !important;
  border-top:1px solid #dfdfdf !important;
  box-shadow: inset 0 1px 0 #fff !important;
}
.start-button{
  min-width:78px !important;
  height:24px !important;
  padding:0 8px !important;
  font-size:12px !important;
  gap:4px !important;
}
.start-icon{
  width:16px !important;
  height:16px !important;
}
.taskbar-windows{
  gap:3px !important;
}
.task-btn{
  min-width:165px !important;
  height:24px !important;
  font-size:11px !important;
}
.taskbar-end{
  min-width:96px !important;
  height:24px !important;
  font-size:11px !important;
}
.desktop-icons{
  top:9px !important;
  left:7px !important;
  gap:6px !important;
}
.desktop-icon{
  min-height:55px !important;
}
.desktop-icon img{
  width:32px !important;
  height:32px !important;
}
#window-chat{
  width:min(900px, calc(100vw - 180px)) !important;
  height:calc(100vh - 76px) !important;
  top:44px !important;
}
#window-library{
  width:min(1180px, calc(100vw - 20px)) !important;
  height:calc(100vh - 76px) !important;
  top:40px !important;
}
#window-info{
  top:44px !important;
  height:calc(100vh - 84px) !important;
}
#window-minesweeper{
  top:96px !important;
}
.boot-panel{
  width:240px !important;
}
.boot-win-logo{
  width:58px !important;
  height:58px !important;
  margin-bottom:14px !important;
}
.boot-progress-shell{
  width:190px !important;
}
.boot-status{
  font-size:10px !important;
}
.corner-neko{
  width:34px !important;
  height:34px !important;
  opacity:.84 !important;
}
.style-card{
  min-height:92px !important;
}
.style-card img{
  width:44px !important;
  height:44px !important;
}
.preview-panel{
  padding:10px !important;
}
.preview-box img{
  width:132px !important;
  height:132px !important;
}


/* clean final fixes */
.boot-screen{position:fixed;inset:0;background:#000;display:flex;align-items:center;justify-content:center;z-index:5000}
.boot-screen.hidden{display:none!important}
.boot-center{width:220px;text-align:center;font-family:Tahoma,"MS Sans Serif",Arial,sans-serif}
.boot-neko{width:54px;height:54px;display:block;margin:0 auto 10px auto;image-rendering:pixelated;object-fit:contain}
.boot-logo-text{color:#fff;font-size:28px;font-weight:700;letter-spacing:1px;margin-bottom:10px}
.boot-progress-wrap{
  width:180px;height:12px;margin:0 auto 8px auto;
  border-top:1px solid #404040;border-left:1px solid #404040;border-right:1px solid #c0c0c0;border-bottom:1px solid #c0c0c0;
  background:#111;overflow:hidden
}
.boot-progress-fill{
  width:0;height:100%;
  background-image:url('assets/boot-rainbow.png');
  background-repeat:repeat-x;
  image-rendering:pixelated;
}
.boot-status{color:#adadad;font-size:10px;min-height:14px}

.titlebar{background:#000080!important;height:20px!important;padding:0 3px 0 6px!important}
.win98{
  border-top:2px solid #dfdfdf!important;border-left:2px solid #dfdfdf!important;border-right:2px solid #404040!important;border-bottom:2px solid #404040!important;
  box-shadow: inset -1px -1px 0 #808080, inset 1px 1px 0 #ffffff !important;
}
.taskbar{height:28px!important;padding:2px!important;background:#c0c0c0!important;border-top:1px solid #fff!important}
.start-button,.task-btn,.taskbar-end{height:23px!important}
.music-window{width:182px!important;top:8px!important;z-index:8!important}
.contract-window{width:245px!important;top:8px!important;right:8px!important;z-index:9!important}
.retro-player{display:grid!important;grid-template-columns:18px 18px 18px 1fr 18px!important;gap:4px!important;align-items:center}
.player-btn{width:18px!important;height:18px!important;font-size:9px!important;padding:0!important}
.player-track{
  height:10px!important;position:relative;overflow:hidden;background:#efefef!important;
  border-top:2px solid #808080!important;border-left:2px solid #808080!important;border-right:2px solid #fff!important;border-bottom:2px solid #fff!important
}
.player-progress{height:100%;width:0;background-image:url('assets/boot-rainbow.png');background-repeat:repeat-x;background-size:auto 100%}
.chat-statusbar{justify-content:space-between!important}
#chatStatus{display:block!important;font-size:11px;color:#444}
#window-chat{width:min(900px,calc(100vw - 180px))!important;height:calc(100vh - 76px)!important;top:44px!important}
#window-library{width:min(1180px,calc(100vw - 20px))!important;height:calc(100vh - 76px)!important;top:40px!important}
.corner-neko{width:34px!important;height:34px!important;opacity:.84!important}


#window-arena{
  width:min(760px, calc(100vw - 180px));
  height:calc(100vh - 90px);
  left:220px;
  top:48px;
  display:flex;
  flex-direction:column;
}

.arena-body{
  display:flex;
  flex-direction:column;
  gap:8px;
  height:100%;
}

.arena-topbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-family:"Courier New", monospace;
  font-size:12px;
}

.arena-area{
  position:relative;
  flex:1;
  min-height:300px;
  overflow:hidden;
  background:#000;
  border-top:2px solid #808080;
  border-left:2px solid #808080;
  border-right:2px solid #fff;
  border-bottom:2px solid #fff;
}

.arena-neko{
  position:absolute;
  width:32px;
  height:32px;
  image-rendering:pixelated;
  pointer-events:none;
  background-image:url('assets/oneko.gif');
  background-repeat:no-repeat;
  background-size:256px 128px;
  transform:translate(-16px,-16px);
}

.arena-cursor-marker{
  position:absolute;
  width:12px;
  height:12px;
  border:1px solid #fff;
  background:#000080;
  pointer-events:none;
}

.arena-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.arena-status{
  font-size:11px;
  color:#333;
  min-height:14px;
}


.app-window{
  width:min(980px, calc(100vw - 180px));
  height:min(760px, calc(100vh - 72px));
  display:flex;
  flex-direction:column;
}
#iframeHack{}
.iframe-window-body,
.paint-window-body{
  padding:6px;
  height:calc(100% - 22px);
  display:flex;
  flex-direction:column;
  gap:6px;
}
.app-frame{
  width:100%;
  height:100%;
  min-height:420px;
  border-top:2px solid #808080;
  border-left:2px solid #808080;
  border-right:2px solid #fff;
  border-bottom:2px solid #fff;
  background:#fff;
}
.paint-toolbar{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  align-items:center;
}


.paint-zoom-hint{
  font-size:11px;
  color:#000;
  padding-left:4px;
  align-self:center;
}

.start-menu{
  position:fixed;
  left:2px;
  bottom:29px;
  width:260px;
  display:flex;
  border-top:2px solid #fff;
  border-left:2px solid #fff;
  border-right:2px solid #808080;
  border-bottom:2px solid #808080;
  background:#c0c0c0;
  z-index:90;
}
.start-menu.hidden{display:none}
.start-menu-side{
  width:28px;
  background:linear-gradient(180deg,#000080,#1084d0);
  color:#fff;
  writing-mode:vertical-rl;
  text-orientation:mixed;
  transform:rotate(180deg);
  padding:8px 4px;
  font-weight:700;
  letter-spacing:.3px;
  text-align:center;
  font-family:"MS Sans Serif",Tahoma,Arial,sans-serif;
  font-size:12px;
}
.start-menu-main{
  flex:1;
  padding:4px;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.start-item{
  min-height:36px;
  display:flex;
  align-items:center;
  gap:9px;
  padding:5px 9px;
  border:none;
  background:transparent;
  color:#000;
  text-decoration:none;
  font-size:12px;
  font-family:"MS Sans Serif",Tahoma,Arial,sans-serif;
}
.start-item:hover{background:#000080;color:#fff}
.start-item img{width:20px;height:20px;object-fit:contain;image-rendering:pixelated;flex:0 0 auto}
.start-button{
  min-width:80px;
}
.start-icon{width:18px;height:18px;object-fit:contain;image-rendering:pixelated}
.win98{
  box-shadow:none;
}


/* help window full-height fix */
#window-help{
  display:flex;
  flex-direction:column;
  min-height:0;
}
#window-help .window-body{
  flex:1;
  min-height:0;
  padding:6px;
}
#window-help .info-wrap{
  display:flex;
  flex:1;
  min-height:0;
  padding:0;
}
#window-help .info-frame{
  width:100%;
  height:100%;
  min-height:100%;
  border:none;
  display:block;
  background:#c0c0c0;
}


.tray-button{
  width:24px;height:22px;padding:0;
  display:flex;align-items:center;justify-content:center;
  border-top:1px solid #fff;border-left:1px solid #fff;border-right:1px solid #808080;border-bottom:1px solid #808080;
  background:#c0c0c0;
}
.tray-button:active{
  border-top:1px solid #808080;border-left:1px solid #808080;border-right:1px solid #fff;border-bottom:1px solid #fff;
}
.tray-saver-icon{width:16px;height:16px;image-rendering:pixelated;object-fit:contain}

.screensaver-panel{
  position:fixed;
  right:8px;
  bottom:30px;
  width:250px;
  z-index:120;
}
.screensaver-panel.hidden{display:none!important}
.screensaver-panel-body{padding:8px;display:flex;flex-direction:column;gap:8px}
.screensaver-row{
  display:grid;
  grid-template-columns:58px 1fr;
  align-items:center;
  gap:8px;
  font-size:12px;
}
.screensaver-row select{
  height:24px;
  border-top:2px solid #808080;border-left:2px solid #808080;border-right:2px solid #fff;border-bottom:2px solid #fff;
  background:#fff;
}
.checkbox-row{
  grid-template-columns:18px 1fr;
}
.screensaver-panel-actions{display:flex;justify-content:flex-end}
.screensaver-panel-tip{margin:0;font-size:11px;line-height:1.35;color:#333}

.screensaver-overlay{
  position:fixed;
  inset:0;
  z-index:6000;
  background:
    linear-gradient(rgba(0,0,0,.06), rgba(0,0,0,.06)),
    url("assets/desktop-bg.png") center/cover no-repeat,
    #008080;
  overflow:hidden;
  cursor:url("assets/cursor-win98.png"), auto;
}
.screensaver-overlay.hidden{display:none!important}
.screensaver-field{
  position:absolute;
  inset:0;
  overflow:hidden;
}
.screensaver-cat{
  position:absolute;
  width:32px;
  height:32px;
  image-rendering:pixelated;
  pointer-events:none;
  user-select:none;
  will-change:transform,left,top,opacity;
  filter:drop-shadow(0 1px 0 rgba(0,0,0,.28));
}
.screensaver-hud{
  position:absolute;
  left:18px;
  bottom:18px;
  max-width:440px;
  background:rgba(0,0,0,.38);
  color:#fff;
  padding:12px 14px;
  font-family:"MS Sans Serif",Tahoma,Arial,sans-serif;
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter: blur(1px);
}
.screensaver-brand{
  font-size:18px;
  font-weight:700;
  margin-bottom:4px;
}
.screensaver-sub{
  font-size:12px;
  line-height:1.4;
  opacity:.95;
}
.screensaver-controls{
  margin-top:10px;
  display:flex;
  gap:8px;
}
.screensaver-exit-hint{
  position:absolute;
  top:14px;
  right:18px;
  color:#fff;
  background:rgba(0,0,0,.32);
  padding:6px 10px;
  font-size:12px;
  font-family:"MS Sans Serif",Tahoma,Arial,sans-serif;
  border:1px solid rgba(255,255,255,.16);
}
.screensaver-stream-badge{
  position:absolute;
  right:18px;
  bottom:18px;
  color:#fff;
  background:rgba(0,0,0,.42);
  padding:10px 12px;
  font-family:"MS Sans Serif",Tahoma,Arial,sans-serif;
}
.screensaver-stream-title{font-weight:700;font-size:16px}
.screensaver-stream-sub{font-size:12px;opacity:.9}
.screensaver-overlay.stream-mode .screensaver-hud,
.screensaver-overlay.stream-mode .screensaver-exit-hint{
  display:none;
}
body.screensaver-active #oneko,
body.screensaver-active .corner-neko{
  display:none!important;
}


.screensaver-taskbar-btn{
  min-width:118px;
  height:24px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:0 8px;
  font-size:12px;
  font-family:"MS Sans Serif",Tahoma,Arial,sans-serif;
}
.screensaver-taskbar-btn .tray-saver-icon{
  width:16px;
  height:16px;
}
.screensaver-top-exit{
  position:fixed;
  top:8px;
  right:8px;
  z-index:6100;
  min-width:92px;
  height:28px;
  padding:0 10px;
  background:#c0c0c0;
  color:#000;
  border-top:2px solid #fff;
  border-left:2px solid #fff;
  border-right:2px solid #808080;
  border-bottom:2px solid #808080;
  font-family:"MS Sans Serif",Tahoma,Arial,sans-serif;
  font-size:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
}
.screensaver-top-exit:hover{
  background:#d4d0c8;
}


/* main-page screensaver mode */
.screensaver-overlay{
  position:fixed;
  inset:0;
  z-index:3800;
  background:transparent !important;
  pointer-events:none;
}
.screensaver-overlay.hidden{display:none !important}
.screensaver-overlay.active-mainpage{
  background:transparent !important;
}
#screensaverField{
  position:absolute;
  inset:0;
  overflow:hidden;
  pointer-events:none;
}
.screensaver-hud,
.screensaver-stream-badge,
.screensaver-exit-hint{
  pointer-events:none;
}
.screensaver-top-exit,
#screensaverExitBtn{
  pointer-events:auto;
}
.screensaver-taskbar-btn{
  min-width:118px;
  height:24px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:0 8px;
  font-size:12px;
  font-family:"MS Sans Serif",Tahoma,Arial,sans-serif;
}
.screensaver-taskbar-btn .tray-saver-icon{
  width:16px;
  height:16px;
}
.screensaver-top-exit{
  position:fixed;
  top:8px;
  right:8px;
  z-index:6100;
  min-width:92px;
  height:28px;
  padding:0 10px;
  background:#c0c0c0;
  color:#000;
  border-top:2px solid #fff;
  border-left:2px solid #fff;
  border-right:2px solid #808080;
  border-bottom:2px solid #808080;
  font-family:"MS Sans Serif",Tahoma,Arial,sans-serif;
  font-size:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
}
.screensaver-top-exit:hover{background:#d4d0c8}
.screensaver-cat{
  position:absolute;
  width:42px;
  height:42px;
  object-fit:contain;
  image-rendering:pixelated;
  will-change:transform,left,top,filter;
}
.screensaver-cat.rainbow{
  animation:saverRainbowShift 4.2s linear infinite;
}
@keyframes saverRainbowShift{
  0% { filter:hue-rotate(0deg) saturate(1.6); }
  100% { filter:hue-rotate(360deg) saturate(1.6); }
}


/* screensaver v2 polish */
.screensaver-overlay.active-mainpage{
  background:linear-gradient(135deg,#ff004c,#ff7a00,#ffe600,#00d26a,#00b7ff,#6f42ff,#ff00c8) !important;
  background-size:400% 400% !important;
  animation:saverBgRainbow 10s ease infinite;
}
@keyframes saverBgRainbow{
  0%{background-position:0% 50%}
  25%{background-position:50% 100%}
  50%{background-position:100% 50%}
  75%{background-position:50% 0%}
  100%{background-position:0% 50%}
}
.screensaver-top-exit{
  top:auto !important;
  bottom:34px !important;
  right:8px !important;
  min-width:118px !important;
  height:24px !important;
  z-index:6100 !important;
}


/* animate main desktop background while screensaver stays on main page */
body.screensaver-active{
  background:#ff003c !important;
  animation:nekoMainRainbowBg 8.4s steps(1,end) infinite !important;
}
body.screensaver-active .desktop-bg{
  background:transparent !important;
}
@keyframes nekoMainRainbowBg{
  0%{background:#ff003c}
  14.28%{background:#ff7a00}
  28.56%{background:#ffe600}
  42.84%{background:#18c95e}
  57.12%{background:#00b7ff}
  71.4%{background:#3758ff}
  85.68%{background:#cc1cff}
  100%{background:#ff003c}
}
  25%{background-position:50% 100%}
  50%{background-position:100% 50%}
  75%{background-position:50% 0%}
  100%{background-position:0% 50%}
}


/* Final screensaver polish */
.screensaver-taskbar-btn{
  min-width:128px !important;
  height:23px !important;
  padding:0 8px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
  border-top:2px solid #fff !important;
  border-left:2px solid #fff !important;
  border-right:2px solid #808080 !important;
  border-bottom:2px solid #808080 !important;
  background:#c0c0c0 !important;
  color:#000 !important;
  font-family:"MS Sans Serif",Tahoma,Arial,sans-serif !important;
  font-size:12px !important;
  box-shadow:none !important;
}
.screensaver-taskbar-btn:active{
  border-top:2px solid #808080 !important;
  border-left:2px solid #808080 !important;
  border-right:2px solid #fff !important;
  border-bottom:2px solid #fff !important;
}
.screensaver-taskbar-btn .tray-saver-icon{
  width:16px;
  height:16px;
  object-fit:contain;
  image-rendering:pixelated;
}

body.screensaver-active{
  background:
    linear-gradient(120deg,
      #ff004c 0%,
      #ff7a00 14%,
      #ffe600 28%,
      #00d26a 42%,
      #00b7ff 56%,
      #6f42ff 72%,
      #ff00c8 86%,
      #ff004c 100%) fixed !important;
  background-size:600% 600% !important;
  animation:nekoMainRainbowBg 12s ease-in-out infinite !important;
}
body.screensaver-active .desktop-bg{
  background:transparent !important;
}
@keyframes nekoMainRainbowBg{
  0%   { background-position:0% 50%; }
  20%  { background-position:25% 35%; }
  40%  { background-position:60% 60%; }
  60%  { background-position:100% 45%; }
  80%  { background-position:60% 25%; }
  100% { background-position:0% 50%; }
}

.screensaver-overlay{
  position:fixed;
  inset:0;
  z-index:3800;
  background:transparent !important;
  pointer-events:none;
}
.screensaver-overlay.hidden{display:none!important}
.screensaver-overlay.active-mainpage{
  background:transparent !important;
}
#screensaverField{
  position:absolute;
  inset:0;
  overflow:hidden;
  pointer-events:none;
}
.screensaver-cat{
  position:absolute;
  width:42px;
  height:42px;
  object-fit:contain;
  image-rendering:pixelated;
  will-change:left,top,transform,filter,opacity;
}
.screensaver-cat.rainbow{
  animation:saverRainbowShift 5.2s linear infinite;
}
@keyframes saverRainbowShift{
  0%{filter:hue-rotate(0deg) saturate(1.65)}
  100%{filter:hue-rotate(360deg) saturate(1.65)}
}
.screensaver-top-exit{
  top:auto !important;
  bottom:34px !important;
  right:8px !important;
  min-width:118px !important;
  height:24px !important;
  z-index:6100 !important;
}


/* fix screensaver bg color cycling and hide stream text */
.screensaver-stream-badge{
  display:none !important;
}
.screensaver-overlay::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:0;
  pointer-events:none;
}
body.screensaver-active .desktop-bg{
  background:transparent !important;
}
body.screensaver-active .desktop,
body.screensaver-active main,
body.screensaver-active .desktop-area{
  background:transparent !important;
}
.screensaver-overlay.active-mainpage{
  background:transparent !important;
}
.screensaver-overlay.active-mainpage::before{
  opacity:1 !important;
  animation:nekoSolidColorCycle 7s steps(1,end) infinite !important;
}
@keyframes nekoSolidColorCycle{
  0%{background:#00a000}
  14.28%{background:#ff0000}
  28.56%{background:#ffe600}
  42.84%{background:#004dff}
  57.12%{background:#ffffff}
  71.4%{background:#000000}
  85.68%{background:#ff4fd8}
  100%{background:#00a000}
}


.screensaver-field-row{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-bottom:6px;
}
.screensaver-overlay.full-mode{
  background:transparent !important;
}
.screensaver-overlay.full-mode::before,
.screensaver-overlay.active-mainpage::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:1 !important;
  animation:nekoAllColorsCycle 14s steps(1,end) infinite !important;
}
@keyframes nekoAllColorsCycle{
  0%{background:#ff0000}
  5%{background:#ff5a00}
  10%{background:#ff9a00}
  15%{background:#ffd400}
  20%{background:#f4ff00}
  25%{background:#8cff00}
  30%{background:#00d400}
  35%{background:#00ff88}
  40%{background:#00ffd9}
  45%{background:#00d0ff}
  50%{background:#0091ff}
  55%{background:#004dff}
  60%{background:#3d00ff}
  65%{background:#7a00ff}
  70%{background:#c000ff}
  75%{background:#ff00d4}
  80%{background:#ff0095}
  85%{background:#ff4f7f}
  90%{background:#ffffff}
  95%{background:#000000}
  100%{background:#ff0000}
}
body.screensaver-active{
  background:transparent !important;
  animation:none !important;
}
.screensaver-overlay.full-mode{
  pointer-events:auto;
}


/* screensaver ui cleanup */
.screensaver-hud,
.screensaver-exit-hint{
  display:none !important;
}
.screensaver-stream-badge.hidden{
  display:none !important;
}


/* Reliable screensaver panel/layout fixes */
.screensaver-row{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-bottom:8px;
}
.screensaver-panel-body{
  padding:10px;
}
.screensaver-panel-tip{
  font-size:11px;
  line-height:1.35;
  margin:8px 0 0;
}
.screensaver-hud,
.screensaver-exit-hint{
  display:none !important;
}
.screensaver-stream-badge.hidden{
  display:none !important;
}


/* ---- clean screensaver 3-mode override ---- */
.screensaver-main-host{
  position:absolute;
  inset:0;
  overflow:hidden;
  pointer-events:none;
  z-index:25;
}
.screensaver-main-host.hidden{display:none!important}

.screensaver-panel{
  position:fixed;
  right:12px;
  bottom:30px;
  width:292px;
  z-index:120;
}
.screensaver-panel-body{padding:10px}
.screensaver-row{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-bottom:8px;
}
.screensaver-panel-tip{
  margin:8px 0 0;
  font-size:11px;
  line-height:1.35;
}

.screensaver-overlay{
  position:fixed;
  inset:0;
  overflow:hidden;
  background:transparent !important;
  z-index:6000;
  pointer-events:none;
}
.screensaver-overlay.hidden{display:none!important}
.screensaver-overlay.full-mode{pointer-events:auto}
.screensaver-field{
  position:absolute;
  inset:0;
  overflow:hidden;
}
.screensaver-cat{
  position:absolute;
  width:32px;
  height:32px;
  image-rendering:pixelated;
  pointer-events:none;
  user-select:none;
  will-change:transform,left,top,opacity,filter;
  filter:drop-shadow(0 1px 0 rgba(0,0,0,.28));
}
.screensaver-cat.rainbow{
  animation:saverRainbowShift 5.2s linear infinite;
}
@keyframes saverRainbowShift{
  0% { filter:hue-rotate(0deg) saturate(1.55); }
  100% { filter:hue-rotate(360deg) saturate(1.55); }
}

body.screensaver-desktop .desktop-bg{
  background:transparent !important;
}
body.screensaver-desktop::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:1;
  pointer-events:none;
  animation:nekoManyColors 14s steps(1,end) infinite;
}
.screensaver-overlay.full-mode::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  animation:nekoManyColors 14s steps(1,end) infinite;
}
@keyframes nekoManyColors{
  0%{background:#ff0000}
  5%{background:#ff5a00}
  10%{background:#ff9a00}
  15%{background:#ffd400}
  20%{background:#f4ff00}
  25%{background:#8cff00}
  30%{background:#00d400}
  35%{background:#00ff88}
  40%{background:#00ffd9}
  45%{background:#00d0ff}
  50%{background:#0091ff}
  55%{background:#004dff}
  60%{background:#3d00ff}
  65%{background:#7a00ff}
  70%{background:#c000ff}
  75%{background:#ff00d4}
  80%{background:#ff0095}
  85%{background:#ff4f7f}
  90%{background:#ffffff}
  95%{background:#000000}
  100%{background:#ff0000}
}

.screensaver-top-exit{
  position:fixed;
  right:8px;
  bottom:34px;
  min-width:118px;
  height:24px;
  padding:0 10px;
  z-index:6100;
  background:#c0c0c0;
  color:#000;
  border-top:2px solid #fff;
  border-left:2px solid #fff;
  border-right:2px solid #808080;
  border-bottom:2px solid #808080;
  font-family:"MS Sans Serif",Tahoma,Arial,sans-serif;
  font-size:12px;
}
.screensaver-top-exit.hidden{display:none!important}
.screensaver-hud,
.screensaver-stream-badge,
.screensaver-exit-hint{display:none!important}

/* keep website layout stable while cats move */
.desktop-icons{z-index:30}
.corner-neko{z-index:30}
.win98,.music-window,.contract-window{z-index:40}
.taskbar{z-index:90}


.folder-overlay-icon{
  width:42px !important;
  height:42px !important;
  object-fit:contain !important;
  image-rendering:pixelated;
  display:block;
}


/* ===== Mobile layout fix ===== */
@media (max-width: 900px) {
  html, body {
    overflow-x: hidden;
  }

  body {
    min-width: 100%;
  }

  .desktop {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    min-height: calc(100vh - 34px);
    padding: 10px 10px 60px;
    gap: 12px;
  }

  .desktop-icons {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(84px, 1fr)) !important;
    grid-template-rows: none !important;
    grid-auto-columns: unset !important;
    grid-auto-flow: row !important;
    column-gap: 8px !important;
    row-gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    align-self: stretch !important;
    position: relative !important;
    left: auto !important;
    top: auto !important;
    margin: 0 !important;
    padding: 0 2px !important;
    z-index: 5 !important;
  }

  .desktop-icon {
    width: 100% !important;
    min-height: 74px !important;
    padding: 2px 2px 0 !important;
  }

  .desktop-icon img {
    width: 34px !important;
    height: 34px !important;
  }

  .folder-overlay-icon {
    width: 34px !important;
    height: 34px !important;
  }

  .desktop-icon span {
    font-size: 12px !important;
    line-height: 1.15 !important;
    word-break: break-word !important;
  }

  .corner-neko {
    display: none !important;
  }

  .music-window,
  .contract-window {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    margin: 0 auto !important;
    width: calc(100vw - 20px) !important;
    max-width: 420px !important;
    z-index: 20 !important;
  }

  .contract-window {
    order: 2;
  }

  .music-window {
    order: 1;
  }

  .win98,
  #window-info,
  #window-library,
  #window-chat,
  #window-minesweeper,
  #window-arena,
  #window-pinball,
  #window-solitaire,
  #window-paint {
    position: fixed !important;
    left: 8px !important;
    top: 8px !important;
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
    max-height: calc(100vh - 50px) !important;
    overflow: hidden !important;
    z-index: 1000 !important;
  }

  .window-body,
  .chat-body,
  .library-body,
  .paint-body,
  .arena-body,
  .pinball-body,
  .solitaire-body {
    max-height: calc(100vh - 140px) !important;
    overflow: auto !important;
  }

  .titlebar,
  .titlebar.draggable {
    cursor: default !important;
    touch-action: none;
  }

  .taskbar {
    height: 34px !important;
    padding: 2px 4px !important;
  }

  .taskbar-end {
    gap: 4px !important;
  }

  .screensaver-taskbar-btn {
    min-width: 88px !important;
    font-size: 11px !important;
    padding: 0 6px !important;
  }

  #taskbarClock {
    font-size: 11px !important;
    min-width: 62px !important;
  }
}

@media (max-width: 640px) {
  .desktop {
    padding: 8px 8px 58px !important;
    gap: 10px !important;
  }

  .desktop-icons {
    grid-template-columns: repeat(2, minmax(96px, 1fr)) !important;
  }

  .desktop-icon {
    min-height: 76px !important;
  }

  .desktop-icon span {
    font-size: 11px !important;
  }

  .music-window,
  .contract-window {
    width: calc(100vw - 16px) !important;
  }

  .chat-inputbar {
    display: grid !important;
    grid-template-columns: 1fr 72px !important;
    gap: 6px !important;
  }

  .chat-toolbar {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
  }

  .chat-toolbar .button,
  .chat-toolbar button {
    width: 100% !important;
  }

  .screensaver-taskbar-btn span {
    display: none !important;
  }

  .screensaver-taskbar-btn {
    min-width: 34px !important;
    width: 34px !important;
    padding: 0 !important;
  }
}


/* screensaver tray icon only inside clock area */
.taskbar-tray-clock{
  min-width:132px !important;
  justify-content:flex-end !important;
  gap:4px !important;
  padding:0 6px !important;
}
.tray-button-icononly.screensaver-taskbar-btn{
  min-width:20px !important;
  width:20px !important;
  height:20px !important;
  padding:0 !important;
  gap:0 !important;
}
.tray-button-icononly.screensaver-taskbar-btn span{display:none !important;}
.tray-button-icononly .tray-saver-icon{
  width:16px !important;
  height:16px !important;
  image-rendering:pixelated;
}
#taskbarClock{
  min-width:58px;
  text-align:right;
}


/* --- April 8 icon/tray precision fix --- */
.desktop-icons{
  left: 6px !important;
  top: 10px !important;
  grid-auto-columns: 102px !important;
  column-gap: 10px !important;
  row-gap: 8px !important;
}
.desktop-icon{
  width: 102px !important;
  min-height: 72px !important;
  padding: 2px 1px !important;
  gap: 4px !important;
}
.desktop-icon img,
.folder-overlay-icon{
  width: 34px !important;
  height: 34px !important;
}
.desktop-icon span{
  font-size: 11px !important;
  line-height: 1.05 !important;
}
.taskbar-tray-clock{
  min-width: 118px !important;
  width: 118px !important;
  justify-content: flex-end !important;
  gap: 4px !important;
  padding: 0 5px !important;
}
.tray-button-icononly.screensaver-taskbar-btn{
  width: 18px !important;
  min-width: 18px !important;
  height: 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #c0c0c0 !important;
}
.tray-button-icononly .tray-saver-icon{
  width: 15px !important;
  height: 15px !important;
  display:block !important;
}
#taskbarClock{
  min-width: 60px !important;
  font-size: 11px !important;
  text-align: right !important;
}
@media (max-width: 900px){
  .desktop-icons{
    left:auto !important;
    top:auto !important;
    grid-auto-columns: unset !important;
  }
}



#window-arena{width:min(1260px, calc(100vw - 40px));height:min(820px, calc(100vh - 56px));left:20px;top:22px;display:flex;flex-direction:column;overflow:hidden;max-width:calc(100vw - 40px);max-height:calc(100vh - 56px);}
.arena-body{display:flex;flex-direction:column;gap:8px;height:100%;min-height:0;overflow:hidden;}
.arena-header-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;}
.arena-stats-row{display:flex;gap:10px;flex-wrap:wrap;}
.arena-pill{min-width:110px;padding:8px 10px;border-top:2px solid #fff;border-left:2px solid #fff;border-right:2px solid #808080;border-bottom:2px solid #808080;background:#c0c0c0;font:700 12px "Courier New",monospace;}
.arena-actions-top{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;}
.arena-area{position:relative;flex:1;min-height:500px;overflow:hidden;background:#0d7f86;background-size:cover;background-position:center center;border-top:2px solid #808080;border-left:2px solid #808080;border-right:2px solid #fff;border-bottom:2px solid #fff;cursor:default;}
.arena-area::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);background-size:64px 64px;pointer-events:none;}
.arena-neko{position:absolute;width:32px;height:32px;pointer-events:none;image-rendering:pixelated;transform:translate(-16px,-16px);background-image:url('assets/oneko.gif');background-repeat:no-repeat;background-size:256px 128px;filter:drop-shadow(0 1px 0 rgba(0,0,0,.4));}
.arena-obstacle{position:absolute;image-rendering:pixelated;pointer-events:none;filter:drop-shadow(0 2px 0 rgba(0,0,0,.25));}
.arena-cursor-marker{position:absolute;width:12px;height:12px;border-radius:999px;border:2px solid #1d2fff;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.4);pointer-events:none;transform:translate(-6px,-6px);z-index:3;}
.arena-level-flash{position:absolute;inset:0;pointer-events:none;background:rgba(255,255,255,0);transition:background .2s;z-index:2;}
.arena-level-flash.show{background:rgba(255,255,255,.22);}
.arena-hud-toast{position:absolute;top:16px;left:50%;transform:translateX(-50%);padding:8px 14px;background:rgba(0,0,0,.65);color:#fff;font:700 18px "Courier New",monospace;opacity:0;pointer-events:none;transition:opacity .15s, transform .15s;z-index:4;border:1px solid rgba(255,255,255,.5)}
.arena-hud-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
.arena-bottom-row{display:flex;gap:12px;align-items:center;justify-content:space-between;min-height:28px;}
.arena-status{flex:1;font-size:12px;color:#222;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.arena-help{flex:1.4;font-size:11px;color:#333;line-height:1.25;}
.arena-shake{animation:arenaShake .18s linear 1;}
@keyframes arenaShake{0%{transform:translateX(0)}25%{transform:translateX(-3px)}50%{transform:translateX(3px)}75%{transform:translateX(-2px)}100%{transform:translateX(0)}}

.arena-difficulty-wrap{display:flex;align-items:center;gap:6px;padding:4px 8px;border-top:2px solid #fff;border-left:2px solid #fff;border-right:2px solid #808080;border-bottom:2px solid #808080;background:#c0c0c0;font:700 11px "MS Sans Serif",Tahoma,Arial,sans-serif;}
.arena-difficulty-select{height:26px;border-top:2px solid #808080;border-left:2px solid #808080;border-right:2px solid #fff;border-bottom:2px solid #fff;background:#fff;font:12px "MS Sans Serif",Tahoma,Arial,sans-serif;}
.arena-warning-ring{position:absolute;width:46px;height:46px;border:2px dashed rgba(255,80,80,.95);border-radius:50%;pointer-events:none;transform:translate(-23px,-23px);opacity:.9;animation:arenaWarn .55s ease-out forwards;z-index:2;}
@keyframes arenaWarn{from{transform:translate(-23px,-23px) scale(.4);opacity:.9}to{transform:translate(-23px,-23px) scale(1.4);opacity:0}}
.arena-target-trail{position:absolute;width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.35);pointer-events:none;transform:translate(-5px,-5px);filter:blur(1px);z-index:2;}


#musicWindow{display:none!important;}

.arena-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.28);display:flex;align-items:center;justify-content:center;z-index:20;}
.arena-modal-backdrop.hidden{display:none !important;}
.arena-modal-window{width:min(640px,92%);max-height:82%;display:flex;flex-direction:column;box-shadow:4px 4px 0 rgba(0,0,0,.25);}
.arena-modal-body{display:flex;flex-direction:column;gap:8px;min-height:0;}
.arena-modal-subtitle{font:12px "MS Sans Serif",Tahoma,Arial,sans-serif;color:#333;}
.arena-leaderboard-head,.arena-leaderboard-row{display:grid;grid-template-columns:48px minmax(0,1.2fr) 1fr 70px 90px 90px;gap:8px;align-items:center;}
.arena-leaderboard-head{padding:6px 8px;font:700 12px "MS Sans Serif",Tahoma,Arial,sans-serif;background:#d4d0c8;border-top:2px solid #fff;border-left:2px solid #fff;border-right:2px solid #808080;border-bottom:2px solid #808080;}
.arena-leaderboard-list{min-height:180px;max-height:360px;overflow:auto;background:#fff;border-top:2px solid #808080;border-left:2px solid #808080;border-right:2px solid #fff;border-bottom:2px solid #fff;padding:4px;}
.arena-leaderboard-row{padding:8px;font:12px "MS Sans Serif",Tahoma,Arial,sans-serif;border-bottom:1px solid #d4d0c8;}
.arena-leaderboard-row strong{color:#12317e;}
.arena-leaderboard-empty{padding:18px 10px;font:12px "MS Sans Serif",Tahoma,Arial,sans-serif;color:#444;text-align:center;}

/* Windows 3.1 Checkered Room theme */
:root{
  --win31-gray:#c6cccc;
  --win31-face:#c0c0c0;
  --win31-dark:#000;
  --win31-blue:#1f5f93;
  --win31-title:#2b6fa6;
  --win31-shadow:#808080;
  --win31-dither:radial-gradient(#ffd900 1px, transparent 1px);
}
body{
  background:#000 !important;
}
.desktop-bg{
  background:
    radial-gradient(circle at 50% 18%, rgba(34,205,255,.18) 0 1px, transparent 170px),
    linear-gradient(180deg, rgba(0,0,0,.18) 0%, rgba(0,0,0,.05) 38%, rgba(0,0,0,.32) 100%),
    url("assets/chess.png") center bottom / cover no-repeat,
    #000 !important;
  image-rendering:pixelated;
}
.desktop-bg::before,
.desktop-bg::after{
  content:"";
  position:absolute;
  pointer-events:none;
  image-rendering:pixelated;
}
.desktop-bg::before{
  width:118px;
  height:118px;
  right:15vw;
  top:9vh;
  background:
    linear-gradient(135deg, transparent 0 28%, #00e5ff 29% 46%, transparent 47%),
    linear-gradient(45deg, transparent 0 32%, #ff00d4 33% 48%, transparent 49%),
    linear-gradient(#111 0 0);
  clip-path:polygon(50% 0, 64% 36%, 100% 50%, 64% 64%, 50% 100%, 36% 64%, 0 50%, 36% 36%);
  filter:drop-shadow(8px 10px 0 rgba(0,0,0,.45));
  opacity:.9;
}
.desktop-bg::after{
  width:94px;
  height:94px;
  left:45vw;
  top:18vh;
  background:
    conic-gradient(from 45deg, #ff0 0 25%, #f0f 0 50%, #00f6ff 0 75%, #000 0);
  transform:rotate(-18deg) skew(-8deg);
  filter:drop-shadow(10px 12px 0 rgba(0,0,0,.42));
  opacity:.82;
}
.desktop{
  background:transparent !important;
}
.desktop-icons{
  top:20px !important;
  left:20px !important;
  grid-auto-columns:116px !important;
  row-gap:18px !important;
  column-gap:22px !important;
}
.desktop-icon{
  color:#fff !important;
  text-shadow:1px 1px 0 #000, -1px 1px 0 #000, 1px -1px 0 #000, -1px -1px 0 #000 !important;
}
.desktop-icon span{
  color:#fff !important;
  background:rgba(0,0,0,.28);
  padding:1px 3px;
  text-shadow:1px 1px 0 #000 !important;
}
.desktop-icon:hover span,
.desktop-icon:focus-visible span{
  background:#000080;
  color:#fff !important;
}
.win98,
.contract-window,
.arena-modal-window{
  background:var(--win31-face) !important;
  border:2px solid #000 !important;
  box-shadow:
    inset 1px 1px 0 #fff,
    inset -1px -1px 0 #777,
    4px 4px 0 rgba(0,0,0,.42) !important;
}
.titlebar{
  height:24px !important;
  color:#fff !important;
  background:var(--win31-title) !important;
  border-bottom:2px solid #000 !important;
  padding:0 5px 0 8px !important;
}
.title{
  font-family:"MS Sans Serif", Tahoma, Arial, sans-serif !important;
  font-size:13px !important;
  font-weight:700 !important;
}
.title-btn{
  width:18px !important;
  height:18px !important;
  background:var(--win31-face) !important;
  color:#000 !important;
  border:2px solid #000 !important;
  box-shadow:inset 1px 1px 0 #fff, inset -1px -1px 0 #777 !important;
}
.window-body,
.chat-menubar,
.chat-toolbar,
.chat-statusbar,
.screensaver-panel-body,
.mine-head,
.preview-panel,
.pfp-preview-panel,
.paint-toolbar,
.start-menu,
.taskbar{
  background:var(--win31-face) !important;
}
.window-body{
  color:#000 !important;
}
.button,
.start-button,
.task-btn,
.tray-button,
.screensaver-taskbar-btn,
.mine-face,
.pfp-bg-swatch,
.start-item,
.arena-pill,
.arena-difficulty-wrap,
.buybtn{
  border:2px solid #000 !important;
  box-shadow:inset 1px 1px 0 #fff, inset -1px -1px 0 #777 !important;
  background:var(--win31-face) !important;
  color:#000 !important;
}
.button:active,
.start-button:active,
.task-btn.active,
.tray-button:active,
.screensaver-taskbar-btn:active{
  box-shadow:inset 1px 1px 0 #777, inset -1px -1px 0 #fff !important;
}
.taskbar{
  height:31px !important;
  border-top:2px solid #000 !important;
  box-shadow:inset 0 1px 0 #fff !important;
}
.taskbar-end{
  min-width:92px !important;
  width:auto !important;
  justify-content:flex-end !important;
  border:2px solid #000 !important;
  box-shadow:inset 1px 1px 0 #777, inset -1px -1px 0 #fff !important;
}
.tray-network{
  display:none !important;
}
.start-menu-side{
  background:var(--win31-title) !important;
}
.start-item:hover{
  background:#000080 !important;
  color:#fff !important;
}
.icon-viewer-wrap,
.pfp-gallery-wrap,
.chat-scroll,
.text-input,
.preview-box,
.pfp-preview-frame,
.app-frame,
.arena-leaderboard-list,
.arena-area,
.mine-board{
  border:2px solid #000 !important;
  box-shadow:inset 1px 1px 0 #777, inset -1px -1px 0 #fff !important;
}
.icon-viewer-wrap,
.pfp-gallery-wrap,
.style-card,
.pfp-skin-card,
.content,
.arena-leaderboard-head{
  background-color:#f7f7f7 !important;
  background-image:var(--win31-dither) !important;
  background-size:4px 4px !important;
}
.style-card,
.pfp-skin-card{
  border:2px solid #000 !important;
  box-shadow:inset 1px 1px 0 #fff, inset -1px -1px 0 #aaa !important;
}
.chat-scroll,
.text-input{
  background:#fff !important;
  color:#000 !important;
}
.contract-window{
  width:365px !important;
  top:14px !important;
  right:14px !important;
}
.contract-textarea{
  min-height:70px !important;
}
.corner-neko{
  filter:drop-shadow(2px 2px 0 #000);
}
.arena-area{
  background:
    linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.05) 45%, rgba(0,0,0,.28)),
    url("assets/chess.png") center bottom / cover no-repeat,
    #000 !important;
}
.screensaver-overlay{
  background:
    linear-gradient(180deg, rgba(0,0,0,.12), rgba(0,0,0,.28)),
    url("assets/chess.png") center bottom / cover no-repeat,
    #000 !important;
}
body.screensaver-active{
  background:#000 !important;
  animation:none !important;
}
body.screensaver-active .desktop-bg{
  background:
    linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,.32)),
    url("assets/chess.png") center bottom / cover no-repeat,
    #000 !important;
}
@media (max-width: 900px){
  .desktop-bg{
    background-position:center bottom !important;
  }
  .desktop-icons{
    left:10px !important;
    top:12px !important;
    grid-auto-columns:96px !important;
  }
  .contract-window{
    width:min(340px, calc(100vw - 20px)) !important;
    right:10px !important;
  }
}

/* Windows 3.1 surreal checkerboard refinement */
.desktop-bg{
  background:
    url("assets/chess.png") center center / 100% 100% no-repeat,
    #000 !important;
  image-rendering:pixelated !important;
}
.desktop-bg::before,
.desktop-bg::after{
  display:none !important;
}
.win98,
.contract-window,
.arena-modal-window,
.start-menu{
  background:#c0c0c0 !important;
  border:1px solid #000 !important;
  box-shadow:
    inset 1px 1px 0 #fff,
    inset -1px -1px 0 #808080,
    2px 2px 0 rgba(0,0,0,.36) !important;
}
.titlebar{
  height:22px !important;
  background:
    linear-gradient(90deg, rgba(255,255,255,.18) 0 1px, transparent 1px 3px),
    #2f6f9f !important;
  background-size:4px 100%, auto !important;
  border-bottom:1px solid #000 !important;
  color:#fff !important;
  padding:0 4px 0 7px !important;
}
.title{
  font-size:13px !important;
  line-height:20px !important;
}
.title-btn{
  width:18px !important;
  height:17px !important;
  border:1px solid #000 !important;
  background:#c0c0c0 !important;
  box-shadow:inset 1px 1px 0 #fff, inset -1px -1px 0 #808080 !important;
}
.window-body,
.contract-body,
.library-body,
.pfp-body,
.chat-body,
.mine-body,
.arena-body,
.screensaver-panel-body{
  background:#c0c0c0 !important;
}
.info-frame,
.app-frame,
.chat-scroll,
.text-input,
.preview-box,
.pfp-preview-frame,
.icon-viewer-wrap,
.pfp-gallery-wrap,
.arena-leaderboard-list,
.lb-table-wrap{
  border:1px solid #000 !important;
  box-shadow:inset 1px 1px 0 #808080, inset -1px -1px 0 #fff !important;
}
.button,
.start-button,
.task-btn,
.tray-button,
.screensaver-taskbar-btn,
.mine-face,
.pfp-bg-swatch,
.arena-pill,
.arena-difficulty-wrap{
  border:1px solid #000 !important;
  box-shadow:inset 1px 1px 0 #fff, inset -1px -1px 0 #808080 !important;
}
.button:active,
.start-button:active,
.task-btn.active,
.tray-button:active,
.screensaver-taskbar-btn:active,
.title-btn:active{
  box-shadow:inset 1px 1px 0 #808080, inset -1px -1px 0 #fff !important;
}
.taskbar{
  height:31px !important;
  border-top:1px solid #000 !important;
  background:#c0c0c0 !important;
  box-shadow:inset 0 1px 0 #fff !important;
}
.taskbar-end{
  border:1px solid #000 !important;
  box-shadow:inset 1px 1px 0 #808080, inset -1px -1px 0 #fff !important;
}
.desktop-icon span{
  background:rgba(192,192,192,.72) !important;
  color:#000 !important;
  text-shadow:1px 1px 0 #fff !important;
}
.desktop-icon:hover span,
.desktop-icon:focus-visible span{
  background:#000080 !important;
  color:#fff !important;
  text-shadow:none !important;
}
.contract-window{
  width:540px !important;
  top:24px !important;
  right:24px !important;
}
.contract-textarea{
  min-height:102px !important;
  background:#fff !important;
}
.arena-area,
.screensaver-overlay,
body.screensaver-active .desktop-bg{
  background:
    url("assets/chess.png") center center / 100% 100% no-repeat,
    #000 !important;
}
@media (max-width: 900px){
  .desktop-bg,
  .arena-area,
  .screensaver-overlay,
  body.screensaver-active .desktop-bg{
    background-size:100% 100% !important;
  }
  .contract-window{
    width:min(540px, calc(100vw - 20px)) !important;
    top:10px !important;
    right:10px !important;
  }
}

/* Windows 3.1 Control Panel pass */
.desktop-bg{
  background:
    url("assets/windows-3-1-bg.png") center center / 100% 100% no-repeat,
    #bfc7c7 !important;
  image-rendering:pixelated !important;
}
.boot-screen{
  background:
    url("assets/wallpaper-3-1-loading.png") center center / cover no-repeat,
    #aaa !important;
  align-items:flex-end !important;
  justify-content:center !important;
  padding-bottom:58px !important;
}
.boot-center{
  width:360px !important;
  text-align:center !important;
  font-family:"Courier New", monospace !important;
  color:#000 !important;
}
.boot-neko{
  display:none !important;
}
.boot-logo-text{
  display:none !important;
}
.boot-progress-wrap{
  width:260px !important;
  height:16px !important;
  margin:0 auto 10px auto !important;
  background:#c0c0c0 !important;
  border:1px solid #000 !important;
  box-shadow:inset 1px 1px 0 #808080, inset -1px -1px 0 #fff !important;
  padding:2px !important;
}
.boot-progress-fill{
  height:100% !important;
  background:
    repeating-linear-gradient(90deg, #000080 0 10px, #2b6fa6 10px 20px) !important;
  animation:win31LoadBars .42s steps(4,end) infinite !important;
}
.boot-status{
  display:inline-block !important;
  min-width:240px !important;
  padding:3px 8px !important;
  background:#c0c0c0 !important;
  color:#000080 !important;
  border:1px solid #000 !important;
  box-shadow:inset 1px 1px 0 #fff, inset -1px -1px 0 #808080 !important;
  font-family:"Courier New", monospace !important;
  font-size:14px !important;
  font-weight:700 !important;
  animation:win31StatusNudge .7s steps(2,end) infinite !important;
}
@keyframes win31LoadBars{
  0%{background-position:0 0}
  100%{background-position:20px 0}
}
@keyframes win31StatusNudge{
  0%,100%{transform:translateX(0)}
  50%{transform:translateX(4px)}
}
.win98,
.contract-window,
.arena-modal-window,
.start-menu{
  border:1px solid #000 !important;
  background:#c0c0c0 !important;
  box-shadow:
    inset 1px 1px 0 #fff,
    inset -1px -1px 0 #808080,
    1px 1px 0 #000 !important;
}
.titlebar{
  height:21px !important;
  background:
    repeating-linear-gradient(90deg, rgba(255,255,255,.2) 0 1px, transparent 1px 4px),
    #2f6f9f !important;
  border-bottom:1px solid #000 !important;
  color:#fff !important;
  padding:0 3px 0 6px !important;
}
.title{
  font-family:"MS Sans Serif", Tahoma, Arial, sans-serif !important;
  font-size:12px !important;
  line-height:19px !important;
  text-align:center !important;
}
.title-btn{
  width:17px !important;
  height:16px !important;
  border:1px solid #000 !important;
  box-shadow:inset 1px 1px 0 #fff, inset -1px -1px 0 #808080 !important;
  background:#c0c0c0 !important;
}
.contract-window{
  width:300px !important;
  top:18px !important;
  right:18px !important;
}
.contract-body{
  padding:6px !important;
}
.contract-textarea{
  min-height:54px !important;
  height:54px !important;
  margin-bottom:6px !important;
}
.contract-body .button.full{
  height:24px !important;
}
.desktop-icon span{
  background:#c0c0c0 !important;
  color:#000 !important;
  text-shadow:1px 1px 0 #fff !important;
  min-height:15px;
  padding:0 4px !important;
}
.taskbar{
  border-top:1px solid #000 !important;
  box-shadow:inset 0 1px 0 #fff !important;
}
.arena-area,
.screensaver-overlay,
body.screensaver-active .desktop-bg{
  background:
    url("assets/windows-3-1-bg.png") center center / 100% 100% no-repeat,
    #bfc7c7 !important;
}
@media (max-width: 900px){
  .contract-window{
    width:min(300px, calc(100vw - 16px)) !important;
    top:8px !important;
    right:8px !important;
  }
}

/* Windows 3.1 clean frame fix */
.titlebar{
  background:#2f6f9f !important;
  background-image:none !important;
  height:20px !important;
  border-top:1px solid #fff !important;
  border-left:1px solid #fff !important;
  border-right:1px solid #000 !important;
  border-bottom:1px solid #000 !important;
  color:#fff !important;
}
.title{
  font-size:12px !important;
  line-height:18px !important;
  text-shadow:none !important;
}
.win98,
.contract-window,
.arena-modal-window,
.start-menu,
.screensaver-panel{
  background:#c0c0c0 !important;
  border:1px solid #000 !important;
  box-shadow:
    inset 1px 1px 0 #fff,
    inset -1px -1px 0 #808080,
    1px 1px 0 #404040 !important;
}
.window-body,
.chat-menubar,
.chat-toolbar,
.chat-statusbar,
.contract-body,
.screensaver-panel-body{
  background:#c0c0c0 !important;
}
.info-wrap,
.library-body,
.pfp-body,
.arena-body,
.paint-window-body,
.iframe-window-body{
  background:#fff !important;
}
.chat-scroll,
.text-input,
.info-frame,
.app-frame,
.icon-viewer-wrap,
.pfp-gallery-wrap,
.preview-box,
.pfp-preview-frame,
.arena-leaderboard-list{
  border:1px solid #000 !important;
  box-shadow:inset 1px 1px 0 #808080, inset -1px -1px 0 #fff !important;
}
.button,
.start-button,
.task-btn,
.tray-button,
.screensaver-taskbar-btn,
.title-btn,
.mine-face,
.pfp-bg-swatch{
  border:1px solid #000 !important;
  background:#c0c0c0 !important;
  box-shadow:inset 1px 1px 0 #fff, inset -1px -1px 0 #808080 !important;
}
.desktop-icons{
  grid-template-rows:repeat(8, max-content) !important;
}
.desktop-icon img,
.folder-overlay-icon{
  width:36px !important;
  height:36px !important;
  max-width:36px !important;
  max-height:36px !important;
  object-fit:contain !important;
  image-rendering:pixelated !important;
}
.desktop-icon span{
  width:118px !important;
  background:#c0c0c0 !important;
  color:#000 !important;
  text-shadow:1px 1px 0 #fff !important;
}
.desktop-icon:hover span,
.desktop-icon:focus-visible span{
  background:#000080 !important;
  color:#fff !important;
  text-shadow:none !important;
}
.contract-window{
  width:300px !important;
}
.contract-textarea{
  min-height:54px !important;
  height:54px !important;
}
