@font-face {
    font-family: 'W98';
    src: url('ms_sans_serif.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
}

@font-face {
  font-family: 'Win98Bitmap';
  src: url('ms_sans_serif.woff2') format('woff2');
  font-display: swap;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

html, body { 
    width: 100%;
    height: 100%;
    overflow: hidden;
    font-family: 'Win98Bitmap', 'W98', 'MS Sans Serif', 'Segoe UI', Tahoma, sans-serif;
    font-size: 11px;
    background-image: url('wallpaper.jpg');
    background-repeat: repeat;
    background-position: 0 0;
    background-attachment: fixed;
    cursor: url("win98.cur"), default;
    user-select: none;
}

#shell {
    display: flex;
    width: 100vw;
    height: 100vh;
    align-items: center;
    justify-content: center;
}

#desktop {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-image: url('wallpaper.jpg');
    background-repeat: repeat;
    background-position: 0 0;
    background-attachment: fixed;
}

.win-window {
    position: relative;
    width: 640px;
    height: 480px;
    background: #c0c0c0;
    border: 2px solid #fff;
    border-right-color: #808080;
    border-bottom-color: #808080;
    box-shadow: 6px 6px 0 rgba(0,0,0,0.6);
    display: flex;
    flex-direction: column;
    z-index: 100;
}

.win-window.open {
    display: flex;
}

.win-window.focused {
    z-index: 200;
}

.win-titlebar {
    background: linear-gradient(to right, #000080, #1084d0);
    color: #fff;
    font-weight: bold;
    font-size: 11px;
    padding: 3px 4px;
    display: flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
    user-select: none;
    height: 28px;
}

.win-titlebar .win-title-text {
    flex: 1;
}

.win-titlebar-btns { 
    display: flex; 
    gap: 2px;
}

.win-btn {
    width: 16px;
    height: 14px;
    background: #c0c0c0;
    border: 2px solid #fff;
    border-right-color: #808080;
    border-bottom-color: #808080;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 9px;
    font-weight: bold;
    color: #000;
    cursor: url("win98.cur"), pointer;
    line-height: 1;
}

.win-btn:active {
    border: 2px solid #808080;
    border-right-color: #fff;
    border-bottom-color: #fff;
}

.win-menubar {
    background: #c0c0c0;
    padding: 2px 4px;
    font-size: 11px;
    display: flex;
    gap: 0;
    border-bottom: 1px solid #808080;
    flex-shrink: 0;
}

.menu-item-btn {
    padding: 2px 6px;
    cursor: url('win98.cur'), pointer;
    display: inline-block;
    user-select: none;
}

.menu-item-btn:hover, 
.menu-dropdown-container.active .menu-item-btn {
    background: #000080;
    color: #fff;
}

.menu-dropdown-container {
    position: relative;
    display: inline-block;
}

.win-dropdown-content {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background-color: #c0c0c0;
    min-width: 130px;
    border: 2px solid;
    border-color: #fff #808080 #fff;
    box-shadow: 2px 2px 5px rgba(0,0,0,0.3);
    z-index: 1000;
    padding: 2px;
}

.win-dropdown-content.show {
    display: block;
}

.win-dropdown-item {
    color: #000;
    padding: 4px 12px;
    text-decoration: none;
    display: block;
    font-size: 11px;
    cursor: url('win98.cur'), pointer;
}

.win-dropdown-item:hover {
    background-color: #000080;
    color: #fff;
}

.win-body {
    flex: 1;
    padding: 10px;
    overflow: auto;
    font-size: 11px;
    background: #c0c0c0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.win-statusbar {
    height: 20px;
    background: #c0c0c0;
    border-top: 1px solid #808080;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 6px;
    font-size: 10px;
    flex-shrink: 0;
}

.statusbar-pane {
    border: 1px solid #808080;
    border-right-color: #fff;
    border-bottom-color: #fff;
    padding: 1px 6px;
    font-size: 10px;
}

.info-btn {
    width: 14px;
    height: 14px;
    background: #c0c0c0;
    border: 1px solid #fff;
    border-right-color: #808080;
    border-bottom-color: #808080;
    font-family: monospace;
    font-size: 9px;
    font-weight: bold;
    cursor: url('win98.cur'), pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    padding: 0;
    transition: transform 0.08s ease-in-out, box-shadow 0.08s ease-in-out;
}

.info-btn:hover {
    transform: translateY(-2px);
    box-shadow: 1px 1px 2px rgba(0,0,0,0.4);
    z-index: 10;
}

.history-block {
    width: 7px;
    height: 14px;
    display: inline-block;
    margin-right: 2px;
    border: 1px solid rgba(0,0,0,0.15);
    cursor: url('win98.cur'), pointer;
    transition: transform 0.08s ease-in-out, box-shadow 0.08s ease-in-out;
}

.history-block:hover {
    transform: translateY(-2px);
    outline: 1px solid #000;
    box-shadow: 1px 1px 2px rgba(0,0,0,0.4);
    z-index: 10;
}