:root { --desktop-bg: #008080; --text-color: #000; --win-bg: #c0c0c0; --win-bg-dark: #c0c0c0; --border-color: #000; --title-bg: linear-gradient(90deg, #000080, #1084d0); --title-text: #fff; --btn-bg: #c0c0c0; --btn-active-bg: #dfdfdf; --btn-active-text: #000; --item-border: #999; --scrollbar-track: #dfdfdf; --scrollbar-thumb: #c0c0c0; --shadow: 2px 2px 0px #000; --glow: none; --field-border: 2px groove #dfdfdf; --field-legend: #000; --bt: #dfdfdf; --bl: #dfdfdf; --br: #404040; --bb: #404040; --icon-color: #fff; --icon-shadow: 1px 1px 0 #000; --font: 'Consolas', 'Courier New', monospace; --font-size: 12px; --chat-color: #4dff88; --panel-bg: #1a1a1a; --panel-border: #333; --panel-text: #fff; --panel-text-dim: #888; --panel-input-bg: #0a0a0a; }
body.theme-xp { --desktop-bg: #3a6ea5; --text-color: #000; --win-bg: #ece9d8; --win-bg-dark: #ece9d8; --border-color: #0831d9; --title-bg: linear-gradient(180deg, #0058e6, #3c8ce7 8%, #2884e3 92%, #0058e6); --title-text: #fff; --btn-bg: linear-gradient(180deg, #f5f5f5, #e1e1e1); --btn-active-bg: linear-gradient(180deg, #ffe1a0, #ffc24c); --btn-active-text: #000; --item-border: #aca899; --scrollbar-track: #ece9d8; --scrollbar-thumb: #919b9c; --shadow: 2px 2px 5px rgba(0,0,0,0.3); --glow: none; --field-border: 1px solid #aca899; --field-legend: #000; --bt: #ffffff; --bl: #ffffff; --br: #aca899; --bb: #aca899; --icon-color: #fff; --icon-shadow: 1px 1px 0 #000; --font: 'Consolas', 'Courier New', monospace; --font-size: 12px; cursor: default; --chat-color: #4dff88; --panel-bg: #1a1a1a; --panel-border: #333; --panel-text: #fff; --panel-text-dim: #888; --panel-input-bg: #0a0a0a; }
body.theme-htb { --desktop-bg: #1a2332; --text-color: #9fef00; --win-bg: #1a2332; --win-bg-dark: #141c26; --border-color: #9fef00; --title-bg: #141c26; --title-text: #9fef00; --btn-bg: #1a2332; --btn-active-bg: #9fef00; --btn-active-text: #1a2332; --item-border: #3f4651; --scrollbar-track: #141c26; --scrollbar-thumb: #9fef00; --shadow: 2px 2px 10px rgba(0,0,0,0.8); --glow: 0 0 15px rgba(159, 239, 0, 0.4); --field-border: 1px solid #9fef00; --field-legend: #9fef00; --bt: #9fef00; --bl: #9fef00; --br: #9fef00; --bb: #9fef00; --icon-color: #9fef00; --icon-shadow: none; --font: 'Consolas', 'Courier New', monospace; --font-size: 12px; cursor: crosshair; --chat-color: #9fef00; --panel-text: #9fef00; }
body.theme-cyberpunk { --desktop-bg: #101014; --text-color: #fcee0a; --win-bg: #1a1a24; --win-bg-dark: #12121a; --border-color: #00f0ff; --title-bg: #12121a; --title-text: #00f0ff; --btn-bg: #1a1a24; --btn-active-bg: #00f0ff; --btn-active-text: #12121a; --item-border: #3f3f51; --scrollbar-track: #12121a; --scrollbar-thumb: #ff003c; --shadow: 0 0 10px rgba(255, 0, 60, 0.5); --glow: 0 0 15px rgba(0, 240, 255, 0.5); --field-border: 1px solid #ff003c; --field-legend: #00f0ff; --bt: #00f0ff; --bl: #00f0ff; --br: #00f0ff; --bb: #00f0ff; --icon-color: #fcee0a; --icon-shadow: 0 0 2px #ff003c; --font: 'Consolas', 'Courier New', monospace; --font-size: 12px; cursor: crosshair; --chat-color: #fcee0a; --panel-text: #fcee0a; }
body.theme-macos { --desktop-bg: #4a90e2; --text-color: #1d1d1f; --win-bg: #f6f6f6; --win-bg-dark: #e8e8e8; --border-color: #c7c7c7; --title-bg: #e0e0e0; --title-text: #1d1d1f; --btn-bg: #ffffff; --btn-active-bg: #007aff; --btn-active-text: #ffffff; --item-border: #d1d1d1; --scrollbar-track: #f6f6f6; --scrollbar-thumb: #b0b0b0; --shadow: 0 10px 30px rgba(0,0,0,0.2); --glow: 0 0 0 1px rgba(0,0,0,0.05); --field-border: 1px solid #c7c7c7; --field-legend: #1d1d1f; --bt: #ffffff; --bl: #ffffff; --br: #c7c7c7; --bb: #c7c7c7; --icon-color: #ffffff; --icon-shadow: 0 1px 3px rgba(0,0,0,0.4); --font: 'Consolas', 'Courier New', monospace; --font-size: 12px; cursor: default; --chat-color: #4dff88; --panel-bg: #1a1a1a; --panel-border: #333; --panel-text: #fff; --panel-text-dim: #888; --panel-input-bg: #0a0a0a; }
body.theme-midnight { --desktop-bg: #0d0d1a; --text-color: #c8a44e; --win-bg: #1a1a2e; --win-bg-dark: #12121f; --border-color: #c8a44e; --title-bg: linear-gradient(90deg, #0d0d1a, #2a2a3e); --title-text: #c8a44e; --btn-bg: #1a1a2e; --btn-active-bg: #c8a44e; --btn-active-text: #0d0d1a; --item-border: #3a3a4e; --scrollbar-track: #12121f; --scrollbar-thumb: #c8a44e; --shadow: 0 0 15px rgba(0,0,0,0.8); --glow: 0 0 12px rgba(200,164,78,0.3); --field-border: 1px solid #c8a44e; --field-legend: #c8a44e; --bt: #c8a44e; --bl: #c8a44e; --br: #c8a44e; --bb: #c8a44e; --icon-color: #c8a44e; --icon-shadow: 0 0 2px #000; --font: 'Georgia', 'Courier New', serif; --font-size: 12px; cursor: default; --chat-color: #c8a44e; --panel-text: #c8a44e; }
* { margin: 0; padding: 0; box-sizing: border-box; user-select: none; font-family: var(--font); font-size: var(--font-size); }
body { overflow: hidden; background: var(--desktop-bg); cursor: default; }
#desktop { width: 100vw; height: 100vh; background: var(--desktop-bg); position: relative; overflow: auto; padding: 10px 10px 270px 10px; }
#desktop.bg-grid { background: linear-gradient(var(--win-bg-dark) 1px, transparent 1px), linear-gradient(90deg, var(--win-bg-dark) 1px, transparent 1px), var(--desktop-bg); background-size: 20px 20px; }
#desktop.bg-stripes { background: repeating-linear-gradient(45deg, var(--win-bg-dark), var(--win-bg-dark) 10px, var(--desktop-bg) 10px, var(--desktop-bg) 20px); }
#desktop.bg-dots { background: radial-gradient(var(--win-bg-dark) 1px, transparent 1px), var(--desktop-bg); background-size: 20px 20px; }
#desktop.bg-radial { background: radial-gradient(circle at center, var(--win-bg-dark), var(--desktop-bg)); }
.desktop-icon { position: absolute; width: 68px; display: flex; flex-direction: column; align-items: center; gap: 3px; padding: 4px; color: var(--icon-color); text-shadow: var(--icon-shadow); text-align: center; font-size: 10px; line-height: 1.2; cursor: default; }
.desktop-icon.dragging { opacity: 0.7; z-index: 10000; cursor: grabbing; }
.desktop-icon.selected { background: rgba(0, 0, 100, 0.3); border: 1px dotted var(--icon-color); }
.desktop-icon:hover { background: rgba(0, 0, 100, 0.3); border: 1px dotted var(--icon-color); padding: 4px; }
.desktop-icon .icon-checkbox { position: absolute; top: 2px; left: 2px; width: 14px; height: 14px; background: #fff; border: 2px outset #c0c0c0; display: none; align-items: center; justify-content: center; font-size: 11px; color: #000; line-height: 1; z-index: 1; }
.desktop-icon.selected .icon-checkbox { display: flex; }
body.theme-htb .desktop-icon:hover, body.theme-cyberpunk .desktop-icon:hover { background: rgba(0, 255, 204, 0.2); }
body.theme-cyberpunk .desktop-icon:hover { background: rgba(0, 240, 255, 0.2); }
body.theme-macos .desktop-icon:hover { background: rgba(255, 255, 255, 0.2); border: 1px dotted rgba(255, 255, 255, 0.5); }
body.theme-midnight .desktop-icon:hover { background: rgba(200, 164, 78, 0.2); border: 1px dotted #c8a44e; }
.icon-graphic { font-size: 32px; filter: drop-shadow(1px 1px 0 #000); }


.win98-window { position: absolute; background: var(--win-bg); border: 2px solid; border-top-color: var(--bt); border-left-color: var(--bl); border-right-color: var(--br); border-bottom-color: var(--bb); box-shadow: var(--shadow); display: flex; flex-direction: column; z-index: 1; min-width: 150px; min-height: 100px; }
.win98-window.active { z-index: 100; box-shadow: var(--glow), var(--shadow); }
.title-bar { background: var(--title-bg); user-select: none; color: var(--title-text); font-weight: bold; padding: 2px 4px; display: flex; justify-content: space-between; align-items: center; cursor: grab; height: 18px; flex-shrink: 0; touch-action: none; margin-bottom: 4px; }
body.theme-htb .title-bar, body.theme-cyberpunk .title-bar { border-bottom: 1px solid var(--border-color); height: 24px; }
.win-controls { display: flex; gap: 2px; }
.win-btn { width: 16px; height: 14px; background: var(--btn-bg); border: 1px solid; border-top-color: var(--bt); border-left-color: var(--bl); border-right-color: var(--br); border-bottom-color: var(--bb); color: var(--text-color); font-size: 12px; font-weight: bold; display: flex; align-items: center; justify-content: center; cursor: pointer; flex-shrink: 0; }
body.theme-htb .win-btn, body.theme-cyberpunk .win-btn { width: 18px; height: 18px; border: 1px solid var(--border-color); }
.win-btn:active { border-top-color: var(--br); border-left-color: var(--br); border-right-color: var(--bt); border-bottom-color: var(--bt); }
body.theme-htb .win-btn:active, body.theme-cyberpunk .win-btn:active { background: var(--btn-active-bg); color: var(--btn-active-text); }
.window-content { padding: 5px 8px 0px 8px; color: var(--text-color); flex: 1; overflow: auto; background: var(--win-bg); overscroll-behavior: contain; text-align: center; }
.window-content::-webkit-scrollbar { width: 8px; height: 8px; }
.window-content::-webkit-scrollbar-track { background: transparent; }
.window-content::-webkit-scrollbar-thumb { background: var(--scrollbar-thumb); border: none; border-radius: 4px; }
.window-content::-webkit-scrollbar-thumb:hover { background: var(--border-color); }
.window-content:has(.achievements-scroll) { overflow: hidden; display: flex; flex-direction: column; }
.window-content:has(.achievements-scroll) > div { display: flex; flex-direction: column; flex: 1; min-height: 0; }
.achievements-scroll { flex: 1; min-height: 0; }
.raid-row { transition: background 0.1s; }
.raid-row:hover { background: rgba(255,255,255,0.08); }
/* Log box scrollbars — thin, themed */
/* Global thin scrollbar for any scrollable divs */
*::-webkit-scrollbar { width: 8px; height: 8px; }
*::-webkit-scrollbar-track { background: transparent; }
*::-webkit-scrollbar-thumb { background: var(--scrollbar-thumb, #999); border: none; border-radius: 4px; }
*::-webkit-scrollbar-thumb:hover { background: var(--border-color, #666); }
.tab-headers { display: flex; border-bottom: 2px solid var(--bb); padding-left: 5px; background: var(--win-bg); flex-shrink: 0; flex-wrap: wrap; }
body.theme-htb .tab-headers, body.theme-cyberpunk .tab-headers { border-bottom: 1px solid var(--border-color); background: var(--win-bg-dark); }
.tab-btn { background: var(--btn-bg); border: 2px outset var(--bt); padding: 2px 8px; cursor: pointer; margin-right: 2px; border-bottom: none; position: relative; top: 1px; color: var(--text-color); }
.tab-btn.active { background: var(--btn-active-bg); border-bottom: 2px solid var(--btn-active-bg); font-weight: bold; color: var(--btn-active-text); }
body.theme-htb .tab-btn, body.theme-cyberpunk .tab-btn { border: 1px solid var(--border-color); }
.log-box { background: #0a0a0a; color: var(--chat-color); padding: 8px; flex: 1; min-height: 0; border: 1px inset var(--bt); overflow-y: auto; font-family: 'Consolas', 'Courier New', monospace; font-size: clamp(12px, calc(0.4vw + 0.85vh), 22px); font-weight: bold; display: block; overscroll-behavior: contain; line-height: 1.4; }
body.theme-htb .log-box, body.theme-cyberpunk .log-box { background: var(--win-bg-dark); color: var(--chat-color); border: 1px solid var(--border-color); }
body.theme-midnight .log-box { background: #0a0a12; color: var(--chat-color); border: 1px solid #c8a44e; }
.log-box > div { padding: 5px 0; border-bottom: 1px dashed var(--item-border); }
.log-box > div:last-child { border-bottom: none; }
.log-box::-webkit-scrollbar { width: 8px; }
.log-box::-webkit-scrollbar-track { background: transparent; }
.log-box::-webkit-scrollbar-thumb { background: var(--scrollbar-thumb); border: none; border-radius: 4px; }
.log-box::-webkit-scrollbar-thumb:hover { background: var(--border-color); }
#chatInput { font-size: clamp(12px, calc(0.4vw + 0.85vh), 22px); padding: 2px 4px; background: #111; color: #4dff88; border: 1px inset var(--bt); font-family: 'Consolas', 'Courier New', monospace; }
body.theme-htb #chatInput, body.theme-cyberpunk #chatInput { background: var(--win-bg-dark); color: var(--text-color); border: 1px solid var(--border-color); }
body.theme-midnight #chatInput { background: #0a0a12; color: #c8a44e; border: 1px solid #c8a44e; }
.win98-fieldset { border: var(--field-border); padding: 5px; margin-bottom: 8px; }
.win98-fieldset legend { padding: 0 3px; font-weight: bold; color: var(--field-legend); }
.win98-btn { background: var(--btn-bg); border: 2px outset var(--bt); padding: 2px 8px; font-family: inherit; font-size: 12px; cursor: pointer; color: var(--text-color); }
body.theme-htb .win98-btn, body.theme-cyberpunk .win98-btn { border: 1px solid var(--border-color); }
.win98-btn:active { border: 2px inset var(--bt); }
body.theme-htb .win98-btn:active, body.theme-cyberpunk .win98-btn:active { background: var(--btn-active-bg); color: var(--btn-active-text); border: 1px solid var(--border-color); }
.win98-btn:hover { border: 2px solid var(--border-color); }
body.theme-htb .win98-btn:hover, body.theme-cyberpunk .win98-btn:hover { background: #212f42; border: 1px solid var(--border-color); }
body.theme-cyberpunk .win98-btn:hover { background: #2a2a3a; }
.stat-row { display: flex; justify-content: space-between; margin-bottom: 2px; font-weight: bold; }
.progress-track { height: 12px; background: #fff; border: 1px inset var(--bt); margin: 4px 0; position: relative; }
body.theme-htb .progress-track, body.theme-cyberpunk .progress-track { background: var(--win-bg-dark); border: 1px solid var(--border-color); }
body.theme-midnight .progress-track { background: #12121f; border: 1px solid #c8a44e; }
.progress-fill { height: 100%; background: #000080; width: 0%; transition: width 0.3s; border-right: 1px solid #fff; }
body.theme-htb .progress-fill, body.theme-cyberpunk .progress-fill { background: var(--btn-active-bg); border-right: 1px solid var(--win-bg-dark); }
body.theme-midnight .progress-fill { background: #c8a44e; border-right: 1px solid #12121f; }

/* Quests window */
.quests-header { display: flex; flex-direction: column; gap: 3px; margin-bottom: 6px; padding: 4px; background: var(--win-bg-dark); border: 1px solid var(--item-border); }
.quests-reset { font-size: 10px; color: var(--text-color); white-space: nowrap; }
.quests-icon { margin-right: 2px; }
.quest-card { padding: 4px 3px; margin-bottom: 4px; background: var(--win-bg-dark); border: 1px solid var(--item-border); }
.quest-card-weekly { border-color: #FFD700; background: rgba(255,215,0,0.08); }
.quest-name { font-size: 11px; font-weight: bold; margin-bottom: 3px; color: var(--text-color); }
.quest-footer { display: flex; justify-content: space-between; align-items: center; font-size: 10px; margin-top: 3px; }
.quest-progress { font-weight: bold; color: var(--text-color); }
.quest-reward { color: #FFD700; font-size: 10px; }
.quest-claim-btn { margin-top: 4px; width: 100%; font-weight: bold; }
.quest-status { text-align: center; font-size: 10px; margin-top: 3px; font-weight: bold; }
.quest-status.claimed { color: #00ff00; }
#taskbar { position: fixed; bottom: 0; left: 0; width: 100%; height: 30px; background: var(--win-bg); border-top: 2px solid var(--bt); display: flex; align-items: center; padding: 2px; z-index: 9998; gap: 5px; }
body.theme-htb #taskbar, body.theme-cyberpunk #taskbar { background: var(--win-bg-dark); border-top: 1px solid var(--border-color); }
body.theme-midnight #taskbar { background: #12121f; border-top: 1px solid #c8a44e; }
#startBtn { background: var(--btn-bg); border: 2px outset var(--bt); padding: 2px 10px; font-weight: bold; display: flex; align-items: center; gap: 5px; cursor: pointer; height: 100%; color: var(--text-color); }
body.theme-htb #startBtn, body.theme-cyberpunk #startBtn { border: 1px solid var(--border-color); }
#startBtn:active { border: 2px inset var(--bt); }
body.theme-htb #startBtn:active, body.theme-cyberpunk #startBtn:active { background: var(--btn-active-bg); color: var(--btn-active-text); }
#startMenu { position: fixed; bottom: 30px; left: 2px; width: 240px; background: var(--win-bg); border: 2px outset var(--bt); display: flex; flex-direction: column; z-index: 10000; box-shadow: var(--shadow); }
body.theme-htb #startMenu, body.theme-cyberpunk #startMenu { border: 1px solid var(--border-color); }
#taskbarApps { display: flex; gap: 2px; }
.taskbar-app { background: var(--btn-bg); border: 2px outset var(--bt); padding: 2px 10px; font-size: 12px; color: var(--text-color); }
body.theme-htb .taskbar-app, body.theme-cyberpunk .taskbar-app { border: 1px solid var(--border-color); }
.taskbar-app.active { border: 2px inset var(--bt); background: var(--btn-active-bg); color: var(--btn-active-text); }
body.theme-htb .taskbar-app.active, body.theme-cyberpunk .taskbar-app.active { border: 1px solid var(--border-color); }
.taskbar-spacer { flex: 1; }
#clock { background: var(--win-bg); border: 1px inset var(--bt); padding: 2px 10px; height: 100%; display: flex; align-items: center; color: var(--text-color); }
body.theme-htb #clock, body.theme-cyberpunk #clock { background: var(--win-bg-dark); border: 1px solid var(--border-color); }
.win-resize-handle { position: absolute; bottom: 0; right: 0; width: 16px; height: 16px; background: var(--win-bg); border-top: 2px solid var(--bb); border-left: 2px solid var(--bb); border-right: 2px solid var(--bt); border-bottom: 2px solid var(--bt); cursor: nwse-resize; z-index: 10; touch-action: none; }
body.theme-htb .win-resize-handle, body.theme-cyberpunk .win-resize-handle { background: var(--win-bg-dark); border: 1px solid var(--border-color); }
.market-item { margin-bottom: 4px; border-bottom: 1px solid var(--item-border); padding-bottom: 2px; }
.market-item-name { font-weight: bold; }
.lb-entry { display: flex; justify-content: space-between; margin-bottom: 2px; padding: 3px 5px; border-radius: 3px; transition: background 0.15s; }
.lb-entry.top1 { background: linear-gradient(90deg, rgba(255,215,0,0.15), transparent); border-left: 2px solid #FFD700; }
.lb-entry.top2 { background: linear-gradient(90deg, rgba(192,192,192,0.12), transparent); border-left: 2px solid #C0C0C0; }
.lb-entry.top3 { background: linear-gradient(90deg, rgba(205,127,50,0.1), transparent); border-left: 2px solid #CD7F32; }
/* Player's own row is declared LAST on purpose: it shares specificity with the
   top1/2/3 medal rules, so source order decides. Declaring it after them makes
   the player's bright background win even when they're also in the top 3
   (fixes the "own name not highlighted" bug on leaderboards like Pets). */
.lb-entry.player { background: var(--btn-active-bg); color: var(--btn-active-text); font-weight: bold; }
.lb-rank { width: 30px; flex-shrink: 0; font-weight: bold; color: var(--text-color); opacity: 0.8; }
.lb-name { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding: 0 6px; }
.lb-val { flex-shrink: 0; text-align: right; font-weight: bold; }
.lb-header { display: flex; justify-content: space-between; padding: 4px 5px; margin-bottom: 4px; border-bottom: 2px solid var(--border-color); font-weight: bold; font-size: 11px; opacity: 0.8; }
/* Achievement Cards */
.ach-card {
    flex: 0 1 calc(50% - 4px);
    min-width: 140px;
    padding: 3px 5px;
    background: var(--win-bg-dark);
    border: 1px solid var(--item-border);
    text-align: left;
    font-size: 10px;
    position: relative;
    display: flex;
    flex-direction: column;
}
.ach-card.ach-unlocked {
    border-color: #00cc00;
    background: linear-gradient(135deg, var(--win-bg-dark) 0%, rgba(0,204,0,0.1) 100%);
}
.ach-card-header {
    display: flex;
    align-items: center;
    gap: 4px;
    font-weight: bold;
    font-size: 11px;
    margin-bottom: 2px;
}
.ach-card-icon {
    width: 14px;
    height: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 9px;
    font-weight: bold;
    flex-shrink: 0;
}
.ach-unlocked .ach-card-icon {
    background: #00cc00;
    color: #fff;
}
:not(.ach-unlocked) .ach-card-icon {
    background: #666;
    color: #ccc;
}
.ach-card-desc {
    color: var(--text-color);
    opacity: 0.85;
    margin-bottom: 2px;
    font-size: 10px;
    line-height: 1.2;
}
.ach-card-progress {
    font-size: 9px;
    color: #888;
    text-align: right;
    margin-top: 1px;
}
.ach-card-bonus {
    display: flex;
    flex-wrap: wrap;
    gap: 2px;
    margin-top: 2px;
}
.ach-badge {
    font-size: 8px;
    padding: 1px 3px;
    background: #ffcc00;
    color: #000;
    border-radius: 2px;
    font-weight: bold;
}
body.theme-htb .ach-bonus { color: #00ffff; }
body.theme-cyberpunk .ach-bonus { color: #00ffff; }
body.theme-midnight .ach-bonus { color: #e8c44e; }
.start-menu-sidebar { background: linear-gradient(90deg, #000080, #1084d0); color: #fff; font-weight: bold; font-size: 14px; height: 28px; padding: 0 10px; text-align: left; flex-shrink: 0; display: flex; align-items: center; justify-content: flex-start; white-space: nowrap; order: 2; }
body.theme-htb .start-menu-sidebar, body.theme-cyberpunk .start-menu-sidebar { background: var(--win-bg-dark); color: var(--text-color); border-top: 1px solid var(--border-color); border-right: none; }
body.theme-midnight .start-menu-sidebar { background: #0d0d1a; color: #c8a44e; border-top: 1px solid #c8a44e; border-right: none; }
.start-menu-items { flex: 1; padding: 4px; overflow-y: auto; }
.start-item { padding: 6px 10px; cursor: pointer; display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--text-color); }
.start-item:hover { background: #000080; color: #fff; }
body.theme-htb .start-item:hover, body.theme-cyberpunk .start-item:hover { background: var(--btn-active-bg); color: var(--btn-active-text); }
body.theme-midnight .start-item:hover { background: #c8a44e; color: #0d0d1a; }
body.theme-neon { --desktop-bg: #0a0a14; --text-color: #e06cff; --win-bg: #12121f; --win-bg-dark: #0a0a14; --border-color: #e06cff; --title-bg: linear-gradient(90deg, #7b2cbf, #e06cff); --title-text: #fff; --btn-bg: #1a1a2e; --btn-active-bg: #e06cff; --btn-active-text: #0a0a14; --item-border: #2a2a3e; --scrollbar-track: #0a0a14; --scrollbar-thumb: #e06cff; --shadow: 0 0 15px rgba(224,108,255,0.4); --glow: 0 0 18px rgba(224,108,255,0.5); --field-border: 1px solid #e06cff; --field-legend: #e06cff; --bt: #e06cff; --bl: #e06cff; --br: #e06cff; --bb: #e06cff; --icon-color: #e06cff; --icon-shadow: 0 0 3px #e06cff; --font: 'Consolas', 'Courier New', monospace; --font-size: 12px; cursor: crosshair; --chat-color: #b388ff; --panel-text: #e06cff; }
body.theme-neon .win98-window { border-radius: 4px; border: 1px solid var(--border-color); box-shadow: var(--shadow); }
body.theme-neon .title-bar { border-bottom: 1px solid var(--border-color); height: 24px; border-radius: 3px 3px 0 0; }
body.theme-neon .win-btn { width: 18px; height: 18px; border-radius: 2px; border: 1px solid var(--border-color); }
body.theme-neon .win-btn:active { background: var(--btn-active-bg); color: var(--btn-active-text); }
body.theme-neon .window-content { border-radius: 0 0 3px 3px; }
body.theme-neon .win98-btn { border: 1px solid var(--border-color); border-radius: 3px; }
body.theme-neon .win98-btn:active { background: var(--btn-active-bg); color: var(--btn-active-text); }
body.theme-neon .win98-btn:hover { background: #22224a; }
body.theme-neon .win98-fieldset { border: 1px solid var(--border-color); border-radius: 4px; }
body.theme-neon .tab-headers { border-bottom: 1px solid var(--border-color); background: var(--win-bg-dark); }
body.theme-neon .tab-btn { border: 1px solid var(--border-color); border-radius: 3px; }
body.theme-neon .tab-btn.active { background: var(--btn-active-bg); color: var(--btn-active-text); }
body.theme-neon .log-box { background: #060610; color: var(--chat-color); border: 1px solid #7b2cbf; border-radius: 3px; }
body.theme-neon .log-box::-webkit-scrollbar-track { background: #060610; }
body.theme-neon .log-box::-webkit-scrollbar-thumb { background: #7b2cbf; border-radius: 3px; }
body.theme-neon .progress-track { background: var(--win-bg-dark); border: 1px solid var(--border-color); border-radius: 3px; }
body.theme-neon .progress-fill { background: linear-gradient(90deg, #7b2cbf, #e06cff); border-right: none; }
body.theme-neon #taskbar { background: var(--win-bg-dark); border-top: 1px solid var(--border-color); }
body.theme-neon #startBtn { border: 1px solid var(--border-color); border-radius: 3px; }
body.theme-neon #startBtn:active { background: var(--btn-active-bg); color: var(--btn-active-text); }
body.theme-neon #startMenu { border: 1px solid var(--border-color); border-radius: 4px; }
body.theme-neon .start-menu-sidebar { background: var(--win-bg-dark); color: var(--text-color); border-top: 1px solid var(--border-color); border-right: none; }
body.theme-neon .start-item:hover { background: #22224a; color: #fff; }
body.theme-neon .taskbar-app { border: 1px solid var(--border-color); border-radius: 2px; }
body.theme-neon .taskbar-app.active { background: var(--btn-active-bg); color: var(--btn-active-text); }
body.theme-neon #clock { background: var(--win-bg-dark); border: 1px solid var(--border-color); border-radius: 2px; }
body.theme-neon #chatInput { background: #060610; color: #b388ff; border: 1px solid #7b2cbf; border-radius: 3px; }
body.theme-neon .win-resize-handle { background: transparent; border: none; }
body.theme-neon .desktop-icon:hover { background: rgba(224,108,255,0.15); border: 1px dotted #e06cff; }
body.theme-neon .ach-bonus { color: #d4a5ff; }
body.theme-forest { --desktop-bg: #2d3b2f; --text-color: #e8e0d4; --win-bg: #3e4a42; --win-bg-dark: #333f38; --border-color: #8fa87a; --title-bg: linear-gradient(90deg, #4a6741, #6b8f5e); --title-text: #e8e0d4; --btn-bg: #4a5a4f; --btn-active-bg: #8fa87a; --btn-active-text: #1a241f; --item-border: #5a6a5f; --scrollbar-track: #333f38; --scrollbar-thumb: #8fa87a; --shadow: 2px 2px 6px rgba(0,0,0,0.4); --glow: 0 0 8px rgba(143,168,122,0.3); --field-border: 1px solid #8fa87a; --field-legend: #e8e0d4; --bt: #8fa87a; --bl: #8fa87a; --br: #8fa87a; --bb: #8fa87a; --icon-color: #e8e0d4; --icon-shadow: 1px 1px 0 #1a241f; --font: 'Consolas', 'Courier New', monospace; --font-size: 12px; cursor: default; --chat-color: #a8d5a2; --panel-text: #e8e0d4; }
body.theme-forest .win98-window { border-radius: 4px; border: 1px solid var(--border-color); }
body.theme-forest .title-bar { border-bottom: 1px solid var(--border-color); height: 24px; border-radius: 3px 3px 0 0; }
body.theme-forest .win-btn { width: 18px; height: 18px; border-radius: 2px; border: 1px solid var(--border-color); }
body.theme-forest .win-btn:active { background: var(--btn-active-bg); color: var(--btn-active-text); }
body.theme-forest .window-content { border-radius: 0 0 3px 3px; }
body.theme-forest .win98-btn { border: 1px solid var(--border-color); border-radius: 3px; }
body.theme-forest .win98-btn:active { background: var(--btn-active-bg); color: var(--btn-active-text); }
body.theme-forest .win98-btn:hover { background: #5a6a5f; }
body.theme-forest .win98-fieldset { border: 1px solid var(--border-color); border-radius: 4px; }
body.theme-forest .tab-headers { border-bottom: 1px solid var(--border-color); background: var(--win-bg-dark); }
body.theme-forest .tab-btn { border: 1px solid var(--border-color); border-radius: 3px; }
body.theme-forest .tab-btn.active { background: var(--btn-active-bg); color: var(--btn-active-text); }
body.theme-forest .log-box { background: #1a241f; color: var(--chat-color); border: 1px solid #6b8f5e; border-radius: 3px; }
body.theme-forest .log-box::-webkit-scrollbar-track { background: #1a241f; }
body.theme-forest .log-box::-webkit-scrollbar-thumb { background: #6b8f5e; border-radius: 3px; }
body.theme-forest .progress-track { background: #2d3b2f; border: 1px solid var(--border-color); border-radius: 3px; }
body.theme-forest .progress-fill { background: linear-gradient(90deg, #4a6741, #8fa87a); border-right: none; }
body.theme-forest #taskbar { background: var(--win-bg-dark); border-top: 1px solid var(--border-color); }
body.theme-forest #startBtn { border: 1px solid var(--border-color); border-radius: 3px; }
body.theme-forest #startBtn:active { background: var(--btn-active-bg); color: var(--btn-active-text); }
body.theme-forest #startMenu { border: 1px solid var(--border-color); border-radius: 4px; }
body.theme-forest .start-menu-sidebar { background: var(--win-bg-dark); color: var(--text-color); border-top: 1px solid var(--border-color); border-right: none; }
body.theme-forest .start-item:hover { background: #5a6a5f; color: #e8e0d4; }
body.theme-forest .taskbar-app { border: 1px solid var(--border-color); border-radius: 2px; }
body.theme-forest .taskbar-app.active { background: var(--btn-active-bg); color: var(--btn-active-text); }
body.theme-forest #clock { background: var(--win-bg-dark); border: 1px solid var(--border-color); border-radius: 2px; }
body.theme-forest #chatInput { background: #1a241f; color: #a8d5a2; border: 1px solid #6b8f5e; border-radius: 3px; }
body.theme-forest .win-resize-handle { background: transparent; border: none; }
body.theme-forest .desktop-icon:hover { background: rgba(143,168,122,0.15); border: 1px dotted #8fa87a; }
body.theme-forest .ach-bonus { color: #b8d8a8; }
body.theme-solarized { --desktop-bg: #fdf6e3; --text-color: #586e75; --win-bg: #eee8d5; --win-bg-dark: #fdf6e3; --border-color: #93a1a1; --title-bg: #073642; --title-text: #fdf6e3; --btn-bg: #eee8d5; --btn-active-bg: #2aa198; --btn-active-text: #fdf6e3; --item-border: #93a1a1; --scrollbar-track: #fdf6e3; --scrollbar-thumb: #93a1a1; --shadow: 2px 2px 4px rgba(0,0,0,0.15); --glow: 0 0 0 1px rgba(0,0,0,0.05); --field-border: 1px solid #93a1a1; --field-legend: #586e75; --bt: #93a1a1; --bl: #93a1a1; --br: #93a1a1; --bb: #93a1a1; --icon-color: #586e75; --icon-shadow: 1px 1px 0 #eee8d5; --font: 'Consolas', 'Courier New', monospace; --font-size: 12px; cursor: default; --chat-color: #859900; --panel-text: #586e75; }
body.theme-solarized .win98-window { border-radius: 2px; border: 1px solid var(--border-color); }
body.theme-solarized .title-bar { border-bottom: 1px solid #073642; height: 24px; }
body.theme-solarized .win-btn { width: 18px; height: 18px; border: 1px solid #073642; background: #073642; color: #fdf6e3; }
body.theme-solarized .win-btn:active { background: #dc322f; color: #fdf6e3; border-color: #dc322f; }
body.theme-solarized .window-content { }
body.theme-solarized .win98-btn { border: 1px solid #93a1a1; border-radius: 2px; }
body.theme-solarized .win98-btn:active { background: #2aa198; color: #fdf6e3; border-color: #2aa198; }
body.theme-solarized .win98-btn:hover { background: #fdf6e3; }
body.theme-solarized .win98-fieldset { border: 1px solid var(--border-color); }
body.theme-solarized .tab-headers { border-bottom: 1px solid var(--border-color); background: var(--win-bg-dark); }
body.theme-solarized .tab-btn { border: 1px solid var(--border-color); }
body.theme-solarized .tab-btn.active { background: var(--btn-active-bg); color: var(--btn-active-text); }
body.theme-solarized .log-box { background: #002b36; color: var(--chat-color); border: 1px solid #073642; }
body.theme-solarized .log-box::-webkit-scrollbar-track { background: #002b36; }
body.theme-solarized .log-box::-webkit-scrollbar-thumb { background: #073642; }
body.theme-solarized .progress-track { background: #fdf6e3; border: 1px solid var(--border-color); }
body.theme-solarized .progress-fill { background: #2aa198; border-right: none; }
body.theme-solarized #taskbar { background: #eee8d5; border-top: 1px solid var(--border-color); }
body.theme-solarized #startBtn { border: 1px solid var(--border-color); }
body.theme-solarized #startBtn:active { background: #2aa198; color: #fdf6e3; }
body.theme-solarized #startMenu { border: 1px solid var(--border-color); box-shadow: var(--shadow); }
body.theme-solarized .start-menu-sidebar { background: #073642; color: #fdf6e3; border-top: 1px solid #073642; border-right: none; }
body.theme-solarized .start-item:hover { background: #2aa198; color: #fdf6e3; }
body.theme-solarized .taskbar-app { border: 1px solid var(--border-color); }
body.theme-solarized .taskbar-app.active { background: var(--btn-active-bg); color: var(--btn-active-text); }
body.theme-solarized #clock { background: #fdf6e3; border: 1px solid var(--border-color); }
body.theme-solarized #chatInput { background: #fdf6e3; color: #586e75; border: 1px solid var(--border-color); }
body.theme-solarized .win-resize-handle { border: 1px solid var(--border-color); background: var(--win-bg); }
body.theme-solarized .desktop-icon:hover { background: rgba(42,161,152,0.15); border: 1px dotted #2aa198; }
body.theme-solarized .ach-bonus { color: #2aa198; }
body.theme-arcade { --desktop-bg: #0d0d1a; --text-color: #ffe135; --win-bg: #1a1a2e; --win-bg-dark: #12121f; --border-color: #ff6b35; --title-bg: linear-gradient(90deg, #2d1b69, #ff6b35); --title-text: #ffe135; --btn-bg: #1a1a2e; --btn-active-bg: #ff6b35; --btn-active-text: #0d0d1a; --item-border: #333355; --scrollbar-track: #12121f; --scrollbar-thumb: #ff6b35; --shadow: 0 0 8px rgba(255,107,53,0.4); --glow: 0 0 12px rgba(255,107,53,0.3); --field-border: 1px solid #ff6b35; --field-legend: #ffe135; --bt: #ff6b35; --bl: #ff6b35; --br: #ff6b35; --bb: #ff6b35; --icon-color: #ffe135; --icon-shadow: 0 0 3px #ff6b35; --font: 'Consolas', 'Courier New', monospace; --font-size: 12px; cursor: crosshair; --chat-color: #39ff14; --panel-text: #ffe135; }
body.theme-arcade .win98-window { border-radius: 4px; border: 1px solid var(--border-color); box-shadow: var(--shadow); }
body.theme-arcade .title-bar { border-bottom: 1px solid var(--border-color); height: 24px; border-radius: 3px 3px 0 0; }
body.theme-arcade .win-btn { width: 18px; height: 18px; border-radius: 2px; border: 1px solid var(--border-color); }
body.theme-arcade .win-btn:active { background: var(--btn-active-bg); color: var(--btn-active-text); }
body.theme-arcade .window-content { border-radius: 0 0 3px 3px; }
body.theme-arcade .win98-btn { border: 1px solid var(--border-color); border-radius: 3px; }
body.theme-arcade .win98-btn:active { background: var(--btn-active-bg); color: var(--btn-active-text); }
body.theme-arcade .win98-btn:hover { background: #2a2a4a; }
body.theme-arcade .win98-fieldset { border: 1px solid var(--border-color); border-radius: 4px; }
body.theme-arcade .tab-headers { border-bottom: 1px solid var(--border-color); background: var(--win-bg-dark); }
body.theme-arcade .tab-btn { border: 1px solid var(--border-color); border-radius: 3px; }
body.theme-arcade .tab-btn.active { background: var(--btn-active-bg); color: var(--btn-active-text); }
body.theme-arcade .log-box { background: #060610; color: var(--chat-color); border: 1px solid #ff6b35; border-radius: 3px; }
body.theme-arcade .log-box::-webkit-scrollbar-track { background: #060610; }
body.theme-arcade .log-box::-webkit-scrollbar-thumb { background: #ff6b35; border-radius: 3px; }
body.theme-arcade .progress-track { background: var(--win-bg-dark); border: 1px solid var(--border-color); border-radius: 3px; }
body.theme-arcade .progress-fill { background: linear-gradient(90deg, #ff6b35, #ffe135); border-right: none; }
body.theme-arcade #taskbar { background: var(--win-bg-dark); border-top: 1px solid var(--border-color); }
body.theme-arcade #startBtn { border: 1px solid var(--border-color); border-radius: 3px; }
body.theme-arcade #startBtn:active { background: var(--btn-active-bg); color: var(--btn-active-text); }
body.theme-arcade #startMenu { border: 1px solid var(--border-color); border-radius: 4px; }
body.theme-arcade .start-menu-sidebar { background: var(--win-bg-dark); color: var(--text-color); border-top: 1px solid var(--border-color); border-right: none; }
body.theme-arcade .start-item:hover { background: #2a2a4a; color: #ffe135; }
body.theme-arcade .taskbar-app { border: 1px solid var(--border-color); border-radius: 2px; }
body.theme-arcade .taskbar-app.active { background: var(--btn-active-bg); color: var(--btn-active-text); }
body.theme-arcade #clock { background: var(--win-bg-dark); border: 1px solid var(--border-color); border-radius: 2px; }
body.theme-arcade #chatInput { background: #060610; color: #39ff14; border: 1px solid #ff6b35; border-radius: 3px; }
body.theme-arcade .win-resize-handle { background: transparent; border: none; }
body.theme-arcade .desktop-icon:hover { background: rgba(255,107,53,0.15); border: 1px dotted #ff6b35; }
body.theme-arcade .ach-bonus { color: #ffe135; }
/* ===== Linux Mint — Cinnamon DE ===== */
body.theme-mint { --desktop-bg: #2b2b2b; --text-color: #d4d4d4; --win-bg: #383838; --win-bg-dark: #2e2e2e; --border-color: #87af5f; --title-bg: linear-gradient(180deg, #3a3a3a, #2e2e2e); --title-text: #d4d4d4; --btn-bg: #3e3e3e; --btn-active-bg: #87af5f; --btn-active-text: #1a1a1a; --item-border: #555; --scrollbar-track: #2e2e2e; --scrollbar-thumb: #87af5f; --shadow: 2px 2px 8px rgba(0,0,0,0.5); --glow: none; --field-border: 1px solid #555; --field-legend: #87af5f; --bt: #555; --bl: #555; --br: #333; --bb: #333; --icon-color: #d4d4d4; --icon-shadow: 1px 1px 2px rgba(0,0,0,0.8); --font: 'Cantarell', 'Segoe UI', 'DejaVu Sans', sans-serif; --font-size: 12px; cursor: default; --chat-color: #87af5f; --panel-text: #d4d4d4; }
body.theme-mint .win98-window { border-radius: 8px; border: 1px solid #1a1a1a; box-shadow: 0 2px 12px rgba(0,0,0,0.5); background: var(--win-bg); }
body.theme-mint .title-bar { background: var(--title-bg); border-bottom: 1px solid #222; border-radius: 7px 7px 0 0; height: 28px; padding: 0 6px; }
body.theme-mint .win-btn { width: 20px; height: 20px; border-radius: 50%; border: none; background: #4a4a4a; color: transparent; font-size: 0; }
body.theme-mint .win-btn:first-child { background: #87af5f; }
body.theme-mint .win-btn:nth-child(2) { background: #e0c040; }
body.theme-mint .win-btn:last-child { background: #d04040; }
body.theme-mint .win-btn:active { filter: brightness(0.8); }
body.theme-mint .window-content { border-radius: 0 0 7px 7px; border: none; }
body.theme-mint .win98-btn { border: 1px solid #555; border-radius: 6px; background: linear-gradient(180deg, #444, #333); color: #d4d4d4; padding: 4px 12px; }
body.theme-mint .win98-btn:active { background: var(--btn-active-bg); color: var(--btn-active-text); border-color: #87af5f; }
body.theme-mint .win98-btn:hover { background: #4a4a4a; border-color: #87af5f; }
body.theme-mint .win98-fieldset { border: 1px solid #555; border-radius: 6px; }
body.theme-mint .tab-headers { border-bottom: 1px solid #555; background: var(--win-bg-dark); gap: 2px; padding: 4px 4px 0 4px; }
body.theme-mint .tab-btn { border: 1px solid #555; border-bottom: none; border-radius: 6px 6px 0 0; background: #333; padding: 4px 10px; }
body.theme-mint .tab-btn.active { background: var(--win-bg); border-bottom: 2px solid var(--win-bg); color: #87af5f; }
body.theme-mint .log-box { background: #1a1a1a; color: var(--chat-color); border: 1px solid #444; border-radius: 6px; font-family: 'Consolas', monospace; }
body.theme-mint .log-box::-webkit-scrollbar-track { background: #1a1a1a; border-radius: 6px; }
body.theme-mint .log-box::-webkit-scrollbar-thumb { background: #87af5f; border-radius: 6px; }
body.theme-mint .progress-track { background: #2e2e2e; border: 1px solid #444; border-radius: 6px; }
body.theme-mint .progress-fill { background: linear-gradient(90deg, #4a7a2a, #87af5f); border-right: none; border-radius: 6px; }
body.theme-mint #taskbar { background: linear-gradient(180deg, #3a3a3a, #2a2a2a); border-top: 1px solid #222; height: 36px; padding: 3px 6px; }
body.theme-mint #startBtn { border: 1px solid #2a5a1a; border-radius: 6px; background: linear-gradient(180deg, #5a9a3a, #3a7a1a); color: #fff; font-weight: bold; padding: 4px 14px; height: 100%; border-bottom: 3px solid #2a5a1a; }
body.theme-mint #startBtn:active { background: linear-gradient(180deg, #3a7a1a, #2a5a1a); border-bottom-width: 1px; }
body.theme-mint #startMenu { border: 1px solid #1a1a1a; border-radius: 8px; box-shadow: 0 4px 20px rgba(0,0,0,0.6); width: 300px; background: var(--win-bg); }
body.theme-mint .start-menu-sidebar { background: linear-gradient(90deg, #87af5f, #4a7a2a); color: #fff; border-top: 1px solid #1a1a1a; border-right: 1px solid #2a2a2a; border-radius: 0 0 0 7px; }
body.theme-mint .start-menu-items { padding: 8px; }
body.theme-mint .start-item { padding: 8px 12px; border-radius: 6px; }
body.theme-mint .start-item:hover { background: rgba(135,175,95,0.2); color: #87af5f; }
body.theme-mint .taskbar-app { border: 1px solid #444; border-radius: 6px; background: #333; padding: 3px 10px; }
body.theme-mint .taskbar-app.active { background: rgba(135,175,95,0.25); border-color: #87af5f; color: #87af5f; }
body.theme-mint #clock { background: transparent; border: none; color: #d4d4d4; padding: 2px 8px; }
body.theme-mint #chatInput { background: #1a1a1a; color: #87af5f; border: 1px solid #444; border-radius: 6px; }
body.theme-mint .win-resize-handle { background: transparent; border: none; }
body.theme-mint .desktop-icon:hover { background: rgba(135,175,95,0.15); border: 1px dotted #87af5f; }
body.theme-mint .ach-bonus { color: #87af5f; }
body.theme-mint #desktop { background: linear-gradient(135deg, #2b2b2b 0%, #333 50%, #2b2b2b 100%); }
/* ===== Ubuntu — GNOME DE ===== */
body.theme-ubuntu { --desktop-bg: #2c001e; --text-color: #aea79f; --win-bg: #300a24; --win-bg-dark: #2c001e; --border-color: #e95420; --title-bg: linear-gradient(180deg, #3a0e2e, #2c001e); --title-text: #fff; --btn-bg: #3e0e2e; --btn-active-bg: #e95420; --btn-active-text: #fff; --item-border: #5a2a4e; --scrollbar-track: #2c001e; --scrollbar-thumb: #e95420; --shadow: 0 4px 16px rgba(0,0,0,0.5); --glow: none; --field-border: 1px solid #5a2a4e; --field-legend: #e95420; --bt: #5a2a4e; --bl: #5a2a4e; --br: #2c001e; --bb: #2c001e; --icon-color: #fff; --icon-shadow: 1px 1px 3px rgba(0,0,0,0.8); --font: 'Ubuntu', 'Segoe UI', 'DejaVu Sans', sans-serif; --font-size: 12px; cursor: default; --chat-color: #e95420; --panel-text: #aea79f; }
body.theme-ubuntu .win98-window { border-radius: 10px; border: 1px solid #1a0010; box-shadow: 0 4px 20px rgba(0,0,0,0.6); background: var(--win-bg); }
body.theme-ubuntu .title-bar { background: var(--title-bg); border-bottom: 1px solid #1a0010; border-radius: 9px 9px 0 0; height: 32px; padding: 0 8px; }
body.theme-ubuntu .win-btn { width: 20px; height: 20px; border-radius: 50%; border: none; background: #4a1a3e; color: transparent; font-size: 0; }
body.theme-ubuntu .win-btn:first-child { background: #e95420; }
body.theme-ubuntu .win-btn:nth-child(2) { background: #f0a020; }
body.theme-ubuntu .win-btn:last-child { background: #d04040; }
body.theme-ubuntu .win-btn:active { filter: brightness(0.7); }
body.theme-ubuntu .window-content { border-radius: 0 0 9px 9px; border: none; }
body.theme-ubuntu .win98-btn { border: none; border-radius: 8px; background: #4a1a3e; color: #aea79f; padding: 5px 14px; }
body.theme-ubuntu .win98-btn:active { background: var(--btn-active-bg); color: var(--btn-active-text); }
body.theme-ubuntu .win98-btn:hover { background: #5a2a4e; }
body.theme-ubuntu .win98-fieldset { border: 1px solid #5a2a4e; border-radius: 8px; }
body.theme-ubuntu .tab-headers { border-bottom: 1px solid #5a2a4e; background: var(--win-bg-dark); gap: 2px; padding: 4px 4px 0 4px; }
body.theme-ubuntu .tab-btn { border: none; border-bottom: 3px solid transparent; border-radius: 4px 4px 0 0; background: transparent; padding: 4px 12px; }
body.theme-ubuntu .tab-btn.active { background: rgba(233,84,32,0.2); border-bottom-color: #e95420; color: #fff; }
body.theme-ubuntu .log-box { background: #1a0010; color: var(--chat-color); border: 1px solid #5a2a4e; border-radius: 8px; font-family: 'Ubuntu Mono', 'Consolas', monospace; }
body.theme-ubuntu .log-box::-webkit-scrollbar-track { background: #1a0010; border-radius: 8px; }
body.theme-ubuntu .log-box::-webkit-scrollbar-thumb { background: #e95420; border-radius: 8px; }
body.theme-ubuntu .progress-track { background: #2c001e; border: none; border-radius: 8px; }
body.theme-ubuntu .progress-fill { background: linear-gradient(90deg, #772953, #e95420); border-right: none; border-radius: 8px; }
/* Ubuntu: top bar instead of bottom taskbar */
body.theme-ubuntu #taskbar { background: rgba(0,0,0,0.85); border-top: none; border-bottom: 1px solid #e95420; height: 28px; top: 0; bottom: auto; padding: 0 12px; }
body.theme-ubuntu #startBtn { border: none; border-radius: 0; background: transparent; color: #fff; font-weight: normal; padding: 4px 12px; height: 100%; }
body.theme-ubuntu #startBtn:hover { background: rgba(233,84,32,0.3); }
body.theme-ubuntu #startBtn:active { background: rgba(233,84,32,0.5); }
body.theme-ubuntu #startMenu { border: 1px solid #1a0010; border-radius: 12px; box-shadow: 0 8px 32px rgba(0,0,0,0.7); width: 320px; top: 30px; bottom: auto; left: 4px; background: var(--win-bg); }
body.theme-ubuntu .start-menu-sidebar { background: linear-gradient(90deg, #e95420, #c04a1a); color: #fff; border-radius: 11px 0 0 0; border: none; }
body.theme-ubuntu .start-menu-items { padding: 10px; }
body.theme-ubuntu .start-item { padding: 10px 14px; border-radius: 8px; }
body.theme-ubuntu .start-item:hover { background: rgba(233,84,32,0.2); color: #fff; }
body.theme-ubuntu .taskbar-app { border: none; border-radius: 0; background: transparent; padding: 4px 12px; border-bottom: 3px solid transparent; }
body.theme-ubuntu .taskbar-app.active { background: rgba(233,84,32,0.2); border-bottom-color: #e95420; color: #fff; }
body.theme-ubuntu #clock { background: transparent; border: none; color: #fff; padding: 2px 10px; }
body.theme-ubuntu #chatInput { background: #1a0010; color: #e95420; border: 1px solid #5a2a4e; border-radius: 8px; }
body.theme-ubuntu .win-resize-handle { background: transparent; border: none; }
body.theme-ubuntu .desktop-icon:hover { background: rgba(233,84,32,0.15); border: 1px dotted #e95420; }
body.theme-ubuntu .ach-bonus { color: #e95420; }
body.theme-ubuntu #desktop { background: radial-gradient(ellipse at top left, #4a0e2e 0%, #2c001e 60%); padding-top: 40px; }
/* ===== Debian — GNOME DE ===== */
body.theme-debian { --desktop-bg: #d70751; --text-color: #333; --win-bg: #fafafa; --win-bg-dark: #eee; --border-color: #d70751; --title-bg: linear-gradient(180deg, #f0f0f0, #e0e0e0); --title-text: #333; --btn-bg: #eee; --btn-active-bg: #d70751; --btn-active-text: #fff; --item-border: #ccc; --scrollbar-track: #eee; --scrollbar-thumb: #d70751; --shadow: 0 4px 16px rgba(0,0,0,0.2); --glow: none; --field-border: 1px solid #ccc; --field-legend: #d70751; --bt: #fff; --bl: #fff; --br: #aaa; --bb: #aaa; --icon-color: #fff; --icon-shadow: 1px 1px 3px rgba(0,0,0,0.5); --font: 'Cantarell', 'Segoe UI', 'DejaVu Sans', sans-serif; --font-size: 12px; cursor: default; --chat-color: #d70751; --panel-text: #fff; }
body.theme-debian .win98-window { border-radius: 10px; border: 1px solid #ccc; box-shadow: 0 4px 20px rgba(0,0,0,0.2); background: var(--win-bg); }
body.theme-debian .title-bar { background: var(--title-bg); border-bottom: 1px solid #ddd; border-radius: 9px 9px 0 0; height: 32px; padding: 0 8px; color: #555; }
body.theme-debian .win-btn { width: 20px; height: 20px; border-radius: 50%; border: none; background: #ddd; color: transparent; font-size: 0; }
body.theme-debian .win-btn:first-child { background: #87af5f; }
body.theme-debian .win-btn:nth-child(2) { background: #e0c040; }
body.theme-debian .win-btn:last-child { background: #d04040; }
body.theme-debian .win-btn:active { filter: brightness(0.8); }
body.theme-debian .window-content { border-radius: 0 0 9px 9px; border: none; }
body.theme-debian .win98-btn { border: 1px solid #ccc; border-radius: 6px; background: linear-gradient(180deg, #fff, #eee); color: #333; padding: 4px 12px; }
body.theme-debian .win98-btn:active { background: var(--btn-active-bg); color: var(--btn-active-text); }
body.theme-debian .win98-btn:hover { background: #ddd; }
body.theme-debian .win98-fieldset { border: 1px solid #ccc; border-radius: 8px; }
body.theme-debian .tab-headers { border-bottom: 1px solid #ccc; background: var(--win-bg-dark); gap: 2px; padding: 4px 4px 0 4px; }
body.theme-debian .tab-btn { border: none; border-bottom: 3px solid transparent; border-radius: 4px 4px 0 0; background: transparent; padding: 4px 12px; color: #666; }
body.theme-debian .tab-btn.active { border-bottom-color: #d70751; color: #d70751; background: #fff; }
body.theme-debian .log-box { background: #1a1a1a; color: var(--chat-color); border: 1px solid #ccc; border-radius: 8px; font-family: 'Consolas', monospace; }
body.theme-debian .log-box::-webkit-scrollbar-track { background: #eee; border-radius: 8px; }
body.theme-debian .log-box::-webkit-scrollbar-thumb { background: #d70751; border-radius: 8px; }
body.theme-debian .progress-track { background: #eee; border: none; border-radius: 8px; }
body.theme-debian .progress-fill { background: linear-gradient(90deg, #a90538, #d70751); border-right: none; border-radius: 8px; }
/* Debian: top bar */
body.theme-debian #taskbar { background: rgba(0,0,0,0.75); border-top: none; border-bottom: 1px solid #d70751; height: 28px; top: 0; bottom: auto; padding: 0 12px; }
body.theme-debian #startBtn { border: none; border-radius: 0; background: transparent; color: #fff; font-weight: normal; padding: 4px 12px; height: 100%; }
body.theme-debian #startBtn:hover { background: rgba(215,7,81,0.3); }
body.theme-debian #startBtn:active { background: rgba(215,7,81,0.5); }
body.theme-debian #startMenu { border: 1px solid #ccc; border-radius: 12px; box-shadow: 0 8px 32px rgba(0,0,0,0.3); width: 300px; top: 30px; bottom: auto; left: 4px; background: var(--win-bg); }
body.theme-debian .start-menu-sidebar { background: linear-gradient(90deg, #d70751, #a90538); color: #fff; border-radius: 11px 0 0 0; border: none; }
body.theme-debian .start-menu-items { padding: 10px; }
body.theme-debian .start-item { padding: 10px 14px; border-radius: 8px; color: #333; }
body.theme-debian .start-item:hover { background: rgba(215,7,81,0.1); color: #d70751; }
body.theme-debian .taskbar-app { border: none; border-radius: 0; background: transparent; padding: 4px 12px; border-bottom: 3px solid transparent; color: #fff; }
body.theme-debian .taskbar-app.active { background: rgba(215,7,81,0.2); border-bottom-color: #d70751; color: #fff; }
body.theme-debian #clock { background: transparent; border: none; color: #fff; padding: 2px 10px; }
body.theme-debian #chatInput { background: #fff; color: #d70751; border: 1px solid #ccc; border-radius: 8px; }
body.theme-debian .win-resize-handle { background: transparent; border: none; }
body.theme-debian .desktop-icon:hover { background: rgba(215,7,81,0.15); border: 1px dotted #d70751; }
body.theme-debian .ach-bonus { color: #d70751; }
body.theme-debian #desktop { background: radial-gradient(ellipse at top, #e82060 0%, #d70751 40%, #a90538 100%); padding-top: 40px; }
/* ===== Kali Linux — GNOME dark / terminal aesthetic ===== */
body.theme-kali { --desktop-bg: #0f1f1f; --text-color: #2a9d8f; --win-bg: #0a1818; --win-bg-dark: #050d0d; --border-color: #2a9d8f; --title-bg: #050d0d; --title-text: #2a9d8f; --btn-bg: #0a1818; --btn-active-bg: #2a9d8f; --btn-active-text: #050d0d; --item-border: #1a3838; --scrollbar-track: #050d0d; --scrollbar-thumb: #2a9d8f; --shadow: 0 0 12px rgba(42,157,143,0.2); --glow: 0 0 15px rgba(42,157,143,0.3); --field-border: 1px solid #1a3838; --field-legend: #2a9d8f; --bt: #1a3838; --bl: #1a3838; --br: #050d0d; --bb: #050d0d; --icon-color: #2a9d8f; --icon-shadow: 0 0 4px rgba(0,0,0,0.9); --font: 'Consolas', 'Courier New', monospace; --font-size: 12px; cursor: crosshair; --chat-color: #2a9d8f; --panel-text: #2a9d8f; }
body.theme-kali .win98-window { border-radius: 2px; border: 1px solid #1a3838; box-shadow: 0 0 15px rgba(42,157,143,0.15); background: var(--win-bg); }
body.theme-kali .title-bar { background: var(--title-bg); border-bottom: 1px solid #1a3838; border-radius: 0; height: 24px; padding: 0 6px; }
body.theme-kali .win-btn { width: 16px; height: 16px; border: 1px solid #1a3838; border-radius: 0; background: #0a1818; }
body.theme-kali .win-btn:active { background: var(--btn-active-bg); color: var(--btn-active-text); }
body.theme-kali .window-content { border-radius: 0; border: none; }
body.theme-kali .win98-btn { border: 1px solid #1a3838; border-radius: 0; background: #0a1818; color: #2a9d8f; padding: 3px 10px; }
body.theme-kali .win98-btn:active { background: var(--btn-active-bg); color: var(--btn-active-text); }
body.theme-kali .win98-btn:hover { background: #1a3838; }
body.theme-kali .win98-fieldset { border: 1px solid #1a3838; border-radius: 0; }
body.theme-kali .tab-headers { border-bottom: 1px solid #1a3838; background: var(--win-bg-dark); gap: 0; padding: 0; }
body.theme-kali .tab-btn { border: none; border-bottom: 2px solid transparent; border-radius: 0; background: transparent; padding: 4px 12px; }
body.theme-kali .tab-btn.active { border-bottom-color: #2a9d8f; color: #2a9d8f; background: rgba(42,157,143,0.1); }
body.theme-kali .log-box { background: #030808; color: var(--chat-color); border: 1px solid #0a1818; border-radius: 0; font-family: 'Consolas', monospace; }
body.theme-kali .log-box::-webkit-scrollbar-track { background: #030808; }
body.theme-kali .log-box::-webkit-scrollbar-thumb { background: #1a3838; border-radius: 0; }
body.theme-kali .progress-track { background: #050d0d; border: 1px solid #1a3838; border-radius: 0; }
body.theme-kali .progress-fill { background: linear-gradient(90deg, #1a6862, #2a9d8f); border-right: none; }
/* Kali: top bar, terminal-style */
body.theme-kali #taskbar { background: #050d0d; border-top: none; border-bottom: 1px solid #2a9d8f; height: 26px; top: 0; bottom: auto; padding: 0 8px; font-family: 'Consolas', monospace; }
body.theme-kali #startBtn { border: 1px solid #1a3838; border-radius: 0; background: #0a1818; color: #2a9d8f; padding: 2px 10px; height: 100%; font-family: 'Consolas', monospace; }
body.theme-kali #startBtn:hover { background: #1a3838; }
body.theme-kali #startBtn:active { background: var(--btn-active-bg); color: var(--btn-active-text); }
body.theme-kali #startMenu { border: 1px solid #1a3838; border-radius: 0; box-shadow: 0 0 20px rgba(42,157,143,0.2); width: 280px; top: 28px; bottom: auto; left: 2px; background: #0a1818; }
body.theme-kali .start-menu-sidebar { background: #050d0d; color: #2a9d8f; border-top: 1px solid #1a3838; border-right: none; }
body.theme-kali .start-menu-items { padding: 4px; }
body.theme-kali .start-item { padding: 6px 10px; border-radius: 0; font-family: 'Consolas', monospace; }
body.theme-kali .start-item:hover { background: rgba(42,157,143,0.15); color: #2a9d8f; }
body.theme-kali .taskbar-app { border: 1px solid #1a3838; border-radius: 0; background: #0a1818; color: #2a9d8f; }
body.theme-kali .taskbar-app.active { background: rgba(42,157,143,0.2); border-color: #2a9d8f; color: #2a9d8f; }
body.theme-kali #clock { background: transparent; border: none; color: #2a9d8f; padding: 2px 8px; font-family: 'Consolas', monospace; }
body.theme-kali #chatInput { background: #030808; color: #2a9d8f; border: 1px solid #1a3838; border-radius: 0; font-family: 'Consolas', monospace; }
body.theme-kali .win-resize-handle { background: transparent; border: none; }
body.theme-kali .desktop-icon:hover { background: rgba(42,157,143,0.12); border: 1px dotted #2a9d8f; }
body.theme-kali .ach-bonus { color: #2a9d8f; }
body.theme-kali #desktop { background: #0f1f1f; padding-top: 38px; }
body.theme-kali #desktop::before { content: ''; position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(42,157,143,0.03) 2px, rgba(42,157,143,0.03) 4px); pointer-events: none; z-index: 99999; }
/* ===== Arch Linux — i3 tiling WM ===== */
body.theme-arch { --desktop-bg: #1a1a1a; --text-color: #c0c0c0; --win-bg: #222; --win-bg-dark: #1a1a1a; --border-color: #1793d1; --title-bg: #1a1a1a; --title-text: #1793d1; --btn-bg: #222; --btn-active-bg: #1793d1; --btn-active-text: #fff; --item-border: #333; --scrollbar-track: #1a1a1a; --scrollbar-thumb: #1793d1; --shadow: none; --glow: none; --field-border: 1px solid #333; --field-legend: #1793d1; --bt: #333; --bl: #333; --br: #333; --bb: #333; --icon-color: #c0c0c0; --icon-shadow: 1px 1px 1px #000; --font: 'Terminus', 'Consolas', 'Courier New', monospace; --font-size: 12px; cursor: default; --chat-color: #1793d1; --panel-text: #1793d1; }
body.theme-arch .win98-window { border-radius: 0; border: 1px solid #333; box-shadow: none; background: var(--win-bg); }
body.theme-arch .title-bar { background: var(--title-bg); border-bottom: 2px solid #1793d1; border-radius: 0; height: 20px; padding: 0 4px; }
body.theme-arch .win-btn { width: 14px; height: 14px; border: 1px solid #333; border-radius: 0; background: #1a1a1a; color: #666; font-size: 0; }
body.theme-arch .win-btn:active { background: #1793d1; color: #fff; }
body.theme-arch .window-content { border-radius: 0; border: none; }
body.theme-arch .win98-btn { border: 1px solid #333; border-radius: 0; background: #222; color: #c0c0c0; padding: 2px 8px; }
body.theme-arch .win98-btn:active { background: var(--btn-active-bg); color: var(--btn-active-text); }
body.theme-arch .win98-btn:hover { background: #333; }
body.theme-arch .win98-fieldset { border: 1px solid #333; border-radius: 0; }
body.theme-arch .tab-headers { border-bottom: 1px solid #333; background: var(--win-bg-dark); gap: 0; padding: 0; }
body.theme-arch .tab-btn { border: none; border-bottom: 2px solid transparent; border-radius: 0; background: transparent; padding: 3px 10px; }
body.theme-arch .tab-btn.active { border-bottom-color: #1793d1; color: #1793d1; background: #1a1a1a; }

/* ===== Bug Report Window ===== */
.bug-tab-bar { display: flex; gap: 2px; margin-bottom: 8px; }
.bug-tab { flex: 1; padding: 4px; font-size: 11px; cursor: pointer; border: 2px outset var(--bt); background: var(--btn-bg); color: var(--text-color); font-family: inherit; }
.bug-tab.active { font-weight: bold; border: 2px inset var(--bt); background: var(--win-bg-dark); }
.bug-form-group { text-align: left; margin-bottom: 8px; }
.bug-form-group label { display: block; font-size: 11px; font-weight: bold; margin-bottom: 3px; color: var(--text-color); }
.bug-form-input { width: 100%; box-sizing: border-box; font-family: inherit; font-size: 11px; padding: 3px 4px; color: var(--text-color); background: var(--win-bg); border: 1px inset var(--bt); }
.bug-form-textarea { resize: vertical; min-height: 70px; }
.bug-form-info { font-size: 10px; color: var(--text-color); opacity: 0.7; margin-bottom: 6px; }
.bug-submit-btn { display: block; margin: 0 auto; font-weight: bold; font-size: 12px; padding: 4px 16px; }
.bug-submit-btn:disabled { opacity: 0.5; cursor: wait; }
.bug-footer-note { text-align: center; font-size: 9px; opacity: 0.6; margin-top: 6px; color: var(--text-color); }
.bug-item { padding: 4px 6px; margin-bottom: 4px; background: var(--win-bg-dark); border: 1px solid var(--item-border); }
.bug-item-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 4px; margin-bottom: 3px; }
.bug-item-title { font-size: 11px; font-weight: bold; color: var(--text-color); flex: 1; }
.bug-item-cat { font-size: 10px; flex-shrink: 0; }
.bug-item-status { font-size: 9px; font-weight: bold; padding: 1px 5px; border-radius: 2px; flex-shrink: 0; text-transform: uppercase; }
.bug-item-status.open { color: #ff4444; border: 1px solid #ff4444; }
.bug-item-status.acknowledged { color: #ffaa00; border: 1px solid #ffaa00; }
.bug-item-status.fixed { color: #00ff00; border: 1px solid #00ff00; }
.bug-item-status.wontfix { color: #888888; border: 1px solid #888888; }
.bug-item-desc { font-size: 10px; color: var(--text-color); opacity: 0.85; margin-bottom: 3px; line-height: 1.3; }
.bug-item-meta { font-size: 9px; color: var(--text-color); opacity: 0.5; }
.bug-item-action { margin-top: 4px; text-align: right; }
.bug-item-action button { font-size: 9px; padding: 1px 6px; }
.bug-refresh-btn { display: block; margin: 6px auto 0 auto; font-size: 10px; }
.bug-empty-msg { text-align: center; font-size: 10px; color: var(--text-color); opacity: 0.6; padding: 10px 0; }
body.theme-arch .log-box { background: #111; color: var(--chat-color); border: 1px solid #333; border-radius: 0; font-family: 'Terminus', 'Consolas', monospace; }
body.theme-arch .log-box::-webkit-scrollbar-track { background: #111; }
body.theme-arch .log-box::-webkit-scrollbar-thumb { background: #333; border-radius: 0; }
body.theme-arch .progress-track { background: #1a1a1a; border: 1px solid #333; border-radius: 0; }
body.theme-arch .progress-fill { background: linear-gradient(90deg, #0d6a9a, #1793d1); border-right: none; }
/* Arch: i3bar — flat top status bar */
body.theme-arch #taskbar { background: #1a1a1a; border-top: none; border-bottom: 2px solid #1793d1; height: 22px; top: 0; bottom: auto; padding: 0 6px; font-family: 'Terminus', 'Consolas', monospace; }
body.theme-arch #startBtn { border: none; border-radius: 0; background: transparent; color: #1793d1; font-weight: bold; padding: 2px 8px; height: 100%; }
body.theme-arch #startBtn:hover { background: #333; }
body.theme-arch #startBtn:active { background: #1793d1; color: #fff; }
body.theme-arch #startMenu { border: 1px solid #333; border-radius: 0; box-shadow: none; width: 260px; top: 24px; bottom: auto; left: 2px; background: var(--win-bg); }
body.theme-arch .start-menu-sidebar { background: #1a1a1a; color: #1793d1; border-top: 1px solid #333; border-right: none; }
body.theme-arch .start-menu-items { padding: 2px; }
body.theme-arch .start-item { padding: 4px 8px; border-radius: 0; font-family: 'Terminus', 'Consolas', monospace; }
body.theme-arch .start-item:hover { background: #333; color: #1793d1; }
body.theme-arch .taskbar-app { border: none; border-radius: 0; background: transparent; padding: 2px 8px; color: #888; font-family: 'Terminus', 'Consolas', monospace; }
body.theme-arch .taskbar-app.active { background: #1793d1; color: #fff; }
body.theme-arch #clock { background: transparent; border: none; color: #1793d1; padding: 2px 8px; font-family: 'Terminus', 'Consolas', monospace; }
body.theme-arch #chatInput { background: #111; color: #1793d1; border: 1px solid #333; border-radius: 0; font-family: 'Terminus', 'Consolas', monospace; }
body.theme-arch .win-resize-handle { background: transparent; border: none; }
body.theme-arch .desktop-icon:hover { background: rgba(23,147,209,0.1); border: 1px dotted #1793d1; }
body.theme-arch .ach-bonus { color: #1793d1; }
body.theme-arch #desktop { background: #1a1a1a; padding-top: 32px; }
body.theme-xp .win98-window { border-radius: 8px 8px 0 0; border: 1px solid var(--border-color); }
body.theme-xp .title-bar { border-radius: 7px 7px 0 0; border: none; height: 26px; padding: 4px 8px; }
body.theme-xp .win-btn { border: 1px solid #0831d9; border-radius: 3px; width: 20px; height: 16px; background: linear-gradient(180deg, #f5f5f5, #e1e1e1); }
body.theme-xp .win-btn:active { background: linear-gradient(180deg, #ffe1a0, #ffc24c); }
body.theme-xp .window-content { border-radius: 0 0 8px 8px; }
body.theme-xp .win98-btn { border: 1px solid #003c74; border-radius: 3px; background: linear-gradient(180deg, #f5f5f5, #e1e1e1); }
body.theme-xp .win98-btn:active { background: linear-gradient(180deg, #ffe1a0, #ffc24c); }
body.theme-xp .win98-fieldset { border: 1px solid var(--item-border); border-radius: 3px; }
body.theme-xp #taskbar { height: 36px; border-radius: 10px 10px 0 0; border: 1px solid var(--border-color); border-bottom: none; background: linear-gradient(180deg, #3c8ce7, #0058e6 95%, #2a82ec); padding: 4px; }
body.theme-xp #startBtn { background: linear-gradient(180deg, #3cc850, #2baa39); border: 1px solid #1a8326; border-radius: 12px; height: 100%; padding: 2px 12px; color: #fff; text-shadow: 1px 1px 1px #000; }
body.theme-xp #startMenu { border-radius: 10px 10px 0 0; border: 1px solid var(--border-color); border-bottom: none; overflow: hidden; box-shadow: var(--shadow); width: 300px; }
body.theme-xp .start-menu-sidebar { background: linear-gradient(90deg, #4a86e8, #2a62d6); border-top: 1px solid #1a4eb8; height: 28px; padding: 0 10px; white-space: nowrap; order: 2; }
body.theme-xp .start-menu-sidebar br { display: none; }
body.theme-xp .start-menu-items { background: #ffffff; padding: 8px; }
body.theme-xp .start-item { border-radius: 3px; padding: 8px 10px; }
body.theme-xp .start-item:hover { background: linear-gradient(180deg, #ffe1a0, #ffc24c); color: #000; }
body.theme-xp .taskbar-app { border-radius: 3px; border: 1px solid #0831d9; background: linear-gradient(180deg, #3c8ce7, #2884e3); color: #fff; }
body.theme-xp .taskbar-app.active { background: linear-gradient(180deg, #2884e3, #3c8ce7); }
body.theme-xp #clock { background: transparent; border: 1px solid #0831d9; border-radius: 3px; color: #fff; }
body.theme-xp .progress-track { border: 1px solid var(--item-border); border-radius: 2px; background: #fff; }
body.theme-xp .progress-fill { background: linear-gradient(90deg, #1eb41e, #4cf64c 40%, #4cf64c 60%, #1eb41e); border-right: none; }
body.theme-xp .win-resize-handle { border: none; background: transparent; }
body.theme-xp .tab-headers { border-bottom: 1px solid var(--item-border); background: transparent; }
body.theme-xp .tab-btn { border: 1px solid transparent; border-radius: 3px 3px 0 0; background: transparent; }
body.theme-xp .tab-btn.active { background: var(--win-bg); border: 1px solid var(--item-border); border-bottom: none; }
body.theme-xp .log-box { border: 1px solid var(--item-border); }
body.theme-macos .win98-window { border-radius: 10px; border: 1px solid #c7c7c7; box-shadow: 0 10px 30px rgba(0,0,0,0.2); }
body.theme-macos .title-bar { border-radius: 10px 10px 0 0; border-bottom: 1px solid #c7c7c7; height: 28px; padding: 5px 10px; justify-content: center; }
body.theme-macos .win-controls { position: absolute; left: 10px; gap: 6px; }
body.theme-macos .win-btn { width: 12px; height: 12px; border-radius: 50%; border: 1px solid rgba(0,0,0,0.1); background: #ff5f57; color: transparent; font-size: 0; }
body.theme-macos .win-btn:active { background: #ff5f57; opacity: 0.8; }
body.theme-macos .window-content { border-radius: 0 0 10px 10px; }
body.theme-macos .win98-btn { border: 1px solid #c7c7c7; border-radius: 6px; background: #ffffff; padding: 6px 15px; }
body.theme-macos .win98-btn:active { background: #dcdcdc; }
body.theme-macos .win98-fieldset { border: 1px solid #c7c7c7; border-radius: 8px; }
body.theme-macos #taskbar { height: 40px; background: rgba(255,255,255,0.5); backdrop-filter: blur(20px); border-top: 1px solid rgba(0,0,0,0.1); border-radius: 0; justify-content: center; padding: 0 10px; }
body.theme-macos #startBtn { background: rgba(255,255,255,0.8); border: 1px solid rgba(0,0,0,0.1); border-radius: 20px; padding: 4px 15px; color: #1d1d1f; }
body.theme-macos #startMenu { border-radius: 10px; border: 1px solid rgba(0,0,0,0.1); background: rgba(255,255,255,0.9); backdrop-filter: blur(20px); box-shadow: 0 10px 30px rgba(0,0,0,0.2); width: 300px; }
body.theme-macos .start-menu-sidebar { background: transparent; color: #1d1d1f; border-top: 1px solid #c7c7c7; height: 28px; padding: 0 10px; white-space: nowrap; order: 2; }
body.theme-macos .start-menu-items { background: transparent; }
body.theme-macos .start-item { border-radius: 6px; padding: 8px 10px; }
body.theme-macos .start-item:hover { background: #007aff; color: #fff; }
body.theme-macos .taskbar-app { border-radius: 6px; border: 1px solid transparent; background: rgba(255,255,255,0.5); color: #1d1d1f; }
body.theme-macos .taskbar-app.active { background: rgba(0,0,0,0.1); border: 1px solid rgba(0,0,0,0.1); }
body.theme-macos #clock { background: transparent; border: none; color: #1d1d1f; }
body.theme-macos .progress-track { border: 1px solid #c7c7c7; border-radius: 4px; background: #e8e8e8; }
body.theme-macos .progress-fill { background: #007aff; border-right: none; }
body.theme-macos .win-resize-handle { border: none; background: transparent; }
body.theme-macos .tab-headers { border-bottom: 1px solid #c7c7c7; background: transparent; }
body.theme-macos .tab-btn { border: 1px solid transparent; border-radius: 4px; background: transparent; }
body.theme-macos .tab-btn.active { background: #e8e8e8; border: 1px solid #c7c7c7; border-bottom: none; }
body.theme-macos .log-box { border: 1px solid #c7c7c7; border-radius: 6px; background: #2c2c2e; color: var(--chat-color); }
body.theme-macos #chatInput { border: 1px solid #c7c7c7; border-radius: 6px; background: #2c2c2e; color: #ffffff; }

/* Bug/Suggestion report — theme-aware shared styles
   Replaces hardcoded #ccc/#888 inline colors that were unreadable on light themes (macOS). */
.bug-item { margin-bottom: 4px; border: 1px solid var(--border-color); padding: 4px; background: var(--win-bg-dark); overflow-wrap: anywhere; word-break: break-word; }
.bug-item-desc { font-size: 11px; color: var(--text-color); margin-top: 2px; word-wrap: break-word; overflow-wrap: anywhere; word-break: break-word; white-space: pre-wrap; }
.bug-item-meta { font-size: 10px; color: var(--text-color); opacity: 0.65; margin-top: 2px; }
.bug-item .stat-row,
.bug-item-desc,
.bug-item-meta { user-select: text; -webkit-user-select: text; -moz-user-select: text; }
.bug-footer { font-size: 11px; color: var(--text-color); opacity: 0.65; }
.bug-empty-msg { text-align: center; color: var(--text-color); opacity: 0.65; font-size: 12px; padding: 10px; }
.bug-status { font-size: 10px; text-transform: uppercase; font-weight: bold; }

/* Coin flip animation */
@keyframes cf-spin {
  0% { transform: rotateY(0deg); }
  100% { transform: rotateY(360deg); }
}

/* Rainbow chat name animation */
@keyframes rainbowShift {
  0% { background-position: 0% 50%; }
  100% { background-position: 200% 50%; }
}

/* Shop item hover */
.shop-item { transition: border-color 0.15s, transform 0.1s; }
.shop-item:hover { border-color: #FFD700 !important; transform: scale(1.05); }

/* Supporter star badge glow */
@keyframes starGlow {
  0%, 100% { text-shadow: 0 0 4px #FFD700, 0 0 8px #FFA500; }
  50% { text-shadow: 0 0 6px #FFD700, 0 0 12px #FF8C00, 0 0 16px #FF4500; }
}

/* Tester badge glow — wrench emoji with pulsing cyan/electric effect */
@keyframes testerGlow {
  0%, 100% { text-shadow: 0 0 3px #00ffff, 0 0 6px #0088ff; }
  50% { text-shadow: 0 0 5px #00ffff, 0 0 10px #00aaff, 0 0 15px #0066ff; }
}

/* US Marshal badge glow — star with pulsing silver/steel authority effect */
@keyframes marshalGlow {
  0%, 100% { filter: drop-shadow(0 0 3px #C0C0C0) drop-shadow(0 0 6px #808080); }
  50% { filter: drop-shadow(0 0 5px #E0E0E0) drop-shadow(0 0 10px #C0C0C0) drop-shadow(0 0 15px #A0A0A0); }
}

/* Marshal name glow — silver pulsing effect matching the badge */
@keyframes marshalNameGlow {
  0%, 100% { text-shadow: 0 0 3px #C0C0C0, 0 0 6px #808080; }
  50% { text-shadow: 0 0 5px #E0E0E0, 0 0 10px #C0C0C0, 0 0 15px #A0A0A0; }
}
.marshal-name {
  color: #C0C0C0 !important;
  animation: marshalNameGlow 1.5s ease-in-out infinite;
}

/* ── Mythic+ Glowing Chat Name Colors ($100) ── */
@keyframes glowGold {
  0%, 100% { text-shadow: 0 0 4px #FFD700, 0 0 8px #FFA500; }
  50% { text-shadow: 0 0 6px #FFD700, 0 0 12px #FF8C00, 0 0 18px #FF4500; }
}
@keyframes glowCrimson {
  0%, 100% { text-shadow: 0 0 4px #FF0033, 0 0 8px #CC0000; }
  50% { text-shadow: 0 0 6px #FF0044, 0 0 12px #CC0033, 0 0 18px #8B0000; }
}
@keyframes glowEmerald {
  0%, 100% { text-shadow: 0 0 4px #00FF66, 0 0 8px #00CC44; }
  50% { text-shadow: 0 0 6px #00FF77, 0 0 12px #00DD55, 0 0 18px #00AA33; }
}
@keyframes glowSapphire {
  0%, 100% { text-shadow: 0 0 4px #3399FF, 0 0 8px #0066FF; }
  50% { text-shadow: 0 0 6px #44AAFF, 0 0 12px #0077EE, 0 0 18px #0044CC; }
}
@keyframes glowGhost {
  0%, 100% { text-shadow: 0 0 4px #AAFFEE, 0 0 8px #66DDCC; }
  50% { text-shadow: 0 0 6px #BBFFEE, 0 0 12px #77EEDD, 0 0 18px #44CCBB; }
}
@keyframes glowCyan {
  0%, 100% { text-shadow: 0 0 4px #00FFFF, 0 0 8px #00CCCC; }
  50% { text-shadow: 0 0 6px #00FFFF, 0 0 12px #00DDDD, 0 0 18px #00AAAA; }
}

/* Chat mention flash animation */
@keyframes chatFlash {
  0% { border-color: #FFA500; box-shadow: 0 0 10px 2px rgba(255,165,0,0.8); }
  50% { border-color: #FFD700; box-shadow: 0 0 15px 3px rgba(255,215,0,0.9); }
  100% { border-color: var(--border-color); box-shadow: none; }
}
#chatWindow.chat-flash {
  animation: chatFlash 10s ease-out;
}

/* Highlight the specific message where the player was mentioned */
@keyframes mentionHighlight {
  0% { background: rgba(255,215,0,0.4); }
  25% { background: rgba(255,215,0,0.15); }
  50% { background: rgba(255,215,0,0.4); }
  75% { background: rgba(255,215,0,0.15); }
  100% { background: transparent; }
}
.mention-highlight {
  animation: mentionHighlight 10s ease-out;
  border-left: 3px solid #FFD700;
  padding-left: 3px;
}

/* DM tab flash notification */
@keyframes dmTabFlash {
  0%, 100% { background: var(--btn-bg, #c0c0c0); color: #000; }
  50% { background: #FFD700; color: #000; }
}
.dm-tab-flash {
  animation: dmTabFlash 0.5s ease-in-out 6;
}

/* DM unread red dot pulse */
@keyframes dmDotPulse {
  0%, 100% { opacity: 1; box-shadow: 0 0 2px #ff0000; }
  50% { opacity: 0.6; box-shadow: 0 0 6px #ff0000; }
}
#dmUnreadDot {
  animation: dmDotPulse 1.5s ease-in-out infinite;
}

/* DM container */
#dmContainer {
  flex: 1;
  min-height: 0;
}
#dmContactList > div {
  transition: background 0.15s;
}
#dmContactList > div:hover {
  background: #333 !important;
}


/* Mobile responsive */
#window-achievements .window-content { overflow: hidden !important; }

@media (max-width: 768px) {
  .desktop-icon { width: 68px !important; }
  .icon-graphic { font-size: 24px !important; }
  .icon-label { font-size: 9px !important; }
  .win98-window { max-width: 95vw !important; max-height: 70vh !important; }
  .window-content { font-size: 11px !important; max-height: 50vh !important; overflow-y: auto !important; }
  #eventLogWindow, #chatWindow { width: 95vw !important; }
  .start-menu { max-width: 200px !important; }
  .start-menu-items { font-size: 11px !important; }
  .stat-row { font-size: 11px !important; }
  .win98-btn { font-size: 10px !important; padding: 2px 4px !important; }
  #chatInput { width: 70% !important; }
}/* ===== Leaderboard Tabs ===== */
.leaderboard-tabs{display:flex;gap:2px;padding:4px 4px 0 4px;margin:0;overflow-x:auto;flex-wrap:nowrap;border-bottom:1px solid var(--border-color);scroll-snap-type:x proximity}.leaderboard-tabs::-webkit-scrollbar{display:none}.lb-tab{background:var(--btn-inactive-bg,transparent);border:1px solid transparent;border-radius:4px 4px 0 0;padding:4px 8px;cursor:pointer;font-family:inherit;font-size:10px;color:var(--muted-text);white-space:nowrap;display:inline-flex;align-items:center;gap:3px;transition:all 0.15s ease;scroll-snap-align:start;position:relative;min-width:0}.lb-tab-icon{font-size:11px;flex-shrink:0;line-height:1}.lb-tab-label{overflow:hidden;text-overflow:ellipsis}.lb-tab:hover:not(.active){color:var(--text-color);background:var(--btn-active-bg,rgba(255,255,255,0.08))}.lb-tab.active{color:var(--accent);background:var(--content-bg,rgba(0,0,0,0.3));border-color:var(--border-color);border-bottom-color:var(--content-bg,rgba(0,0,0,0.3));font-weight:600}.lb-tab.active::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--accent);border-radius:0 0 2px 2px}body.theme-win98 .lb-tab.active{background:#c0c0c0;color:#000;border-color:#808080}body.theme-macos .lb-tab{color:#666}body.theme-macos .lb-tab.active{color:#0066cc;background:#e8e8e8}body.theme-mint .lb-tab{color:#444}body.theme-mint .lb-tab.active{color:#87af5f;background:#ededed}body.theme-ubuntu .lb-tab.active{color:#e95420}body.theme-debian .lb-tab.active{color:#d70751}body.theme-kali .lb-tab.active{color:#2a9d8f}body.theme-arch .lb-tab.active{color:#1793d1}body.theme-xp .lb-tab{color:#3b6ea5}body.theme-xp .lb-tab.active{color:#003399;background:linear-gradient(to bottom,#ffffff 0%,#ece9d8 100%)}

body:not(.theme-htb):not(.theme-cyberpunk):not(.theme-midnight) .window-content [style*="color:#fff"]:not(.chat-username),
body:not(.theme-htb):not(.theme-cyberpunk):not(.theme-midnight) .window-content [style*="color: #fff"]:not(.chat-username),
body:not(.theme-htb):not(.theme-cyberpunk):not(.theme-midnight) .window-content [style*="color:white"]:not(.chat-username) { color: #1a1a1a !important; }
body:not(.theme-htb):not(.theme-cyberpunk):not(.theme-midnight) .window-content [style*="color:#ccc"],
body:not(.theme-htb):not(.theme-cyberpunk):not(.theme-midnight) .window-content [style*="color: #ccc"],
body:not(.theme-htb):not(.theme-cyberpunk):not(.theme-midnight) .window-content [style*="color:#ccc;"],
body:not(.theme-htb):not(.theme-cyberpunk):not(.theme-midnight) .window-content [style*="color:#ddd"],
body:not(.theme-htb):not(.theme-cyberpunk):not(.theme-midnight) .window-content [style*="color: #ddd"] { color: #333 !important; }
body:not(.theme-htb):not(.theme-cyberpunk):not(.theme-midnight) .window-content [style*="color:#aaa"],
body:not(.theme-htb):not(.theme-cyberpunk):not(.theme-midnight) .window-content [style*="color: #aaa"],
body:not(.theme-htb):not(.theme-cyberpunk):not(.theme-midnight) .window-content [style*="color:#888"],
body:not(.theme-htb):not(.theme-cyberpunk):not(.theme-midnight) .window-content [style*="color: #888"],
body:not(.theme-htb):not(.theme-cyberpunk):not(.theme-midnight) .window-content [style*="color:#999"],
body:not(.theme-htb):not(.theme-cyberpunk):not(.theme-midnight) .window-content [style*="color: #999"] { color: #555 !important; }

.window-content [style*="background:#202028"] *,
.window-content [style*="background:#2a2a2a"] *,
.window-content [style*="background:#222228"] *,
.window-content [style*="background:#1a1a1a"] *,
.window-content [style*="background:#1a1a22"] *,
.window-content [style*="background:#2a2a1a"] *,
.window-content [style*="background:#2a3a2a"] *,
.window-content [style*="background:#3a3a2a"] *,
.window-content [style*="background:#0a3d0a"] *,
.window-content [style*="background:#0a4d0a"] *,
.window-content [style*="background:#0a5d0a"] *,
.window-content [style*="background:#072d07"] *,
.window-content [style*="background:linear-gradient(135deg,#2a2a1a"] *,
.window-content [style*="background:linear-gradient(135deg,#2a2010"] *,
.window-content [style*="background:linear-gradient(135deg,#2a2a2a"] *,
.window-content [style*="background:#330000"] *,
.window-content [style*="background:#663333"] *,
.window-content [style*="background:#2E8B57"] *,
.window-content [style*="background:#8B4513"] *,
.window-content [style*="background:#8B0000"] *,
.window-content [style*="background:#4CAF50"] { color: revert !important; }

/* Shop/casino dark-panel buttons: use bright text instead of theme --text-color (which is dark on light themes) */
.dark-panel .win98-btn { color: var(--panel-text, #e0e0e0) !important; }


