* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    /* Windows XP Color Scheme */
    --bg-primary: #ece9d8;
    --bg-secondary: #ffffff;
    --bg-tertiary: #d4d0c8;
    --accent: #316ac5;
    --accent-hover: #5a8fd8;
    --text-primary: #000000;
    --text-secondary: #333333;
    --border: #808080;
    --shadow: rgba(0, 0, 0, 0.3);
    --success: #00a000;
    --warning: #ffa500;
    --error: #c41e3a;
    --taskbar-blue: #245edb;
    --taskbar-blue-dark: #1e4fb8;
    --start-green: #4a9e3f;
    --start-green-hover: #5cb84f;
    --window-title-blue: #316ac5;
    --window-title-blue-dark: #2459a8;
}

body {
    font-family: 'Tahoma', 'MS Sans Serif', sans-serif;
    background: #004e98;
    color: var(--text-primary);
    overflow: hidden;
    height: 100vh;
    user-select: none;
    font-size: 11px;
}

.desktop {
    opacity: 0;
    transition: opacity 0.5s ease-in;
}

.desktop {
    width: 100vw;
    height: 100vh;
    background: linear-gradient(to bottom, #87ceeb 0%, #5ba3d0 50%, #004e98 100%);
    background-image: 
        radial-gradient(circle at 20% 30%, rgba(255, 255, 255, 0.3) 0%, transparent 50%),
        radial-gradient(circle at 80% 70%, rgba(255, 255, 255, 0.2) 0%, transparent 50%);
    position: relative;
    overflow: hidden;
}

/* Desktop Icons */
.desktop-icons {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 20px;
    padding: 20px;
    height: calc(100vh - 35px);
    align-content: flex-start;
}

.desktop-icon {
    width: 80px;
    text-align: center;
    cursor: pointer;
    padding: 4px;
    border-radius: 0;
    transition: all 0.1s;
}

.desktop-icon:hover {
    background: rgba(255, 255, 255, 0.2);
}

.desktop-icon.selected {
    background: rgba(255, 255, 255, 0.3);
    border: 1px dashed rgba(255, 255, 255, 0.5);
}

.icon-image {
    width: 32px;
    height: 32px;
    background: transparent;
    border-radius: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 32px;
    color: #ffffff;
    margin: 0 auto 4px;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8);
    filter: drop-shadow(0 0 2px rgba(0, 0, 0, 0.5));
}

.icon-label {
    color: #ffffff;
    font-size: 11px;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8);
    background: rgba(0, 0, 0, 0.3);
    padding: 2px 4px;
    border-radius: 2px;
    max-width: 80px;
    text-align: center;
    word-wrap: break-word;
}

/* Windows */
.windows-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(100% - 50px);
    pointer-events: none;
}

.window {
    position: absolute;
    background: var(--bg-secondary);
    border-radius: 0;
    box-shadow: 
        2px 2px 0 rgba(0, 0, 0, 0.3),
        inset -1px -1px 0 rgba(0, 0, 0, 0.1),
        inset 1px 1px 0 rgba(255, 255, 255, 0.9);
    min-width: 400px;
    min-height: 300px;
    display: flex;
    flex-direction: column;
    pointer-events: all;
    overflow: hidden;
    border: 2px outset #ece9d8;
}

.window.active {
    z-index: 1000;
    box-shadow: 
        3px 3px 0 rgba(0, 0, 0, 0.4),
        inset -1px -1px 0 rgba(0, 0, 0, 0.1),
        inset 1px 1px 0 rgba(255, 255, 255, 0.9);
}

.window.maximized {
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: calc(100% - 35px) !important;
    border-radius: 0;
    border: 2px inset #ece9d8;
}

.window.minimized {
    display: none;
}

.window-header {
    background: linear-gradient(to bottom, #316ac5 0%, #2459a8 50%, #1a4a8f 100%);
    padding: 2px 4px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: move;
    border-bottom: 1px solid #1a4a8f;
    height: 22px;
    min-height: 22px;
}

.window-title {
    display: flex;
    align-items: center;
    gap: 4px;
    flex: 1;
    padding-left: 4px;
}

.window-icon {
    width: 16px;
    height: 16px;
    color: #ffffff;
    filter: drop-shadow(0 0 1px rgba(0, 0, 0, 0.5));
}

.window-title-text {
    font-size: 11px;
    font-weight: bold;
    color: #ffffff;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.5);
    font-family: 'Tahoma', 'MS Sans Serif', sans-serif;
}

.window-controls {
    display: flex;
    gap: 2px;
}

.window-btn {
    width: 20px;
    height: 18px;
    border: 1px outset #ece9d8;
    background: #d4d0c8;
    color: #000000;
    cursor: pointer;
    border-radius: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.1s;
    font-size: 11px;
    padding: 0;
    margin: 0;
    box-shadow: inset 1px 1px 0 rgba(255, 255, 255, 0.7), inset -1px -1px 0 rgba(0, 0, 0, 0.3);
}

.window-btn:hover {
    background: #e8e4d8;
    border: 1px inset #ece9d8;
}

.window-btn.close:hover {
    background: #ff0000;
    color: white;
    border: 1px inset #cc0000;
}

.window-btn.minimize:hover {
    background: #ffff00;
}

.window-btn.maximize:hover {
    background: #00ff00;
}

.window-content {
    flex: 1;
    padding: 8px;
    overflow: auto;
    background: var(--bg-secondary);
    display: flex;
    flex-direction: column;
    border: 1px inset #ece9d8;
}

#file-manager-container {
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* Taskbar */
.taskbar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    height: 35px;
    background: linear-gradient(to bottom, var(--taskbar-blue) 0%, var(--taskbar-blue-dark) 100%);
    border-top: 2px outset #5a8fd8;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 4px;
    z-index: 10000;
    box-shadow: 0 -2px 4px rgba(0, 0, 0, 0.3);
}

.taskbar-left {
    display: flex;
    align-items: center;
    gap: 8px;
}

.start-menu-btn {
    background: linear-gradient(to bottom, var(--start-green) 0%, #3a7d32 50%, #2d5f27 100%);
    border: 1px outset #5cb84f;
    color: white;
    padding: 4px 12px;
    border-radius: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: bold;
    transition: all 0.1s;
    height: 28px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.3);
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.5);
    font-family: 'Tahoma', 'MS Sans Serif', sans-serif;
}

.start-menu-btn:hover {
    background: linear-gradient(to bottom, var(--start-green-hover) 0%, #4a9e3f 50%, #3a7d32 100%);
    border: 1px inset #5cb84f;
}

.start-menu-btn:active {
    border: 1px inset #4a9e3f;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3);
}

.taskbar-apps {
    display: flex;
    gap: 4px;
}

.taskbar-app {
    width: auto;
    min-width: 160px;
    height: 28px;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0.1) 100%);
    border-radius: 0;
    border: 1px outset rgba(255, 255, 255, 0.3);
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 6px;
    padding: 0 8px;
    cursor: pointer;
    transition: all 0.1s;
    margin: 0 2px;
    font-size: 11px;
    color: white;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.5);
    font-family: 'Tahoma', 'MS Sans Serif', sans-serif;
}

.taskbar-app:hover {
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0.2) 100%);
    border: 1px inset rgba(255, 255, 255, 0.3);
}

.taskbar-app.active {
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.4) 0%, rgba(255, 255, 255, 0.2) 100%);
    border: 1px inset rgba(255, 255, 255, 0.3);
    box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.2);
}

.taskbar-app i {
    font-size: 16px;
}

.taskbar-right {
    display: flex;
    align-items: center;
}

.system-tray {
    display: flex;
    align-items: center;
    gap: 12px;
}

.tray-icon {
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    cursor: pointer;
    border-radius: 0;
    transition: all 0.1s;
    border: 1px outset rgba(255, 255, 255, 0.2);
    background: rgba(255, 255, 255, 0.1);
    font-size: 14px;
}

.tray-icon:hover {
    background: rgba(255, 255, 255, 0.2);
    border: 1px inset rgba(255, 255, 255, 0.2);
}

.datetime {
    text-align: right;
    padding: 2px 8px;
    border-radius: 0;
    cursor: pointer;
    transition: all 0.1s;
    border: 1px outset rgba(255, 255, 255, 0.2);
    background: rgba(255, 255, 255, 0.1);
    font-family: 'Tahoma', 'MS Sans Serif', sans-serif;
}

.datetime:hover {
    background: rgba(255, 255, 255, 0.2);
    border: 1px inset rgba(255, 255, 255, 0.2);
}

.time {
    font-size: 11px;
    font-weight: bold;
    color: white;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.5);
}

.date {
    font-size: 10px;
    color: rgba(255, 255, 255, 0.9);
}

/* Start Menu */
.start-menu {
    position: fixed;
    bottom: 38px;
    left: 4px;
    width: 200px;
    max-height: 500px;
    background: linear-gradient(to bottom, #ece9d8 0%, #d4d0c8 100%);
    border-radius: 0;
    box-shadow: 
        2px 2px 4px rgba(0, 0, 0, 0.3),
        inset -1px -1px 0 rgba(0, 0, 0, 0.2),
        inset 1px 1px 0 rgba(255, 255, 255, 0.9);
    border: 2px outset #ece9d8;
    display: none;
    flex-direction: column;
    z-index: 10001;
    overflow: hidden;
}

.start-menu.active {
    display: flex;
}

.start-menu-header {
    padding: 8px;
    background: linear-gradient(to bottom, #316ac5 0%, #2459a8 100%);
    border-bottom: 1px solid #1a4a8f;
    min-height: 60px;
}

.user-info {
    display: flex;
    align-items: center;
    gap: 12px;
}

.user-avatar {
    width: 48px;
    height: 48px;
    background: linear-gradient(to bottom, #316ac5 0%, #2459a8 100%);
    border: 2px outset #5a8fd8;
    border-radius: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: white;
    box-shadow: inset 1px 1px 0 rgba(255, 255, 255, 0.3);
}

.user-name {
    font-weight: bold;
    font-size: 13px;
    color: white;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.5);
    font-family: 'Tahoma', 'MS Sans Serif', sans-serif;
}

.user-role {
    font-size: 11px;
    color: rgba(255, 255, 255, 0.9);
    font-family: 'Tahoma', 'MS Sans Serif', sans-serif;
}

.start-menu-content {
    flex: 1;
    overflow-y: auto;
    padding: 4px;
    background: var(--bg-secondary);
}

.section-title {
    font-size: 11px;
    text-transform: uppercase;
    color: #000000;
    margin: 8px 4px 4px 4px;
    font-weight: bold;
    font-family: 'Tahoma', 'MS Sans Serif', sans-serif;
}

.app-grid {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.start-menu-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px 8px;
    border-radius: 0;
    cursor: pointer;
    transition: all 0.1s;
    border: 1px solid transparent;
    font-size: 11px;
    font-family: 'Tahoma', 'MS Sans Serif', sans-serif;
}

.start-menu-item:hover {
    background: linear-gradient(to bottom, #316ac5 0%, #2459a8 100%);
    color: white;
    border: 1px outset #5a8fd8;
}

.start-menu-item i {
    font-size: 16px;
    width: 16px;
    text-align: center;
}

.start-menu-item:hover i {
    color: white;
}

.start-menu-item span {
    font-size: 11px;
    flex: 1;
}

.start-menu-footer {
    padding: 4px;
    border-top: 1px inset #ece9d8;
    display: flex;
    justify-content: flex-end;
    background: var(--bg-tertiary);
}

.power-btn {
    width: 50px;
    height: 50px;
    border: 2px outset #ece9d8;
    background: linear-gradient(to bottom, #d4d0c8 0%, #a8a49c 100%);
    color: #000000;
    border-radius: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.1s;
    font-size: 20px;
    box-shadow: inset 1px 1px 0 rgba(255, 255, 255, 0.7), inset -1px -1px 0 rgba(0, 0, 0, 0.3);
}

.power-btn:hover {
    background: linear-gradient(to bottom, #e8e4d8 0%, #c4c0b8 100%);
    border: 2px inset #ece9d8;
}

.power-btn:active {
    box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.3);
}

/* Application Content Styles */
.content-section {
    margin-bottom: 24px;
}

.content-section h1 {
    font-size: 16px;
    color: var(--window-title-blue);
    margin-bottom: 12px;
    font-weight: bold;
    font-family: 'Tahoma', 'MS Sans Serif', sans-serif;
}

.content-section h2 {
    font-size: 13px;
    color: #000000;
    margin: 16px 0 8px 0;
    border-bottom: 1px solid #808080;
    padding-bottom: 4px;
    font-weight: bold;
    font-family: 'Tahoma', 'MS Sans Serif', sans-serif;
}

.content-section h3 {
    font-size: 12px;
    color: var(--window-title-blue);
    margin: 12px 0 6px 0;
    font-weight: bold;
    font-family: 'Tahoma', 'MS Sans Serif', sans-serif;
}

.content-section p {
    line-height: 1.6;
    color: #000000;
    margin-bottom: 8px;
    font-size: 11px;
    font-family: 'Tahoma', 'MS Sans Serif', sans-serif;
}

.content-section ul {
    list-style: none;
    padding-left: 0;
}

.content-section li {
    padding: 4px 0;
    padding-left: 20px;
    position: relative;
    color: #000000;
    font-size: 11px;
    font-family: 'Tahoma', 'MS Sans Serif', sans-serif;
}

.content-section li:before {
    content: "•";
    position: absolute;
    left: 8px;
    color: var(--window-title-blue);
    font-weight: bold;
}

.grid-view {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 16px;
}

.card {
    background: var(--bg-secondary);
    padding: 8px;
    border-radius: 0;
    border: 1px outset #ece9d8;
    cursor: pointer;
    transition: all 0.1s;
    position: relative;
    box-shadow: inset 1px 1px 0 rgba(255, 255, 255, 0.7), inset -1px -1px 0 rgba(0, 0, 0, 0.1);
}

.card:hover {
    border: 1px inset #ece9d8;
    box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.2);
    background: #f0f0f0;
}

.project-card {
    cursor: pointer;
}

.card-click-hint {
    font-size: 11px;
    color: var(--text-secondary);
    margin-top: 8px;
    font-style: italic;
    opacity: 0;
    transition: opacity 0.2s;
}

.card:hover .card-click-hint {
    opacity: 1;
}

.card-title {
    font-size: 12px;
    font-weight: bold;
    color: #000000;
    margin-bottom: 4px;
    display: flex;
    align-items: center;
    gap: 6px;
    font-family: 'Tahoma', 'MS Sans Serif', sans-serif;
}

.card-title i {
    font-size: 16px;
    color: var(--window-title-blue);
}

.card-description {
    font-size: 11px;
    color: #333333;
    line-height: 1.4;
    margin-bottom: 4px;
    font-family: 'Tahoma', 'MS Sans Serif', sans-serif;
}

/* Terminal */
.terminal-window {
    font-family: 'Courier New', 'Consolas', 'Monaco', monospace;
    background: #000000;
    color: #c0c0c0;
    display: flex;
    flex-direction: column;
    height: 100%;
    border-radius: 0;
    border: 1px inset #808080;
}

.window-content .terminal-window {
    height: calc(100% - 40px);
}

.terminal-content {
    flex: 1;
    padding: 8px;
    font-size: 12px;
    line-height: 1.4;
    overflow-y: auto;
    min-height: 0;
    background: #000000;
    color: #c0c0c0;
}

.terminal-line {
    margin: 4px 0;
    word-wrap: break-word;
    white-space: pre-wrap;
}

.terminal-prompt {
    color: #4ec9b0;
    font-weight: bold;
}

.terminal-input-line {
    display: flex;
    align-items: center;
    padding: 4px 8px;
    background: #000000;
    border-top: 1px solid #404040;
}

.terminal-input {
    flex: 1;
    background: transparent;
    border: none;
    outline: none;
    color: #c0c0c0;
    font-family: 'Courier New', monospace;
    font-size: 12px;
    margin-left: 8px;
    caret-color: #00ff00;
}

.terminal-error {
    color: #ff0000;
}

.terminal-dir {
    color: #00ffff;
    font-weight: bold;
}

.terminal-file {
    color: #ffff00;
}

.terminal-command {
    color: #00ff00;
    font-weight: bold;
}

.terminal-file-content {
    background: #000000;
    padding: 8px;
    border-radius: 0;
    border: 1px inset #808080;
    margin: 4px 0;
    white-space: pre-wrap;
    font-family: 'Courier New', monospace;
    line-height: 1.6;
    color: #c0c0c0;
    box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.5);
}

.prompt-line {
    margin: 2px 0;
}

/* File Manager */
.file-manager-toolbar {
    display: flex;
    gap: 8px;
    align-items: center;
    padding: 12px;
    background: var(--bg-tertiary);
    border-bottom: 1px solid var(--border);
}

.file-manager-btn {
    padding: 4px 12px;
    background: linear-gradient(to bottom, #ece9d8 0%, #d4d0c8 100%);
    border: 1px outset #ece9d8;
    border-radius: 0;
    color: #000000;
    cursor: pointer;
    font-size: 11px;
    transition: all 0.1s;
    display: flex;
    align-items: center;
    gap: 4px;
    font-family: 'Tahoma', 'MS Sans Serif', sans-serif;
    box-shadow: inset 1px 1px 0 rgba(255, 255, 255, 0.7), inset -1px -1px 0 rgba(0, 0, 0, 0.1);
}

.file-manager-btn:hover:not(:disabled) {
    background: linear-gradient(to bottom, #f0f0f0 0%, #e0e0e0 100%);
    border: 1px inset #ece9d8;
    box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.2);
}

.file-manager-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    border: 1px inset #ece9d8;
}

.file-manager-btn:active:not(:disabled) {
    border: 1px inset #ece9d8;
    box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.3);
}

.file-manager-path {
    flex: 1;
    padding: 4px 8px;
    background: #ffffff;
    border: 1px inset #808080;
    border-radius: 0;
    font-size: 11px;
    color: #000000;
    font-family: 'Courier New', monospace;
    margin-left: 8px;
    box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.2);
}

.file-manager-list {
    padding: 12px;
    overflow-y: auto;
    flex: 1;
    min-height: 0;
}

.file-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px 8px;
    border-radius: 0;
    cursor: pointer;
    transition: all 0.1s;
    margin-bottom: 2px;
    border: 1px solid transparent;
}

.file-item:hover {
    background: linear-gradient(to bottom, #316ac5 0%, #2459a8 100%);
    color: white;
    border: 1px outset #5a8fd8;
}

.file-item:hover .file-name,
.file-item:hover .file-size {
    color: white;
}

.file-info {
    flex: 1;
}

.file-name {
    font-weight: normal;
    color: #000000;
    margin-bottom: 2px;
    font-size: 11px;
    font-family: 'Tahoma', 'MS Sans Serif', sans-serif;
}

.file-size {
    font-size: 10px;
    color: #666666;
    font-family: 'Tahoma', 'MS Sans Serif', sans-serif;
}

.file-icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
}

.file-icon.folder-icon {
    color: #4ec9b0;
}

.file-icon.file-icon {
    color: var(--accent);
}

.file-error, .file-empty {
    padding: 40px;
    text-align: center;
    color: var(--text-secondary);
    font-style: italic;
}

/* File Viewer */
.file-viewer-header {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px;
    background: linear-gradient(to bottom, #ece9d8 0%, #d4d0c8 100%);
    border-bottom: 1px inset #ece9d8;
    margin: -8px -8px 8px -8px;
    border: 1px inset #ece9d8;
}

.file-viewer-header i {
    font-size: 32px;
    color: var(--accent);
}

.file-viewer-header h2 {
    flex: 1;
    margin: 0;
    font-size: 18px;
}

.file-size-badge {
    padding: 4px 12px;
    background: var(--bg-tertiary);
    border-radius: 12px;
    font-size: 12px;
    color: var(--text-secondary);
}

.file-viewer-content {
    max-height: 500px;
    overflow-y: auto;
}

.file-content-pre {
    background: #ffffff;
    padding: 8px;
    border-radius: 0;
    border: 1px inset #808080;
    white-space: pre-wrap;
    font-family: 'Courier New', monospace;
    font-size: 11px;
    line-height: 1.6;
    color: #000000;
    margin: 0;
    box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.1);
}

/* Scrollbar */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: var(--bg-tertiary);
}

::-webkit-scrollbar-thumb {
    background: var(--border);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--accent);
}

/* Windows XP Message Box */
.messagebox-content {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 16px;
    font-family: 'Tahoma', 'MS Sans Serif', sans-serif;
}

.messagebox-icon {
    font-size: 48px;
    flex-shrink: 0;
}

.messagebox-text {
    flex: 1;
    font-size: 12px;
    color: #000000;
    line-height: 1.6;
    padding-top: 8px;
}

.messagebox-buttons {
    display: flex;
    justify-content: center;
    gap: 8px;
    padding: 8px 16px;
    border-top: 1px inset #ece9d8;
    background: var(--bg-tertiary);
}

.messagebox-btn {
    padding: 4px 20px;
    min-width: 75px;
    background: linear-gradient(to bottom, #ece9d8 0%, #d4d0c8 100%);
    border: 1px outset #ece9d8;
    border-radius: 0;
    color: #000000;
    cursor: pointer;
    font-size: 11px;
    font-weight: bold;
    font-family: 'Tahoma', 'MS Sans Serif', sans-serif;
    box-shadow: inset 1px 1px 0 rgba(255, 255, 255, 0.7), inset -1px -1px 0 rgba(0, 0, 0, 0.1);
}

.messagebox-btn:hover {
    background: linear-gradient(to bottom, #f0f0f0 0%, #e0e0e0 100%);
    border: 1px inset #ece9d8;
}

.messagebox-btn:active {
    border: 1px inset #ece9d8;
    box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.3);
}

.messagebox-btn:focus {
    outline: 1px dotted #000000;
    outline-offset: -4px;
}

/* Games Styles */
.games-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    margin-top: 16px;
}

.game-card {
    background: var(--bg-secondary);
    padding: 16px;
    border-radius: 0;
    border: 2px outset #ece9d8;
    cursor: pointer;
    transition: all 0.1s;
    text-align: center;
    box-shadow: inset 1px 1px 0 rgba(255, 255, 255, 0.7), inset -1px -1px 0 rgba(0, 0, 0, 0.1);
}

.game-card:hover {
    border: 2px inset #ece9d8;
    box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.2);
    background: #f0f0f0;
}

.game-icon {
    font-size: 48px;
    color: var(--window-title-blue);
    margin-bottom: 8px;
}

.game-title {
    font-size: 14px;
    font-weight: bold;
    color: #000000;
    margin-bottom: 4px;
    font-family: 'Tahoma', 'MS Sans Serif', sans-serif;
}

.game-description {
    font-size: 11px;
    color: #666666;
    font-family: 'Tahoma', 'MS Sans Serif', sans-serif;
}

.game-container {
    display: flex;
    flex-direction: column;
    height: 100%;
    align-items: center;
    padding: 8px;
}

.game-info {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 8px;
    width: 100%;
    justify-content: center;
    font-family: 'Tahoma', 'MS Sans Serif', sans-serif;
}

.game-score {
    font-size: 12px;
    font-weight: bold;
    color: #000000;
}

.game-btn {
    padding: 4px 12px;
    background: linear-gradient(to bottom, #ece9d8 0%, #d4d0c8 100%);
    border: 1px outset #ece9d8;
    border-radius: 0;
    color: #000000;
    cursor: pointer;
    font-size: 11px;
    font-family: 'Tahoma', 'MS Sans Serif', sans-serif;
    box-shadow: inset 1px 1px 0 rgba(255, 255, 255, 0.7), inset -1px -1px 0 rgba(0, 0, 0, 0.1);
}

.game-btn:hover {
    background: linear-gradient(to bottom, #f0f0f0 0%, #e0e0e0 100%);
    border: 1px inset #ece9d8;
}

.game-btn:active {
    border: 1px inset #ece9d8;
    box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.3);
}

.game-controls {
    font-size: 10px;
    color: #666666;
    margin-top: 8px;
    font-family: 'Tahoma', 'MS Sans Serif', sans-serif;
}

/* Minesweeper */
.minesweeper-grid {
    display: grid;
    gap: 2px;
    background: #808080;
    padding: 2px;
    border: 2px outset #ece9d8;
}

.minesweeper-cell {
    width: 30px;
    height: 30px;
    background: #d4d0c8;
    border: 1px outset #ece9d8;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 12px;
    font-weight: bold;
    font-family: 'Tahoma', 'MS Sans Serif', sans-serif;
}

.minesweeper-cell:hover:not(.revealed):not(.flagged) {
    background: #e8e4d8;
}

.minesweeper-cell.revealed {
    background: #ffffff;
    border: 1px inset #808080;
}

.minesweeper-cell.mine {
    background: #ff0000;
}

/* Tic-Tac-Toe */
.ttt-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4px;
    width: 300px;
    margin: 0 auto;
}

.ttt-cell {
    width: 90px;
    height: 90px;
    background: #ffffff;
    border: 2px outset #ece9d8;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 48px;
    font-weight: bold;
    color: #000000;
    font-family: 'Tahoma', 'MS Sans Serif', sans-serif;
}

.ttt-cell:hover {
    background: #f0f0f0;
}

.ttt-cell:active {
    border: 2px inset #ece9d8;
}

/* Boot Screen - Windows XP Style */
.boot-screen {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, #0054e3 0%, #0066ff 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 100000;
    opacity: 1;
    transition: opacity 0.5s ease-out;
}

.boot-content {
    text-align: center;
    color: #ffffff;
    font-family: 'Tahoma', 'MS Sans Serif', sans-serif;
}

.boot-logo {
    margin-bottom: 80px;
}

.boot-windows-logo {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 30px;
}

.boot-window-flag {
    width: 120px;
    height: 120px;
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 4px;
    transform: perspective(200px) rotateX(-15deg);
}

.boot-flag-part {
    width: 100%;
    height: 100%;
    border-radius: 2px;
    box-shadow: inset 0 2px 4px rgba(255, 255, 255, 0.3), inset 0 -2px 4px rgba(0, 0, 0, 0.2);
}

.boot-flag-blue {
    background: linear-gradient(135deg, #0078d4 0%, #005a9e 100%);
}

.boot-flag-red {
    background: linear-gradient(135deg, #e81123 0%, #c50e1f 100%);
}

.boot-flag-green {
    background: linear-gradient(135deg, #107c10 0%, #0d5e0d 100%);
}

.boot-flag-yellow {
    background: linear-gradient(135deg, #ffb900 0%, #d99a00 100%);
}

.boot-name {
    font-size: 32px;
    font-weight: bold;
    color: #ffffff;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
    margin-top: 20px;
    letter-spacing: 2px;
    font-family: 'Tahoma', 'MS Sans Serif', sans-serif;
}

.boot-loading {
    width: 450px;
    margin: 0 auto;
}

.boot-progress-bar {
    width: 100%;
    height: 22px;
    background: rgba(0, 0, 0, 0.3);
    border: 1px solid rgba(255, 255, 255, 0.4);
    border-radius: 0;
    overflow: hidden;
    margin-bottom: 16px;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.4);
}

.boot-progress-fill {
    height: 100%;
    background: linear-gradient(to bottom, #a4d3ff 0%, #6bb6ff 50%, #1e90ff 100%);
    width: 0%;
    transition: width 0.2s linear;
    box-shadow: inset 0 -2px 4px rgba(255, 255, 255, 0.4);
}

.boot-message {
    font-size: 12px;
    color: #ffffff;
    text-align: center;
    min-height: 16px;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
    font-family: 'Tahoma', 'MS Sans Serif', sans-serif;
}

/* Login Screen */
.login-screen {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, #316ac5 0%, #2459a8 50%, #1a4a8f 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 99999;
    opacity: 0;
    transition: opacity 0.5s ease-in;
}

.login-container {
    background: var(--bg-secondary);
    border: 2px outset #ece9d8;
    border-radius: 0;
    padding: 40px;
    width: 400px;
    box-shadow: 
        4px 4px 8px rgba(0, 0, 0, 0.4),
        inset -1px -1px 0 rgba(0, 0, 0, 0.1),
        inset 1px 1px 0 rgba(255, 255, 255, 0.9);
}

.login-header {
    text-align: center;
    margin-bottom: 40px;
}

.login-title {
    font-size: 24px;
    font-weight: bold;
    color: #ffffff;
    margin-bottom: 8px;
    font-family: 'Tahoma', 'MS Sans Serif', sans-serif;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.login-subtitle {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.9);
    font-family: 'Tahoma', 'MS Sans Serif', sans-serif;
}

.login-profiles {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.login-profile-card {
    width: 100%;
    max-width: 300px;
    background: var(--bg-secondary);
    border: 2px outset #ece9d8;
    border-radius: 0;
    padding: 30px;
    text-align: center;
    cursor: pointer;
    transition: all 0.2s;
    box-shadow: 
        2px 2px 4px rgba(0, 0, 0, 0.3),
        inset -1px -1px 0 rgba(0, 0, 0, 0.1),
        inset 1px 1px 0 rgba(255, 255, 255, 0.9);
}

.login-profile-card:hover {
    border: 2px inset #ece9d8;
    box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.2);
    background: #f0f0f0;
    transform: translateY(-2px);
}

.login-profile-card.logging-in {
    opacity: 0.7;
    cursor: not-allowed;
}

.login-profile-avatar {
    width: 100px;
    height: 100px;
    margin: 0 auto 20px;
    background: linear-gradient(to bottom, #316ac5 0%, #2459a8 100%);
    border: 2px outset #5a8fd8;
    border-radius: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 48px;
    color: #ffffff;
    box-shadow: inset 1px 1px 0 rgba(255, 255, 255, 0.3);
}

.login-profile-name {
    font-size: 18px;
    font-weight: bold;
    color: #000000;
    margin-bottom: 6px;
    font-family: 'Tahoma', 'MS Sans Serif', sans-serif;
}

.login-profile-role {
    font-size: 12px;
    color: #666666;
    margin-bottom: 16px;
    font-family: 'Tahoma', 'MS Sans Serif', sans-serif;
}

.login-profile-hint {
    font-size: 11px;
    color: var(--window-title-blue);
    font-style: italic;
    font-family: 'Tahoma', 'MS Sans Serif', sans-serif;
}
