/* ==========================================================================
   Apparences du système : Windows XP, Windows 98 et Windows 10.
   Windows 7 est l'apparence de base (style.css) ; ce fichier ne fait que la surcharger.
   ========================================================================== */

/* Éléments propres à certaines apparences, masqués par défaut */
.tlabel, .orb-label, .sm-user, .boot-bar, .logon-intro, .caption .g { display: none; }

/* Arrière-plans associés aux apparences */
[data-wall="bliss"] {
  --wallpaper:
    radial-gradient(ellipse 22% 7% at 72% 22%, rgba(255,255,255,.9), transparent 70%),
    radial-gradient(ellipse 16% 5% at 28% 15%, rgba(255,255,255,.75), transparent 70%),
    radial-gradient(ellipse 12% 4% at 52% 30%, rgba(255,255,255,.6), transparent 70%),
    radial-gradient(ellipse 85% 48% at 92% 112%, #2f7d18 0 55%, transparent 56%),
    radial-gradient(ellipse 120% 56% at 28% 108%, #5daf2e 0 50%, #4c9d24 57%, transparent 58%),
    linear-gradient(#2367d1 0%, #4f93e6 35%, #9dcaf3 62%, #c9e4fa 72%);
}
[data-wall="sarcelle"] { --wallpaper: #008080; }
[data-wall="hero"] {
  --wallpaper:
    radial-gradient(ellipse 12% 45% at 50% 50%, rgba(160,220,255,.55), transparent 70%),
    radial-gradient(ellipse 40% 60% at 50% 50%, rgba(30,120,220,.55), transparent 70%),
    conic-gradient(from 180deg at 50% 50%, #001233, #003a7a 10%, #001a44 22%, #00306a 40%, #001233 50%, #003a7a 60%, #001a44 72%, #00306a 90%, #001233);
}

/* Personnalisation : vignettes d'apparence */
.themes { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 12px; padding: 0 16px 8px; }
.theme-card { border: 3px solid transparent; border-radius: 3px; background: none; padding: 0; cursor: default; text-align: center; }
.theme-card.on { border-color: #3399ff; }
.theme-card .tp { display: block; height: 92px; position: relative; overflow: hidden; box-shadow: 0 0 0 1px #9aa9ba; }
.theme-card .tp-win { position: absolute; left: 22%; top: 16%; width: 56%; height: 52%; background: #fff; }
.theme-card .tp-win i { display: block; height: 9px; }
.theme-card .tp-bar { position: absolute; left: 0; right: 0; bottom: 0; height: 11px; }
.theme-card .tp-bar b { position: absolute; left: 0; top: 0; bottom: 0; width: 18px; }
.theme-card .tn { display: block; padding: 4px 0 2px; }
[data-preview="win7"] .tp { background: linear-gradient(135deg, #0e4f9e, #2a86da 50%, #0b3c80); }
[data-preview="win7"] .tp-win { border: 2px solid rgba(160,200,240,.9); border-top-width: 0; border-radius: 3px 3px 0 0; }
[data-preview="win7"] .tp-win i { background: rgba(160,200,240,.9); }
[data-preview="win7"] .tp-bar { background: rgba(18,38,66,.8); }
[data-preview="win7"] .tp-bar b { background: radial-gradient(circle, #5ec3ff 30%, #0b3a7a 70%); border-radius: 50%; width: 11px; left: 3px; }
[data-preview="xp"] .tp { background: linear-gradient(#3b7fe0 0 55%, #5daf2e 56%); }
[data-preview="xp"] .tp-win { border: 2px solid #0054e3; border-top: 0; border-radius: 4px 4px 0 0; }
[data-preview="xp"] .tp-win i { background: linear-gradient(#3a93ff, #0058e6); }
[data-preview="xp"] .tp-bar { background: linear-gradient(#3168d5, #245edb 50%, #1941a5); }
[data-preview="xp"] .tp-bar b { background: linear-gradient(#4ec24e, #2f8f2f); width: 26px; border-radius: 0 5px 5px 0; }
[data-preview="w98"] .tp { background: #008080; }
[data-preview="w98"] .tp-win { background: #c0c0c0; border: 2px solid #c0c0c0; box-shadow: 1px 1px #000; }
[data-preview="w98"] .tp-win i { background: linear-gradient(90deg, #000080, #1084d0); }
[data-preview="w98"] .tp-bar { background: #c0c0c0; border-top: 1px solid #fff; }
[data-preview="w98"] .tp-bar b { width: 20px; left: 2px; top: 2px; bottom: 2px; box-shadow: inset -1px -1px #000, inset 1px 1px #fff; }
[data-preview="w10"] .tp { background: linear-gradient(135deg, #001a3d, #0a5fb0 50%, #001a3d); }
[data-preview="w10"] .tp-win { border: 1px solid #1883d7; }
[data-preview="w10"] .tp-win i { background: #fff; border-bottom: 1px solid #eee; }
[data-preview="w10"] .tp-bar { background: #111; }
[data-preview="w10"] .tp-bar b { width: 12px; border-bottom: 2px solid #76b9ed; }

/* Pictogrammes CSS des boutons de fenêtre (98 et 10) */
.caption .g { position: relative; width: 10px; height: 10px; pointer-events: none; }
.caption .bmin .g::before { content: ""; position: absolute; left: 1px; bottom: 1px; width: 6px; height: 2px; background: currentColor; }
.caption .bmax .g::before { content: ""; position: absolute; inset: 0; border: 1px solid currentColor; border-top-width: 2px; }
.win.max .caption .bmax .g::before { left: 3px; top: 0; right: auto; bottom: auto; width: 7px; height: 6px; }
.win.max .caption .bmax .g::after { content: ""; position: absolute; left: 0; top: 3px; width: 7px; height: 6px; border: 1px solid currentColor; border-top-width: 2px; background: var(--btn-face, #c0c0c0); }
.caption .bclose .g::before, .caption .bclose .g::after {
  content: ""; position: absolute; left: 4px; top: -1px; width: 2px; height: 12px; background: currentColor; transform: rotate(45deg);
}
.caption .bclose .g::after { transform: rotate(-45deg); }

/* ==========================================================================
   Windows XP (Luna bleu)
   ========================================================================== */
html[data-theme="xp"] { --taskbar-h: 30px; --font: Tahoma, "Segoe UI", Verdana, Arial, sans-serif; }
html[data-theme="xp"] body { font-size: 11px; }

/* Démarrage et session */
html[data-theme="xp"] #boot .spinner { display: none; }
html[data-theme="xp"] .boot-bar {
  display: flex; gap: 2px; width: 156px; height: 16px; padding: 2px; overflow: hidden;
  border: 2px solid #b2b2b2; border-radius: 4px; position: relative;
}
html[data-theme="xp"] .boot-bar i {
  width: 9px; height: 100%; border-radius: 1px; flex: none;
  background: linear-gradient(#2838c7, #3c83ff 40%, #0c38c8); animation: xpBoot 1.4s linear infinite;
}
@keyframes xpBoot { from { transform: translateX(-30px); } to { transform: translateX(160px); } }
html[data-theme="xp"] #logon, html[data-theme="xp"] #shutdown { background: #5a7edc; }
html[data-theme="xp"] #logon::before, html[data-theme="xp"] #shutdown::before {
  inset: 0 0 auto 0; height: 78px; background: #00309c;
  box-shadow: 0 2px 0 -0px rgba(255,255,255,.0); border-bottom: 2px solid; border-image: linear-gradient(90deg, #00309c, #fff 50%, #00309c) 1;
}
html[data-theme="xp"] #logon::after, html[data-theme="xp"] #shutdown::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 90px; background: #003399;
  border-top: 2px solid; border-image: linear-gradient(90deg, #003399, #f99736 50%, #003399) 1;
}
html[data-theme="xp"] .logon-box { flex-direction: row; gap: 0; align-items: center; }
html[data-theme="xp"] .logon-intro {
  display: block; order: -1; width: 280px; text-align: right; padding: 40px 34px; color: #fff; font-size: 18px;
  border-right: 1px solid; border-image: linear-gradient(transparent, rgba(255,255,255,.8) 50%, transparent) 1;
}
html[data-theme="xp"] .logon-hint { display: none; }
html[data-theme="xp"] .logon-box:has(.logon-welcome:not(.hidden)) .logon-intro { display: none; }
html[data-theme="xp"] .logon-user { flex-direction: row; gap: 14px; margin-left: 30px; padding: 8px 40px 8px 8px; border-radius: 8px; }
html[data-theme="xp"] .logon-user:hover { background: linear-gradient(90deg, #00309c, transparent); }
html[data-theme="xp"] .logon-user .avatar-frame { width: 64px; height: 64px; padding: 0; border-radius: 4px; border: 2px solid #fff; background: none; box-shadow: none; }
html[data-theme="xp"] .logon-user:hover .avatar-frame { border-color: #f9b748; box-shadow: none; }
html[data-theme="xp"] .logon-user .avatar-frame img { border: 0; border-radius: 2px; }
html[data-theme="xp"] .logon-name { margin: 0; font-size: 20px; text-shadow: none; }
html[data-theme="xp"] .logon-welcome { font: italic 700 36px Tahoma, Verdana, sans-serif; text-shadow: 1px 1px 2px rgba(0,0,0,.4); }
html[data-theme="xp"] .spinner { border-color: rgba(255,255,255,.3); border-top-color: #fff; border-right-color: #fff; }

/* Barre des tâches */
html[data-theme="xp"] #taskbar {
  background: linear-gradient(#1f2f86 0, #3165c4 3%, #3682e5 6%, #4490e6 10%, #3883e5 12%, #2b71e0 15%, #2663da 18%, #235bd6 20%, #2258d5 23%, #2157d6 38%, #245ddb 54%, #2562df 86%, #245fdc 89%, #2158d4 92%, #1d4ec0 95%, #1941a5 98%);
  backdrop-filter: none; -webkit-backdrop-filter: none; border: 0; box-shadow: none;
}
html[data-theme="xp"] #orb {
  width: auto; padding: 0 22px 0 14px; margin-right: 8px; border-radius: 0 12px 12px 0;
  background: linear-gradient(#3c8f3c 0, #48b448 8%, #5ac65a 14%, #3da53d 40%, #36993a 80%, #2b822b 94%, #1f6f1f 100%);
  box-shadow: inset 0 1px 1px rgba(255,255,255,.5), inset -2px 0 3px rgba(0,0,0,.25), 2px 0 3px rgba(0,0,0,.35);
}
html[data-theme="xp"] #orb::before { display: none; }
html[data-theme="xp"] #orb:hover, html[data-theme="xp"] #orb.active { filter: brightness(1.12); }
html[data-theme="xp"] .orb-label { display: block; color: #fff; font: italic 700 18px "Trebuchet MS", Tahoma, sans-serif; text-transform: lowercase; text-shadow: 1px 1px 2px rgba(0,0,0,.6); }
html[data-theme="xp"] #tasks { align-items: center; gap: 3px; }
html[data-theme="xp"] .task {
  width: 160px; height: 24px; justify-content: flex-start; gap: 6px; padding: 0 8px; margin: 0; border-radius: 3px; color: #fff;
  border: 1px solid #1c46b6; background: linear-gradient(#3c81f3, #3a7cf0 50%, #2f6ee6); box-shadow: inset 1px 1px 0 rgba(255,255,255,.35);
}
html[data-theme="xp"] .task .ico { width: 16px; height: 16px; flex: none; }
html[data-theme="xp"] .task .tlabel { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 11px; }
html[data-theme="xp"] .task:hover { background: linear-gradient(#5a98f8, #4a8cf5); border-color: #1c46b6; }
html[data-theme="xp"] .task.active { background: #1e52b7; box-shadow: inset 1px 1px 2px rgba(0,0,0,.45); border-color: #133f99; }
html[data-theme="xp"] .task.multi::after { display: none; }
html[data-theme="xp"] .task:not(.running) { width: 24px; padding: 0; justify-content: center; background: none; border-color: transparent; box-shadow: none; }
html[data-theme="xp"] .task:not(.running):hover { background: rgba(255,255,255,.15); border-color: rgba(255,255,255,.3); }
html[data-theme="xp"] .task:not(.running) .tlabel { display: none; }
html[data-theme="xp"] #tray {
  padding: 0 10px; border-left: 1px solid #1042af; box-shadow: inset 1px 0 1px #18bbff;
  background: linear-gradient(#0c59b9, #139ee9 5%, #18b5f2 10%, #139beb 14%, #1290e8 19%, #0d8dea 63%, #0d9ff1 81%, #0f9eed 88%, #119be9 91%, #1392e2 94%, #137ed7 97%, #095bc9);
}
html[data-theme="xp"] #clock-date, html[data-theme="w98"] #clock-date { display: none; }
html[data-theme="xp"] #clock { height: 26px; }
html[data-theme="xp"] #showdesk, html[data-theme="w98"] #showdesk { display: none; }

/* Menu Démarrer */
html[data-theme="xp"] #startmenu {
  width: 390px; height: 480px; padding: 66px 0 42px; border: 1px solid #0831d9; border-bottom: 0; border-radius: 8px 8px 0 0;
  background: linear-gradient(#1868ce, #2c7ce4 6px, #1a62d2 30px, #1556c8 64px, #1556c8 calc(100% - 42px), #4a90ef calc(100% - 42px), #2a6fe0 calc(100% - 20px), #1c5bd1);
  backdrop-filter: none; -webkit-backdrop-filter: none; box-shadow: 2px 0 6px rgba(0,0,0,.4);
}
html[data-theme="xp"] .sm-left {
  margin: 0; border: 0; border-radius: 0; background: #fff; box-shadow: inset 0 2px 0 #f89b2c;
}
html[data-theme="xp"] .sm-right {
  position: static; width: 170px; padding: 8px 4px 0; background: #d3e5fa; border-left: 1px solid #95bdee; box-shadow: inset 0 2px 0 #f89b2c; color: #0a246a;
}
html[data-theme="xp"] .sm-avatar {
  position: absolute; left: 8px; top: 8px; margin: 0; width: 50px; height: 50px; padding: 0; border-radius: 4px; border: 2px solid #fff; background: none; box-shadow: 1px 1px 3px rgba(0,0,0,.4);
}
html[data-theme="xp"] .sm-avatar img { border: 0; }
html[data-theme="xp"] .sm-user { display: block; position: absolute; left: 70px; top: 22px; color: #fff; font: 700 15px Tahoma, sans-serif; text-shadow: 1px 1px 2px rgba(0,0,0,.6); }
html[data-theme="xp"] .sm-item, html[data-theme="w98"] .sm-item, html[data-theme="w10"] .sm-item { border-radius: 0; }
html[data-theme="xp"] .sm-item:hover, html[data-theme="xp"] .sm-item.kbd { background: #316ac5; border-color: #316ac5; color: #fff; }
html[data-theme="xp"] .sm-item:hover small { color: #dfe7f7; }
html[data-theme="xp"] .sm-item span { font-weight: 700; }
html[data-theme="xp"] #sm-all .sm-item span { font-weight: 400; }
html[data-theme="xp"] .sm-allprog { font-weight: 700; justify-content: center; flex-direction: row-reverse; border-top-color: #d5d5d5; }
html[data-theme="xp"] .sm-allprog .arrow { color: #fff; background: #3aa23a; border-radius: 3px; padding: 1px 4px; }
html[data-theme="xp"] .sm-allprog:hover { background: #316ac5; color: #fff; box-shadow: none; }
html[data-theme="xp"] .sm-search { display: none; }
html[data-theme="xp"] #sm-links li { color: #0a246a; text-shadow: none; border-radius: 0; font-weight: 700; padding: 6px 8px; }
html[data-theme="xp"] #sm-links li:nth-child(n+7) { font-weight: 400; }
html[data-theme="xp"] #sm-links li:hover { background: #316ac5; color: #fff; border-color: #316ac5; box-shadow: none; }
html[data-theme="xp"] #sm-links .sep { background: #95bdee; border: 0; }
html[data-theme="xp"] .sm-shutdown { position: absolute; right: 8px; bottom: 7px; margin: 0; }
html[data-theme="xp"] .sm-shutdown button { border: 0; background: none; box-shadow: none; text-shadow: none; padding: 4px 6px; border-radius: 3px; }
html[data-theme="xp"] #sm-off::before { content: ""; display: inline-block; width: 18px; height: 18px; margin-right: 6px; vertical-align: middle; border-radius: 3px; border: 1px solid #fff; background: radial-gradient(circle at 70% 70%, #b8250f, #e8562b 60%, #ffb18f); }
html[data-theme="xp"] .sm-shutdown button:hover { background: rgba(255,255,255,.18); box-shadow: none; }

/* Fenêtres */
html[data-theme="xp"] .win {
  padding: 0 4px 4px; border-radius: 8px 8px 0 0; border: 1px solid #0831d9; background: #0054e3;
  backdrop-filter: none; -webkit-backdrop-filter: none; box-shadow: 2px 3px 10px rgba(0,0,0,.4);
}
html[data-theme="xp"] .titlebar {
  height: 29px; margin: 0 -4px; padding: 0 5px 0 7px; border-radius: 7px 7px 0 0;
  background: linear-gradient(#0997ff, #0053ee 8%, #0050ee 40%, #06f 88%, #06f 93%, #005bff 95%, #003dd7 96%, #003dd7);
}
html[data-theme="xp"] .titlebar .title { color: #fff; font: 700 13px "Trebuchet MS", Tahoma, sans-serif; text-shadow: 1px 1px #0f1089; }
html[data-theme="xp"] .caption { align-self: center; margin-top: 0; gap: 2px; }
html[data-theme="xp"] .caption button,
html[data-theme="xp"] .caption .bmin, html[data-theme="xp"] .caption .bclose {
  width: 21px; height: 21px; margin: 0; border: 1px solid #fff; border-radius: 3px;
  background: radial-gradient(circle at 90% 90%, #0054e9 0%, #2263d5 55%, #4479e4 70%, #a3bbec 90%, #fff 100%);
  box-shadow: none;
}
html[data-theme="xp"] .caption .bclose { background: radial-gradient(circle at 90% 90%, #cc4600 0%, #dc6527 55%, #cd7546 70%, #ffccb2 90%, #fff 100%); }
html[data-theme="xp"] .caption button:hover { filter: brightness(1.18); box-shadow: none; }
html[data-theme="xp"] .caption button svg { width: 11px; height: 11px; filter: none; }
html[data-theme="xp"] .win.inactive { background: #7a96df; border-color: #6582d0; box-shadow: 2px 3px 8px rgba(0,0,0,.3); }
html[data-theme="xp"] .win.inactive .titlebar { background: linear-gradient(#a8c4f7, #7a9ee8 10%, #7c9fe8 80%, #6e8fdc); }
html[data-theme="xp"] .win.inactive .titlebar .title { color: #d8e4f8; text-shadow: none; }
html[data-theme="xp"] .win.inactive .caption button { opacity: .7; filter: saturate(.6); }
html[data-theme="xp"] .win.max { padding: 0; border-radius: 0; }
html[data-theme="xp"] .win.max .titlebar { margin: 0; border-radius: 0; height: 29px; }
html[data-theme="xp"] .client { border: 1px solid #919b9c; box-shadow: none; }
html[data-theme="xp"] .win .client.explorer, html[data-theme="xp"] .win .client.ie { border: 0; }
html[data-theme="xp"] .ex-top, html[data-theme="xp"] .ie .ie-bar { background: #ece9d8; margin: 0; }
html[data-theme="xp"] .ie .ie-tabs { background: #ece9d8; }

/* Commandes */
html[data-theme="xp"] .menubar { background: #ece9d8; border-bottom-color: #d6d3c7; }
html[data-theme="xp"] .menubar > span { border-radius: 0; }
html[data-theme="xp"] .menubar > span:hover, html[data-theme="xp"] .menubar > span.open { background: #316ac5; border-color: #316ac5; color: #fff; }
html[data-theme="xp"] .statusbar, html[data-theme="xp"] .dialog-foot, html[data-theme="xp"] .client.flat { background: #ece9d8; }
html[data-theme="xp"] .cmdbar { background: linear-gradient(#fbfbf9, #ece9d8); border-bottom-color: #d6d3c7; }
html[data-theme="xp"] .cmdbar button { color: #000; }
html[data-theme="xp"] .ex-nav { background: linear-gradient(#7ba2e7, #6375d6); }
html[data-theme="xp"] .ex-nav .grp { margin: 8px; background: #fff; border-radius: 3px 3px 0 0; padding-bottom: 4px; }
html[data-theme="xp"] .ex-nav .item.head { background: linear-gradient(90deg, #fff, #c6d3f7); font-weight: 700; color: #215dc6; border-radius: 3px 3px 0 0; margin: 0; }
html[data-theme="xp"] .ex-details { background: #ece9d8; border-top-color: #d6d3c7; }
html[data-theme="xp"] .btn7 {
  border: 1px solid #003c74; border-radius: 3px; background: linear-gradient(#fff, #ecebe6 86%, #d6d0c5); box-shadow: none;
}
html[data-theme="xp"] .btn7:hover { background: linear-gradient(#fff, #ecebe6 86%, #d6d0c5); box-shadow: inset 0 -2px #f8b33f, inset 0 2px #ffe7a2; }
html[data-theme="xp"] .btn7:active { background: linear-gradient(#e5e4de, #e3e2da); box-shadow: none; }
html[data-theme="xp"] .btn7.default { box-shadow: inset 0 -2px #99c4f8, inset 0 2px #cee7ff; }
html[data-theme="xp"] .ctx { background: #fff; border-color: #aca899; box-shadow: 2px 2px 3px rgba(0,0,0,.3); padding: 2px; }
html[data-theme="xp"] .ctx li { border-radius: 0; }
html[data-theme="xp"] .ctx li:hover:not(.sep):not(.disabled) { background: #316ac5; border-color: #316ac5; color: #fff; }
html[data-theme="xp"] .ctx li:hover .key { color: #fff; }
html[data-theme="xp"] .ctx li.sep { background: #aca899; border: 0; margin: 3px 2px; }
html[data-theme="xp"] .calc { background: #ece9d8 !important; }
html[data-theme="xp"] .dicon .lbl { text-shadow: 1px 1px 1px #000; }
html[data-theme="xp"] .dicon:hover { background: none; border-color: transparent; }
html[data-theme="xp"] .dicon.sel { background: none; border-color: transparent; }
html[data-theme="xp"] .dicon.sel .lbl { background: #316ac5; text-shadow: none; }
html[data-theme="xp"] .dicon.sel .ico { filter: sepia(1) hue-rotate(190deg) saturate(3) brightness(.8); }

/* ==========================================================================
   Windows 98
   ========================================================================== */
html[data-theme="w98"] {
  --taskbar-h: 28px; --font: "MS Sans Serif", "Microsoft Sans Serif", Tahoma, Arial, sans-serif; --btn-face: #c0c0c0;
  --raised: inset -1px -1px #0a0a0a, inset 1px 1px #fff, inset -2px -2px #808080, inset 2px 2px #dfdfdf;
  --sunken: inset -1px -1px #fff, inset 1px 1px #808080, inset -2px -2px #dfdfdf, inset 2px 2px #0a0a0a;
}
html[data-theme="w98"] body { font-size: 11px; -webkit-font-smoothing: none; }
html[data-theme="w98"] * { animation-duration: 0s !important; }
html[data-theme="w98"] .spinner { animation-duration: .9s !important; }

/* Démarrage et session */
html[data-theme="w98"] #boot { align-items: flex-start; justify-content: flex-start; padding: 16px; }
html[data-theme="w98"] #boot .spinner { display: none; }
html[data-theme="w98"] .boot-bar { display: block; }
html[data-theme="w98"] .boot-bar i { display: none; }
html[data-theme="w98"] .boot-bar i:first-child { display: block; width: 10px; height: 3px; margin-top: 14px; background: #c0c0c0; animation: blink 1s steps(1) infinite !important; animation-duration: 1s !important; }
@keyframes blink { 50% { opacity: 0; } }
html[data-theme="w98"] #logon, html[data-theme="w98"] #shutdown { background: #008080; }
html[data-theme="w98"] #logon::before, html[data-theme="w98"] #shutdown::before { display: none; }
html[data-theme="w98"] .logon-box, html[data-theme="w98"] #shutdown .logon-welcome {
  background: #c0c0c0; box-shadow: var(--raised), 1px 1px 0 #000; padding: 34px 22px 18px; min-width: 340px; color: #000;
}
html[data-theme="w98"] .logon-box::before, html[data-theme="w98"] #shutdown .logon-welcome::before {
  content: "Ouverture de session"; position: absolute; left: 3px; right: 3px; top: 3px; height: 18px; padding-left: 4px;
  background: linear-gradient(90deg, #000080, #1084d0); color: #fff; font-weight: 700; line-height: 18px; text-align: left;
}
html[data-theme="w98"] #shutdown .logon-welcome::before { content: "Arrêt"; }
html[data-theme="w98"] .logon-user { flex-direction: row; gap: 14px; padding: 4px; border-radius: 0; }
html[data-theme="w98"] .logon-user .avatar-frame { width: 48px; height: 48px; padding: 0; border-radius: 0; background: none; box-shadow: var(--sunken); padding: 2px; }
html[data-theme="w98"] .logon-user .avatar-frame img { border: 0; border-radius: 0; }
html[data-theme="w98"] .logon-user:hover .avatar-frame { box-shadow: var(--sunken); }
html[data-theme="w98"] .logon-user:focus-visible { outline: 1px dotted #000; }
html[data-theme="w98"] .logon-name { margin: 0; font-size: 13px; font-weight: 700; color: #000; text-shadow: none; }
html[data-theme="w98"] .logon-hint { color: #000; }
html[data-theme="w98"] .logon-welcome { font-size: 13px; color: #000; text-shadow: none; margin-top: 10px; }
html[data-theme="w98"] #shutdown .logon-welcome { margin: 0; }
html[data-theme="w98"] .spinner { width: 18px; height: 18px; border-width: 2px; border-color: #808080; border-top-color: #000080; border-right-color: #000080; }

/* Barre des tâches */
html[data-theme="w98"] #taskbar {
  background: #c0c0c0; border: 0; backdrop-filter: none; -webkit-backdrop-filter: none;
  box-shadow: inset 0 1px #dfdfdf, inset 0 2px #fff; align-items: center; padding: 2px 2px 0;
}
html[data-theme="w98"] #orb { width: auto; height: 22px; padding: 0 6px; margin: 0 4px 0 0; background: #c0c0c0; box-shadow: var(--raised); }
html[data-theme="w98"] #orb::before { display: none; }
html[data-theme="w98"] #orb.active { box-shadow: var(--sunken); }
html[data-theme="w98"] .orb-label { display: block; font-weight: 700; color: #000; }
html[data-theme="w98"] #tasks { align-items: center; gap: 3px; height: 100%; }
html[data-theme="w98"] .task {
  width: 150px; height: 22px; margin: 0; justify-content: flex-start; gap: 4px; padding: 0 4px; border: 0; border-radius: 0;
  background: #c0c0c0; box-shadow: var(--raised); color: #000;
}
html[data-theme="w98"] .task .ico { width: 16px; height: 16px; flex: none; }
html[data-theme="w98"] .task .ico svg { filter: none; }
html[data-theme="w98"] .task .tlabel { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html[data-theme="w98"] .task:hover { background: #c0c0c0; box-shadow: var(--raised); border: 0; }
html[data-theme="w98"] .task.active { box-shadow: var(--sunken); background: repeating-conic-gradient(#c0c0c0 0 25%, #fff 0 50%) 0 0 / 2px 2px; font-weight: 700; }
html[data-theme="w98"] .task.multi::after { display: none; }
html[data-theme="w98"] .task:not(.running) { width: 22px; padding: 0; justify-content: center; box-shadow: none; background: none; }
html[data-theme="w98"] .task:not(.running):hover { box-shadow: var(--raised); }
html[data-theme="w98"] .task:not(.running) .tlabel { display: none; }
html[data-theme="w98"] #tray { height: 22px; margin: 0 2px; padding: 0 6px; box-shadow: inset -1px -1px #fff, inset 1px 1px #808080; color: #000; }
html[data-theme="w98"] .tray-ico svg { filter: invert(1); }
html[data-theme="w98"] .tray-ico { height: 20px; }
html[data-theme="w98"] .tray-ico:hover, html[data-theme="w98"] #clock:hover { background: none; box-shadow: none; }
html[data-theme="w98"] #clock { color: #000; text-shadow: none; height: 20px; padding: 0 2px; }

/* Menu Démarrer */
html[data-theme="w98"] #startmenu {
  width: 230px; height: auto; max-height: calc(100% - var(--taskbar-h)); flex-direction: column; padding: 3px 3px 3px 24px; border: 0; border-radius: 0;
  background: #c0c0c0; box-shadow: var(--raised); backdrop-filter: none; -webkit-backdrop-filter: none; animation: none;
  bottom: calc(var(--taskbar-h) - 2px);
}
html[data-theme="w98"] #startmenu::before {
  content: "Steve COLINET"; position: absolute; left: 3px; top: 3px; bottom: 3px; width: 21px;
  background: linear-gradient(#1084d0, #000080); color: #c0c0c0; font: 700 16px Arial, sans-serif;
  writing-mode: vertical-rl; transform: rotate(180deg); padding: 6px 0; text-align: left;
}
html[data-theme="w98"] .sm-left { margin: 0; border: 0; border-radius: 0; background: none; box-shadow: none; flex: none; }
html[data-theme="w98"] .sm-left ul { padding: 0; flex: none; max-height: 50vh; }
html[data-theme="w98"] .sm-item { padding: 3px 6px; border: 0; }
html[data-theme="w98"] .sm-item svg { width: 24px; height: 24px; }
html[data-theme="w98"] .sm-item small { display: none; }
html[data-theme="w98"] .sm-item:hover, html[data-theme="w98"] .sm-item.kbd { background: #000080; color: #fff; border: 0; }
html[data-theme="w98"] .sm-sep { background: #808080; height: 1px; border-bottom: 1px solid #fff; margin: 3px 2px; }
html[data-theme="w98"] .sm-allprog { border-top: 1px solid #808080; box-shadow: 0 -1px 0 #fff inset; margin: 2px 0 0; padding: 5px 8px; border-radius: 0; flex-direction: row-reverse; justify-content: space-between; }
html[data-theme="w98"] .sm-allprog:hover { background: #000080; color: #fff; box-shadow: none; }
html[data-theme="w98"] .sm-allprog:hover .arrow { color: #fff; }
html[data-theme="w98"] .sm-search { display: none; }
html[data-theme="w98"] .sm-right { width: auto; padding: 0; color: #000; position: static; border-top: 1px solid #808080; box-shadow: inset 0 1px #fff; }
html[data-theme="w98"] .sm-avatar { display: none; }
html[data-theme="w98"] #sm-links li { color: #000; text-shadow: none; border: 0; border-radius: 0; padding: 4px 8px 4px 38px; }
html[data-theme="w98"] #sm-links li:hover { background: #000080; color: #fff; box-shadow: none; }
html[data-theme="w98"] #sm-links .sep { background: #808080; border-bottom: 1px solid #fff; margin: 3px 2px; }
html[data-theme="w98"] .sm-shutdown { margin: 0; border-top: 1px solid #808080; box-shadow: inset 0 1px #fff; padding-top: 2px; }
html[data-theme="w98"] .sm-shutdown button { border: 0; background: none; box-shadow: none; color: #000; text-shadow: none; padding: 5px 8px 5px 38px; border-radius: 0; text-align: left; }
html[data-theme="w98"] #sm-off { flex: 1; }
html[data-theme="w98"] #sm-off::after { content: "…"; }
html[data-theme="w98"] #sm-off-more { padding: 5px 8px; }
html[data-theme="w98"] .sm-shutdown button:hover { background: #000080; color: #fff; box-shadow: none; }
html[data-theme="w98"] #sm-off-menu { left: 100%; bottom: 0; }

/* Fenêtres */
html[data-theme="w98"] .win {
  padding: 3px; border: 0; border-radius: 0; background: #c0c0c0; box-shadow: var(--raised);
  backdrop-filter: none; -webkit-backdrop-filter: none;
}
html[data-theme="w98"] .titlebar { height: 18px; margin-bottom: 2px; padding: 0 2px 0 3px; background: linear-gradient(90deg, #000080, #1084d0); }
html[data-theme="w98"] .titlebar .ticon { margin-right: 4px; }
html[data-theme="w98"] .titlebar .title { color: #fff; font-weight: 700; font-size: 11px; text-shadow: none; }
html[data-theme="w98"] .caption { align-self: center; margin: 0; }
html[data-theme="w98"] .caption button,
html[data-theme="w98"] .caption .bmin, html[data-theme="w98"] .caption .bclose {
  width: 16px; height: 14px; margin: 0; border: 0; border-radius: 0; background: #c0c0c0; box-shadow: var(--raised); color: #000; filter: none;
}
html[data-theme="w98"] .caption .bclose { margin-left: 2px; }
html[data-theme="w98"] .caption button:active { box-shadow: var(--sunken); }
html[data-theme="w98"] .caption button svg, html[data-theme="w10"] .caption button svg { display: none; }
html[data-theme="w98"] .caption .g, html[data-theme="w10"] .caption .g { display: block; }
html[data-theme="w98"] .caption .bclose .g::before, html[data-theme="w98"] .caption .bclose .g::after { height: 11px; top: -1px; width: 2px; }
html[data-theme="w98"] .caption .g { width: 8px; height: 7px; }
html[data-theme="w98"] .caption .bmax .g::before { inset: 0 -1px 0 0; }
html[data-theme="w98"] .win.max .caption .bmax .g::before { left: 2px; top: -1px; width: 6px; height: 5px; }
html[data-theme="w98"] .win.max .caption .bmax .g::after { left: 0; top: 2px; width: 6px; height: 5px; }
html[data-theme="w98"] .caption .bmin .g::before { left: 1px; bottom: 0; }
html[data-theme="w98"] .win.inactive { background: #c0c0c0; box-shadow: var(--raised); }
html[data-theme="w98"] .win.inactive .titlebar { background: linear-gradient(90deg, #808080, #b5b5b5); }
html[data-theme="w98"] .win.inactive .titlebar .title { color: #c0c0c0; }
html[data-theme="w98"] .win.max { padding: 2px; }
html[data-theme="w98"] .client { border: 0; box-shadow: var(--sunken); padding: 2px; }
html[data-theme="w98"] .win .client.explorer, html[data-theme="w98"] .win .client.ie, html[data-theme="w98"] .client.calc, html[data-theme="w98"] .client.mines { box-shadow: none; padding: 0; }
html[data-theme="w98"] .explorer .ex-frame, html[data-theme="w98"] .ie .ie-frame { border: 0; box-shadow: var(--sunken); padding: 2px; }
html[data-theme="w98"] .resize { cursor: default; }

/* Commandes */
html[data-theme="w98"] .menubar, html[data-theme="w98"] .menubar.plain { background: #c0c0c0; border: 0; }
html[data-theme="w98"] .menubar > span { border: 0; border-radius: 0; margin: 1px 0; padding: 2px 7px; }
html[data-theme="w98"] .menubar > span:hover { background: none; box-shadow: inset -1px -1px #808080, inset 1px 1px #fff; }
html[data-theme="w98"] .menubar > span.open { background: none; box-shadow: inset -1px -1px #fff, inset 1px 1px #808080; }
html[data-theme="w98"] .statusbar { background: #c0c0c0; border: 0; gap: 2px; padding: 2px; }
html[data-theme="w98"] .statusbar span { border: 0; box-shadow: inset -1px -1px #fff, inset 1px 1px #808080; padding: 1px 6px; }
html[data-theme="w98"] .dialog-body { background: #c0c0c0; }
html[data-theme="w98"] .dialog-body .dmsg .main { color: #000; font-size: 11px; font-weight: 700; }
html[data-theme="w98"] .dialog-foot, html[data-theme="w98"] .client.flat { background: #c0c0c0; border: 0; justify-content: center; }
html[data-theme="w98"] .btn7 { border: 0; border-radius: 0; background: #c0c0c0; box-shadow: var(--raised); color: #000; }
html[data-theme="w98"] .btn7:hover { background: #c0c0c0; }
html[data-theme="w98"] .btn7:active { box-shadow: var(--sunken); }
html[data-theme="w98"] .btn7.default { box-shadow: 0 0 0 1px #000, var(--raised); }
html[data-theme="w98"] input.txt7, html[data-theme="w98"] .ex-search, html[data-theme="w98"] .addr, html[data-theme="w98"] .sm-search input {
  border: 0; border-radius: 0; background: #fff; box-shadow: var(--sunken); font-style: normal;
}
html[data-theme="w98"] .ctx { background: #c0c0c0; border: 0; box-shadow: var(--raised), 1px 1px 0 #000; padding: 3px; }
html[data-theme="w98"] .ctx li { border: 0; border-radius: 0; }
html[data-theme="w98"] .ctx li:hover:not(.sep):not(.disabled) { background: #000080; color: #fff; }
html[data-theme="w98"] .ctx li:hover .key { color: #fff; }
html[data-theme="w98"] .ctx li.disabled { color: #808080; text-shadow: 1px 1px #fff; }
html[data-theme="w98"] .ctx li.sep { background: #808080; border-bottom: 1px solid #fff; margin: 3px 2px; }
html[data-theme="w98"] .cmdbar { background: #c0c0c0; border-bottom: 1px solid #808080; box-shadow: 0 1px #fff; }
html[data-theme="w98"] .cmdbar button { color: #000; border-radius: 0; }
html[data-theme="w98"] .cmdbar button:hover { border-color: transparent; background: none; box-shadow: inset -1px -1px #808080, inset 1px 1px #fff; }
html[data-theme="w98"] .ex-top, html[data-theme="w98"] .ie .ie-bar, html[data-theme="w98"] .ie .ie-tabs { background: #c0c0c0; margin: 0; }
html[data-theme="w98"] .navbtn { border-radius: 0; border: 0; width: 24px; height: 22px; background: #c0c0c0; box-shadow: var(--raised); margin-right: 2px; }
html[data-theme="w98"] .navbtn svg path { stroke: #000; }
html[data-theme="w98"] .navbtn:disabled { background: #c0c0c0; opacity: .5; }
html[data-theme="w98"] .navbtn:hover:not(:disabled) { filter: none; box-shadow: var(--raised); }
html[data-theme="w98"] .ex-nav { background: #fff; }
html[data-theme="w98"] .ex-nav .item, html[data-theme="w98"] .ex-item { border-radius: 0; }
html[data-theme="w98"] .ex-nav .item.cur, html[data-theme="w98"] .ex-item.sel { background: #000080; color: #fff; border-color: #000080; }
html[data-theme="w98"] .ex-nav .item:hover, html[data-theme="w98"] .ex-item:hover { background: none; border-color: transparent; }
html[data-theme="w98"] .ex-details { background: #c0c0c0; border-top: 1px solid #808080; }
html[data-theme="w98"] .calc, html[data-theme="w98"] .mines { background: #c0c0c0 !important; }
html[data-theme="w98"] .calc-disp { border: 0; border-radius: 0; background: #fff; box-shadow: var(--sunken); }
html[data-theme="w98"] .calc-keys button { border: 0; border-radius: 0; background: #c0c0c0; box-shadow: var(--raised); color: #000080; }
html[data-theme="w98"] .calc-keys button:hover { background: #c0c0c0; }
html[data-theme="w98"] .calc-keys button:active, html[data-theme="w98"] .calc-keys button.press { box-shadow: var(--sunken); background: #c0c0c0; }
html[data-theme="w98"] .mines-board { background: #c0c0c0; box-shadow: var(--sunken); padding: 3px; border-radius: 0; }
html[data-theme="w98"] .mcell { border: 0; margin: 0; background: #c0c0c0; box-shadow: var(--raised); }
html[data-theme="w98"] .mcell:hover:not(.open) { background: #c0c0c0; }
html[data-theme="w98"] .mcell.open { background: #c0c0c0; box-shadow: inset 1px 1px #808080; }
html[data-theme="w98"] .mcell.boom { background: #f00; }
html[data-theme="w98"] .mines-info b { border: 0; background: #000; color: #f00; font-family: "Courier New", monospace; font-weight: 700; box-shadow: var(--sunken); }
html[data-theme="w98"] .paint .ribbon, html[data-theme="w98"] .viewer .vbar { background: #c0c0c0; border-color: #808080; }
html[data-theme="w98"] .paint .canvas-wrap { background: #808080; }
html[data-theme="w98"] .page-head { background: #fff; }
html[data-theme="w98"] .dicon .lbl { text-shadow: none; }
html[data-theme="w98"] .dicon:hover { background: none; border-color: transparent; }
html[data-theme="w98"] .dicon.sel { background: none; border-color: transparent; }
html[data-theme="w98"] .dicon.sel .lbl { background: #000080; outline: 1px dotted #ff0; }
html[data-theme="w98"] .dicon.sel .ico { filter: sepia(1) hue-rotate(190deg) saturate(4) brightness(.6); }
html[data-theme="w98"] .tb-popup { display: none; }
html[data-theme="w98"] #calendar { background: #c0c0c0; border: 0; border-radius: 0; box-shadow: var(--raised); }
html[data-theme="w98"] .cal-grid .today { background: #000080; color: #fff; border-color: #000080; }
html[data-theme="w98"] #snap-preview { border-radius: 0; background: none; border: 2px solid #808080; box-shadow: none; backdrop-filter: none; }

/* ==========================================================================
   Windows 10
   ========================================================================== */
html[data-theme="w10"] { --taskbar-h: 40px; --font: "Segoe UI", "Segoe UI Web", "Noto Sans", "Helvetica Neue", Arial, sans-serif; --btn-face: #fff; --accent: #0078d7; }

/* Démarrage et session */
html[data-theme="w10"] .spinner { width: 34px; height: 34px; border-width: 3px; border-color: rgba(255,255,255,.15); border-top-color: #fff; border-right-color: transparent; }
html[data-theme="w10"] #logon, html[data-theme="w10"] #shutdown {
  background:
    radial-gradient(ellipse 18% 55% at 50% 45%, rgba(120,190,255,.35), transparent 70%),
    linear-gradient(135deg, #001a3d, #00346b 45%, #0a4f96 50%, #00346b 55%, #001a3d);
}
html[data-theme="w10"] #logon::before, html[data-theme="w10"] #shutdown::before { background: rgba(0,0,0,.25); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); }
html[data-theme="w10"] .logon-user .avatar-frame { width: 190px; height: 190px; padding: 0; border-radius: 50%; background: none; box-shadow: none; }
html[data-theme="w10"] .logon-user .avatar-frame img { border-radius: 50%; border: 0; }
html[data-theme="w10"] .logon-user:hover .avatar-frame { box-shadow: 0 0 0 3px rgba(255,255,255,.4); }
html[data-theme="w10"] .logon-name { font-size: 36px; font-weight: 300; margin-top: 20px; text-shadow: none; }
html[data-theme="w10"] .logon-welcome { font-size: 28px; font-weight: 300; text-shadow: none; }

/* Barre des tâches */
html[data-theme="w10"] #taskbar { background: rgba(16,16,16,.88); backdrop-filter: blur(20px) saturate(1.3); -webkit-backdrop-filter: blur(20px) saturate(1.3); border: 0; box-shadow: none; }
html[data-theme="w10"] #orb { width: 48px; }
html[data-theme="w10"] #orb::before { width: 14px; height: 14px; margin: 0; border-radius: 50%; background: none; border: 2px solid #fff; box-shadow: none; filter: none; }
html[data-theme="w10"] #orb:hover, html[data-theme="w10"] #orb.active { background: rgba(255,255,255,.12); }
html[data-theme="w10"] #orb:hover::before, html[data-theme="w10"] #orb.active::before { border-color: #76b9ed; box-shadow: none; filter: none; }
html[data-theme="w10"] #tasks { gap: 0; padding: 0; }
html[data-theme="w10"] .task { width: 48px; margin: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
html[data-theme="w10"] .task .ico { width: 24px; height: 24px; }
html[data-theme="w10"] .task .ico svg { filter: none; }
html[data-theme="w10"] .task.running { border: 0; background: none; box-shadow: inset 0 -2px #76b9ed; }
html[data-theme="w10"] .task.active { background: rgba(255,255,255,.14); box-shadow: inset 0 -2px #76b9ed; }
html[data-theme="w10"] .task:hover { border: 0; background: rgba(255,255,255,.1); }
html[data-theme="w10"] .task.multi::after { display: none; }
html[data-theme="w10"] .tray-ico, html[data-theme="w10"] #clock { border-radius: 0; height: 40px; }
html[data-theme="w10"] .tray-ico:hover, html[data-theme="w10"] #clock:hover { background: rgba(255,255,255,.1); box-shadow: none; }
html[data-theme="w10"] #clock { text-shadow: none; font-size: 12px; }
html[data-theme="w10"] #showdesk { width: 6px; border-left: 1px solid #555; background: none; box-shadow: none; }
html[data-theme="w10"] .tb-popup { background: rgba(32,32,32,.94); border: 0; border-radius: 0; box-shadow: 0 0 12px rgba(0,0,0,.5); }
html[data-theme="w10"] .tb-thumb { border-radius: 0; }

/* Menu Démarrer */
html[data-theme="w10"] #startmenu {
  width: 560px; height: 540px; padding: 0 0 0 48px; border: 0; border-radius: 0; color: #fff;
  background: rgba(31,31,31,.93); backdrop-filter: blur(30px) saturate(1.4); -webkit-backdrop-filter: blur(30px) saturate(1.4);
  box-shadow: 0 0 16px rgba(0,0,0,.5);
}
html[data-theme="w10"] .sm-left { width: 250px; flex: none; margin: 0; border: 0; border-radius: 0; background: none; box-shadow: none; padding-top: 8px; }
html[data-theme="w10"] .sm-item { border: 0; padding: 5px 10px; }
html[data-theme="w10"] .sm-item:hover, html[data-theme="w10"] .sm-item.kbd { background: rgba(255,255,255,.1); }
html[data-theme="w10"] .sm-item small { color: #aaa; }
html[data-theme="w10"] .sm-sep { background: rgba(255,255,255,.12); }
html[data-theme="w10"] .sm-folder .sm-label, html[data-theme="w10"] .sm-label { color: #fff !important; }
html[data-theme="w10"] .sm-allprog { color: #fff; border-top-color: rgba(255,255,255,.12); border-radius: 0; }
html[data-theme="w10"] .sm-allprog .arrow { color: #fff; }
html[data-theme="w10"] .sm-allprog:hover { background: rgba(255,255,255,.1); box-shadow: none; }
html[data-theme="w10"] .sm-search { background: none; border: 0; padding: 8px 10px 10px; }
html[data-theme="w10"] .sm-search input { background: #fff; border: 2px solid #fff; height: 32px; border-radius: 0; }
html[data-theme="w10"] .sm-search input:focus { border-color: var(--accent); }
html[data-theme="w10"] .sm-right { flex: 1; width: auto; padding: 12px 14px 12px 8px; position: static; }
html[data-theme="w10"] .sm-avatar { position: absolute; left: 8px; bottom: 54px; margin: 0; width: 32px; height: 32px; padding: 0; border-radius: 50%; background: none; box-shadow: none; }
html[data-theme="w10"] .sm-avatar img { border-radius: 50%; border: 0; }
html[data-theme="w10"] #sm-links { display: grid; grid-template-columns: repeat(2, 1fr); gap: 4px; align-content: start; }
html[data-theme="w10"] #sm-links li {
  height: 92px; display: flex; align-items: flex-end; padding: 8px; border: 0; border-radius: 0; text-shadow: none; white-space: normal;
  background: var(--accent); color: #fff; font-size: 12px;
}
html[data-theme="w10"] #sm-links li:nth-child(3n+2) { background: #005a9e; }
html[data-theme="w10"] #sm-links li:nth-child(3n) { background: #2d7d9a; }
html[data-theme="w10"] #sm-links li:hover { background-image: linear-gradient(rgba(255,255,255,.15), rgba(255,255,255,.15)); box-shadow: inset 0 0 0 2px rgba(255,255,255,.45); border: 0; }
html[data-theme="w10"] #sm-links .sep { display: none; }
html[data-theme="w10"] .sm-shutdown { position: absolute; left: 0; bottom: 6px; margin: 0; flex-direction: column; }
html[data-theme="w10"] .sm-shutdown button { border: 0; background: none; box-shadow: none; text-shadow: none; border-radius: 0; width: 48px; height: 40px; padding: 0; }
html[data-theme="w10"] #sm-off { font-size: 0; }
html[data-theme="w10"] #sm-off::before { content: "⏻"; font-size: 16px; }
html[data-theme="w10"] #sm-off-more { height: 18px; font-size: 10px; order: -1; }
html[data-theme="w10"] .sm-shutdown button:hover { background: rgba(255,255,255,.12); box-shadow: none; }
html[data-theme="w10"] #sm-off-menu { left: 48px; bottom: 0; }

/* Fenêtres */
html[data-theme="w10"] .win {
  padding: 0; border: 1px solid #1883d7; border-radius: 0; background: #fff;
  backdrop-filter: none; -webkit-backdrop-filter: none; box-shadow: 0 7px 30px rgba(0,0,0,.35);
}
html[data-theme="w10"] .titlebar { height: 31px; padding-left: 8px; background: #fff; }
html[data-theme="w10"] .titlebar .title { color: #000; text-shadow: none; font-size: 12px; }
html[data-theme="w10"] .caption { align-self: stretch; margin: 0; }
html[data-theme="w10"] .caption button,
html[data-theme="w10"] .caption .bmin, html[data-theme="w10"] .caption .bclose {
  width: 46px; height: 30px; margin: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; color: #000;
}
html[data-theme="w10"] .caption button:hover { background: #e5e5e5; box-shadow: none; }
html[data-theme="w10"] .caption .bclose:hover { background: #e81123; color: #fff; box-shadow: none; }
html[data-theme="w10"] .caption .bmin .g::before { left: 0; bottom: 4px; width: 10px; height: 1px; }
html[data-theme="w10"] .caption .bmax .g::before { border-width: 1px; }
html[data-theme="w10"] .win.max .caption .bmax .g::before { left: 2px; top: 0; width: 8px; height: 8px; }
html[data-theme="w10"] .win.max .caption .bmax .g::after { left: 0; top: 2px; width: 8px; height: 8px; border-width: 1px; background: #fff; }
html[data-theme="w10"] .caption .bmax:hover .g::after { background: #e5e5e5; }
html[data-theme="w10"] .caption .bclose .g::before, html[data-theme="w10"] .caption .bclose .g::after { width: 1px; height: 13px; top: -2px; left: 4.5px; }
html[data-theme="w10"] .win.inactive { background: #fff; border-color: #aaa; box-shadow: 0 4px 16px rgba(0,0,0,.25); }
html[data-theme="w10"] .win.inactive .titlebar .title { color: #999; }
html[data-theme="w10"] .win.inactive .caption .g { opacity: .45; }
html[data-theme="w10"] .win.max { border: 0; }
html[data-theme="w10"] .win.max .titlebar { height: 31px; }
html[data-theme="w10"] .client, html[data-theme="w10"] .explorer .ex-frame, html[data-theme="w10"] .ie .ie-frame { border: 0; box-shadow: none; }
html[data-theme="w10"] .client { border-top: 1px solid #f0f0f0; }
html[data-theme="w10"] .ex-top, html[data-theme="w10"] .ie .ie-bar { background: #fff; margin: 0; padding: 4px 6px; }

/* Commandes */
html[data-theme="w10"] .menubar, html[data-theme="w10"] .menubar.plain { background: #fff; border-bottom: 1px solid #f0f0f0; }
html[data-theme="w10"] .menubar > span { border-radius: 0; }
html[data-theme="w10"] .menubar > span:hover, html[data-theme="w10"] .menubar > span.open { background: #e5f3ff; border-color: #cce8ff; }
html[data-theme="w10"] .statusbar { background: #fff; border-top-color: #f0f0f0; }
html[data-theme="w10"] .dialog-foot { background: #f0f0f0; border-top: 0; }
html[data-theme="w10"] .dialog-body .dmsg .main { color: #000; }
html[data-theme="w10"] .btn7 { border: 1px solid #adadad; border-radius: 0; background: #e1e1e1; box-shadow: none; }
html[data-theme="w10"] .btn7:hover { border-color: var(--accent); background: #e5f1fb; }
html[data-theme="w10"] .btn7:active { border-color: #005499; background: #cce4f7; box-shadow: none; }
html[data-theme="w10"] .btn7.default { border-color: var(--accent); box-shadow: inset 0 0 0 1px var(--accent); }
html[data-theme="w10"] input.txt7, html[data-theme="w10"] .ex-search, html[data-theme="w10"] .addr { border: 1px solid #d9d9d9; border-radius: 0; background: #fff; box-shadow: none; }
html[data-theme="w10"] .ctx { background: #f2f2f2; border: 1px solid #ccc; box-shadow: 2px 2px 6px rgba(0,0,0,.2); padding: 3px 0; }
html[data-theme="w10"] .ctx li { border: 0; border-radius: 0; padding: 5px 28px 5px 32px; }
html[data-theme="w10"] .ctx li:hover:not(.sep):not(.disabled) { background: #91c9f7; background: rgba(0,0,0,.08); }
html[data-theme="w10"] .ctx li.sep { background: #ccc; border: 0; margin: 3px 8px; }
html[data-theme="w10"] .cmdbar { background: #fff; border-bottom: 1px solid #f0f0f0; }
html[data-theme="w10"] .cmdbar button { color: #000; border-radius: 0; }
html[data-theme="w10"] .cmdbar button:hover { border-color: #cce8ff; background: #e5f3ff; box-shadow: none; }
html[data-theme="w10"] .navbtn { background: none; border: 0; box-shadow: none; border-radius: 0; width: 28px; height: 28px; }
html[data-theme="w10"] .navbtn svg path { stroke: #333; stroke-width: 1.4; }
html[data-theme="w10"] .navbtn:hover:not(:disabled) { background: #e5f3ff; filter: none; box-shadow: none; }
html[data-theme="w10"] .navbtn:disabled { background: none; opacity: .35; }
html[data-theme="w10"] .ex-nav { background: #fff; border-right-color: #f0f0f0; }
html[data-theme="w10"] .ex-nav .item, html[data-theme="w10"] .ex-item { border-radius: 0; }
html[data-theme="w10"] .ex-nav .item:hover, html[data-theme="w10"] .ex-item:hover { background: #e5f3ff; border-color: #e5f3ff; }
html[data-theme="w10"] .ex-nav .item.cur, html[data-theme="w10"] .ex-item.sel { background: #cce8ff; border-color: #99d1ff; }
html[data-theme="w10"] .ex-details { background: #fff; border-top-color: #f0f0f0; }
html[data-theme="w10"] .calc { background: #e6e6e6 !important; }
html[data-theme="w10"] .calc-disp { border: 0; border-radius: 0; background: #e6e6e6; box-shadow: none; }
html[data-theme="w10"] .calc-disp .val { font-size: 30px; font-weight: 600; }
html[data-theme="w10"] .calc-keys button { border: 0; border-radius: 0; background: #f2f2f2; box-shadow: none; color: #000; }
html[data-theme="w10"] .calc-keys button:hover { background: #d9d9d9; }
html[data-theme="w10"] .calc-keys button:active, html[data-theme="w10"] .calc-keys button.press { background: #bfbfbf; box-shadow: none; }
html[data-theme="w10"] .calc-keys [data-k="="] { background: #8abae5; }
html[data-theme="w10"] .mines { background: #f2f2f2 !important; }
html[data-theme="w10"] .paint .ribbon, html[data-theme="w10"] .viewer .vbar { background: #f5f6f7; border-color: #dadbdc; }
html[data-theme="w10"] .page-head { background: #fff; border-bottom-color: #f0f0f0; }
html[data-theme="w10"] .page-head h1, html[data-theme="w10"] .page h2 { color: #000; }
html[data-theme="w10"] .dicon { border-radius: 0; }
html[data-theme="w10"] .dicon:hover { background: rgba(255,255,255,.15); border-color: transparent; }
html[data-theme="w10"] .dicon.sel { background: rgba(153,209,255,.35); border-color: rgba(153,209,255,.6); }
html[data-theme="w10"] #calendar { background: rgba(31,31,31,.95); color: #fff; border: 0; border-radius: 0; }
html[data-theme="w10"] .cal-now, html[data-theme="w10"] .cal-now b, html[data-theme="w10"] .cal-head button { color: #fff; }
html[data-theme="w10"] .cal-now { border-bottom-color: #444; }
html[data-theme="w10"] .cal-grid .today { background: var(--accent); border-color: var(--accent); color: #fff; }
html[data-theme="w10"] #snap-preview { border-radius: 0; }

/* Petits écrans : pas de libellés dans la barre des tâches */
@media (max-width: 700px) {
  html[data-theme="xp"] .task, html[data-theme="w98"] .task { width: 34px; padding: 0; justify-content: center; }
  html[data-theme="xp"] .task .tlabel, html[data-theme="w98"] .task .tlabel { display: none; }
  html[data-theme="w10"] #startmenu { width: 100%; }
  html[data-theme="w10"] .sm-left { width: auto; flex: 1; }
  html[data-theme="w10"] .sm-right { display: none; }
  html[data-theme="xp"] #startmenu, html[data-theme="w98"] #startmenu { width: 100%; }
}

/* Séparateurs du menu Démarrer (XP et 98) : une simple ligne */
html[data-theme="xp"] #sm-links li.sep, html[data-theme="w98"] #sm-links li.sep { padding: 0; height: 1px; margin: 4px 6px; }
html[data-theme="w98"] #sm-links li.sep { height: 2px; background: #808080; border-bottom: 1px solid #fff; }

/* ==========================================================================
   Matrix : noir, texte vert, symboles
   ========================================================================== */
[data-wall="matrix"] { --wallpaper: #000; }
#matrix-rain { position: absolute; inset: 0 0 var(--taskbar-h) 0; width: 100%; height: calc(100% - var(--taskbar-h)); z-index: 0; display: block; }
[data-preview="matrix"] .tp {
  background:
    repeating-linear-gradient(90deg, transparent 0 7px, rgba(0,255,65,.55) 7px 8px, transparent 8px 15px),
    linear-gradient(#000, #021a06);
}
[data-preview="matrix"] .tp-win { background: #000; border: 1px solid #00ff41; box-shadow: 0 0 6px #00ff41; }
[data-preview="matrix"] .tp-win i { background: #00ff41; height: 6px; opacity: .7; }
[data-preview="matrix"] .tp-bar { background: #000; border-top: 1px solid #00ff41; }
[data-preview="matrix"] .tp-bar b { background: none; color: #00ff41; width: 22px; }
[data-preview="matrix"] .tp-bar b::before { content: ">_"; font: 700 8px monospace; position: absolute; left: 3px; top: 1px; }

html[data-theme="matrix"] {
  --taskbar-h: 34px; --font: "Consolas", "Lucida Console", "Courier New", monospace;
  --m: #00ff41; --m-dim: #00a82b; --m-dark: #002b0c; --m-bg: rgba(0, 8, 2, .92); --btn-face: #000;
  --m-glow: 0 0 6px rgba(0,255,65,.65);
}
html[data-theme="matrix"] body { background: #000; color: var(--m); }
html[data-theme="matrix"] ::selection { background: var(--m); color: #000; }
html[data-theme="matrix"] a { color: #7dffa0; }
html[data-theme="matrix"] .ico svg, html[data-theme="matrix"] .ticon svg, html[data-theme="matrix"] .sm-item svg,
html[data-theme="matrix"] .tb-thumb svg, html[data-theme="matrix"] .page-head .ico svg, html[data-theme="matrix"] .skill-grp h3 svg,
html[data-theme="matrix"] .aico svg, html[data-theme="matrix"] .ex-nav svg, html[data-theme="matrix"] .ie-tab svg, html[data-theme="matrix"] .dialog-body .dico svg {
  filter: grayscale(.55) sepia(.35) hue-rotate(55deg) saturate(1.4) brightness(.95) drop-shadow(0 0 3px rgba(0,255,65,.45)) !important;
}
html[data-theme="matrix"] .client img, html[data-theme="matrix"] .avatar-frame img, html[data-theme="matrix"] .ex-item img {
  filter: grayscale(.6) sepia(.3) hue-rotate(55deg) saturate(1.3) brightness(.85) contrast(1.05);
}
html[data-theme="matrix"] .viewer .vstage img { filter: none; }

/* Démarrage et session */
html[data-theme="matrix"] .spinner { border-color: rgba(0,255,65,.15); border-top-color: var(--m); border-right-color: var(--m); box-shadow: var(--m-glow); }
html[data-theme="matrix"] #logon, html[data-theme="matrix"] #shutdown {
  background:
    repeating-linear-gradient(0deg, rgba(0,255,65,.04) 0 1px, transparent 1px 3px),
    radial-gradient(ellipse at 50% 45%, #022b0c, #000 65%);
}
html[data-theme="matrix"] #logon::before, html[data-theme="matrix"] #shutdown::before { display: none; }
html[data-theme="matrix"] .logon-user .avatar-frame { background: #000; border: 1px solid var(--m); box-shadow: var(--m-glow); border-radius: 0; padding: 4px; }
html[data-theme="matrix"] .logon-user .avatar-frame img { border-radius: 0; border: 0; }
html[data-theme="matrix"] .logon-name { color: var(--m); text-shadow: var(--m-glow); letter-spacing: 2px; }
html[data-theme="matrix"] .logon-name::before { content: "> "; }
html[data-theme="matrix"] .logon-hint { color: var(--m-dim); }
html[data-theme="matrix"] .logon-welcome { color: var(--m); text-shadow: var(--m-glow); font-size: 0; gap: 0; }
html[data-theme="matrix"] .logon-welcome .spinner { margin-right: 14px; }
html[data-theme="matrix"] #logon .logon-welcome::after { content: "Accès autorisé_"; font-size: 26px; letter-spacing: 2px; }
html[data-theme="matrix"] #shutdown .logon-welcome #shutdown-text { font-size: 26px; }
html[data-theme="matrix"] .off-text { color: var(--m-dim); }

/* Bureau */
html[data-theme="matrix"] .dicon .lbl { color: var(--m); text-shadow: 0 0 4px #000, 0 0 6px rgba(0,255,65,.8); }
html[data-theme="matrix"] .dicon .ico svg { filter: grayscale(.55) sepia(.35) hue-rotate(55deg) saturate(1.4) drop-shadow(0 0 4px rgba(0,255,65,.6)) !important; }
html[data-theme="matrix"] .dicon:hover { background: rgba(0,255,65,.08); border-color: rgba(0,255,65,.35); }
html[data-theme="matrix"] .dicon.sel { background: rgba(0,255,65,.18); border-color: var(--m); }
html[data-theme="matrix"] .shortcut-arrow { display: none; }

/* Barre des tâches */
html[data-theme="matrix"] #taskbar { background: rgba(0,0,0,.92); border-top: 1px solid var(--m); box-shadow: 0 -2px 12px rgba(0,255,65,.25); backdrop-filter: none; -webkit-backdrop-filter: none; }
html[data-theme="matrix"] #orb { width: auto; padding: 0 14px; border-right: 1px solid var(--m-dark); }
html[data-theme="matrix"] #orb::before { display: none; }
html[data-theme="matrix"] .orb-label { display: block; color: var(--m); font-weight: 700; text-shadow: var(--m-glow); }
html[data-theme="matrix"] .orb-label::before { content: ">_ "; }
html[data-theme="matrix"] #orb:hover, html[data-theme="matrix"] #orb.active { background: var(--m); }
html[data-theme="matrix"] #orb:hover .orb-label, html[data-theme="matrix"] #orb.active .orb-label { color: #000; text-shadow: none; }
html[data-theme="matrix"] .task { width: 44px; margin: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
html[data-theme="matrix"] .task .ico { width: 22px; height: 22px; }
html[data-theme="matrix"] .task.running { box-shadow: inset 0 -2px var(--m-dim); background: none; border: 0; }
html[data-theme="matrix"] .task.active { box-shadow: inset 0 -2px var(--m), 0 0 10px rgba(0,255,65,.3); background: rgba(0,255,65,.12); }
html[data-theme="matrix"] .task:hover { background: rgba(0,255,65,.12); border: 0; }
html[data-theme="matrix"] .task.multi::after { display: none; }
html[data-theme="matrix"] #tray, html[data-theme="matrix"] #clock { color: var(--m); text-shadow: var(--m-glow); }
html[data-theme="matrix"] .tray-ico svg { filter: sepia(1) hue-rotate(70deg) saturate(8) brightness(.9); }
html[data-theme="matrix"] .tray-ico:hover, html[data-theme="matrix"] #clock:hover { background: rgba(0,255,65,.12); box-shadow: none; }
html[data-theme="matrix"] #showdesk { background: none; border-left: 1px solid var(--m-dark); box-shadow: none; }
html[data-theme="matrix"] .tb-popup, html[data-theme="matrix"] #calendar { background: var(--m-bg); border: 1px solid var(--m); border-radius: 0; box-shadow: var(--m-glow); color: var(--m); }
html[data-theme="matrix"] .tb-thumb { color: var(--m); border-radius: 0; }
html[data-theme="matrix"] .tb-thumb .p { background-color: #000; border-color: var(--m-dark); }
html[data-theme="matrix"] .cal-now, html[data-theme="matrix"] .cal-now b, html[data-theme="matrix"] .cal-head button, html[data-theme="matrix"] .cal-grid .dow { color: var(--m); }
html[data-theme="matrix"] .cal-now { border-bottom-color: var(--m-dark); }
html[data-theme="matrix"] .cal-grid .other { color: var(--m-dark); }
html[data-theme="matrix"] .cal-grid .today { background: var(--m); color: #000; border-color: var(--m); }

/* Menu Démarrer */
html[data-theme="matrix"] #startmenu { background: var(--m-bg); border: 1px solid var(--m); border-radius: 0; box-shadow: 0 0 18px rgba(0,255,65,.35); backdrop-filter: none; -webkit-backdrop-filter: none; color: var(--m); }
html[data-theme="matrix"] .sm-left { background: #000; border: 1px solid var(--m-dark); border-radius: 0; box-shadow: none; }
html[data-theme="matrix"] .sm-item { border-radius: 0; color: var(--m); }
html[data-theme="matrix"] .sm-item small { color: var(--m-dim); }
html[data-theme="matrix"] .sm-item:hover, html[data-theme="matrix"] .sm-item.kbd { background: var(--m); border-color: var(--m); color: #000; }
html[data-theme="matrix"] .sm-item:hover small { color: #003b10; }
html[data-theme="matrix"] .sm-sep { background: var(--m-dark); }
html[data-theme="matrix"] .sm-label { color: var(--m) !important; }
html[data-theme="matrix"] .sm-allprog { color: var(--m); border-top-color: var(--m-dark); border-radius: 0; }
html[data-theme="matrix"] .sm-allprog .arrow { color: var(--m); }
html[data-theme="matrix"] .sm-allprog:hover { background: var(--m); color: #000; box-shadow: none; }
html[data-theme="matrix"] .sm-allprog:hover .arrow { color: #000; }
html[data-theme="matrix"] .sm-search { background: #000; border-top: 1px solid var(--m-dark); border-radius: 0; }
html[data-theme="matrix"] .sm-search input { background: #000; color: var(--m); border: 1px solid var(--m-dim); border-radius: 0; caret-color: var(--m); }
html[data-theme="matrix"] .sm-search input::placeholder { color: var(--m-dim); }
html[data-theme="matrix"] .sm-avatar { background: #000; border: 1px solid var(--m); border-radius: 0; box-shadow: var(--m-glow); }
html[data-theme="matrix"] .sm-avatar img { border: 0; border-radius: 0; }
html[data-theme="matrix"] #sm-links li { color: var(--m); text-shadow: none; border-radius: 0; }
html[data-theme="matrix"] #sm-links li:not(.sep)::before { content: "> "; color: var(--m-dim); }
html[data-theme="matrix"] #sm-links li:hover { background: var(--m); color: #000; border-color: var(--m); box-shadow: none; }
html[data-theme="matrix"] #sm-links li:hover::before { color: #000; }
html[data-theme="matrix"] #sm-links .sep { background: var(--m-dark); border: 0; }
html[data-theme="matrix"] .sm-shutdown button { background: #000; border: 1px solid var(--m); color: var(--m); box-shadow: none; text-shadow: none; border-radius: 0; }
html[data-theme="matrix"] .sm-shutdown button:hover { background: var(--m); color: #000; box-shadow: var(--m-glow); }

/* Fenêtres */
html[data-theme="matrix"] .win {
  padding: 0 4px 4px; border: 1px solid var(--m); border-radius: 0; background: var(--m-bg);
  backdrop-filter: none; -webkit-backdrop-filter: none; box-shadow: 0 0 14px rgba(0,255,65,.35), 0 8px 30px rgba(0,0,0,.8);
}
html[data-theme="matrix"] .win.inactive { border-color: var(--m-dim); box-shadow: 0 6px 20px rgba(0,0,0,.8); background: var(--m-bg); }
html[data-theme="matrix"] .titlebar { height: 28px; }
html[data-theme="matrix"] .titlebar .title { color: var(--m); text-shadow: var(--m-glow); font-weight: 700; letter-spacing: .5px; }
html[data-theme="matrix"] .titlebar .title::before { content: "root@steve:~$ "; color: var(--m-dim); font-weight: 400; text-shadow: none; }
html[data-theme="matrix"] .win.inactive .titlebar .title { color: var(--m-dim); text-shadow: none; }
html[data-theme="matrix"] .caption { align-self: center; margin: 0; gap: 4px; }
html[data-theme="matrix"] .caption button,
html[data-theme="matrix"] .caption .bmin, html[data-theme="matrix"] .caption .bclose {
  width: 24px; height: 18px; margin: 0; border: 1px solid var(--m-dim); border-radius: 0; background: #000; box-shadow: none; color: var(--m);
}
html[data-theme="matrix"] .caption button:hover { background: var(--m); color: #000; box-shadow: var(--m-glow); }
html[data-theme="matrix"] .caption .bclose:hover { background: #ff2a2a; border-color: #ff2a2a; color: #000; }
html[data-theme="matrix"] .caption button svg { display: none; }
html[data-theme="matrix"] .caption .g { display: block; width: 9px; height: 9px; }
html[data-theme="matrix"] .caption .bclose .g::before, html[data-theme="matrix"] .caption .bclose .g::after { left: 3.5px; height: 11px; width: 2px; }
html[data-theme="matrix"] .win.max { padding: 0; border-width: 0 0 1px; }
html[data-theme="matrix"] .win .client, html[data-theme="matrix"] .explorer .ex-frame, html[data-theme="matrix"] .ie .ie-frame {
  background: #000; border: 1px solid var(--m-dark); box-shadow: none; color: var(--m);
}
html[data-theme="matrix"] .win .client.explorer, html[data-theme="matrix"] .win .client.ie { background: transparent; border: 0; }
html[data-theme="matrix"] #snap-preview { border-radius: 0; background: rgba(0,255,65,.08); border: 1px solid var(--m); box-shadow: var(--m-glow); }

/* Contenus : tout passe en noir et vert */
html[data-theme="matrix"] .page, html[data-theme="matrix"] .page-head, html[data-theme="matrix"] .card, html[data-theme="matrix"] .quote,
html[data-theme="matrix"] .menubar, html[data-theme="matrix"] .statusbar, html[data-theme="matrix"] .cmdbar, html[data-theme="matrix"] .ex-nav,
html[data-theme="matrix"] .ex-content, html[data-theme="matrix"] .ex-details, html[data-theme="matrix"] .ex-top, html[data-theme="matrix"] .ie .ie-bar,
html[data-theme="matrix"] .ie .ie-tabs, html[data-theme="matrix"] .ie .ie-tab, html[data-theme="matrix"] .dialog-body, html[data-theme="matrix"] .dialog-foot,
html[data-theme="matrix"] .notepad textarea, html[data-theme="matrix"] .notepad .find, html[data-theme="matrix"] .calc, html[data-theme="matrix"] .mines,
html[data-theme="matrix"] .paint .ribbon, html[data-theme="matrix"] .viewer .vstage, html[data-theme="matrix"] .viewer .vbar, html[data-theme="matrix"] .client.flat,
html[data-theme="matrix"] .viewer {
  background: #000 !important; color: var(--m); border-color: var(--m-dark);
}
html[data-theme="matrix"] .page h1, html[data-theme="matrix"] .page h2, html[data-theme="matrix"] .page-head h1, html[data-theme="matrix"] .ex-lib h2,
html[data-theme="matrix"] .dialog-body .dmsg .main, html[data-theme="matrix"] .tl-item .when, html[data-theme="matrix"] .card b, html[data-theme="matrix"] .tl-item b,
html[data-theme="matrix"] .links-list a { color: var(--m); text-shadow: var(--m-glow); }
html[data-theme="matrix"] .page p, html[data-theme="matrix"] .page span, html[data-theme="matrix"] .card span, html[data-theme="matrix"] .tl-item p,
html[data-theme="matrix"] .ex-lib div, html[data-theme="matrix"] .ex-details span, html[data-theme="matrix"] .links-list a small, html[data-theme="matrix"] .ex-item.tile small { color: var(--m-dim); }
html[data-theme="matrix"] .page h2 { border-bottom-color: var(--m-dark); }
html[data-theme="matrix"] .page h2::before { content: "## "; color: var(--m-dim); }
html[data-theme="matrix"] .page-head { border-bottom-color: var(--m-dark); }
html[data-theme="matrix"] .card { border-color: var(--m-dark); }
html[data-theme="matrix"] .card:hover { border-color: var(--m); box-shadow: var(--m-glow); }
html[data-theme="matrix"] .quote { border-left-color: var(--m); color: var(--m); }
html[data-theme="matrix"] .tags span { background: #000; border-color: var(--m-dim); color: var(--m); border-radius: 0; }
html[data-theme="matrix"] .tags span::before { content: "#"; color: var(--m-dim); }
html[data-theme="matrix"] .tl::before { background: var(--m-dark); }
html[data-theme="matrix"] .tl-item img, html[data-theme="matrix"] .tl-item .tl-ico { border-color: #000; box-shadow: 0 0 0 1px var(--m), var(--m-glow); background: #000; }
html[data-theme="matrix"] .links-list a:hover, html[data-theme="matrix"] .ex-nav .item:hover, html[data-theme="matrix"] .ex-item:hover { background: rgba(0,255,65,.1); border-color: var(--m-dark); }
html[data-theme="matrix"] .ex-nav .item.cur, html[data-theme="matrix"] .ex-item.sel { background: rgba(0,255,65,.22); border-color: var(--m); }
html[data-theme="matrix"] .ex-nav, html[data-theme="matrix"] .ex-lib { border-color: var(--m-dark); }
html[data-theme="matrix"] .ex-item .ico img { border-color: var(--m-dark); box-shadow: none; }
html[data-theme="matrix"] .ex-item.tile .bar { background: #000; border-color: var(--m-dim); }
html[data-theme="matrix"] .ex-item.tile .bar i { background: var(--m); box-shadow: var(--m-glow); }
html[data-theme="matrix"] .menubar > span, html[data-theme="matrix"] .cmdbar button, html[data-theme="matrix"] .crumb { color: var(--m); border-radius: 0; }
html[data-theme="matrix"] .menubar > span:hover, html[data-theme="matrix"] .menubar > span.open, html[data-theme="matrix"] .cmdbar button:hover, html[data-theme="matrix"] .crumb:hover {
  background: var(--m); color: #000; border-color: var(--m); box-shadow: none;
}
html[data-theme="matrix"] .statusbar span { border-color: var(--m-dark); }
html[data-theme="matrix"] .navbtn { background: #000; border: 1px solid var(--m-dim); box-shadow: none; }
html[data-theme="matrix"] .navbtn svg path { stroke: var(--m); }
html[data-theme="matrix"] .navbtn:hover:not(:disabled) { background: var(--m); filter: none; }
html[data-theme="matrix"] .navbtn:hover:not(:disabled) svg path { stroke: #000; }
html[data-theme="matrix"] .navbtn:disabled { background: #000; opacity: .35; }
html[data-theme="matrix"] .crumb-sep { color: var(--m-dim); }
html[data-theme="matrix"] .notepad textarea { color: var(--m); caret-color: var(--m); text-shadow: 0 0 4px rgba(0,255,65,.45); }
html[data-theme="matrix"] .btn7 { background: #000; color: var(--m); border: 1px solid var(--m-dim); border-radius: 0; box-shadow: none; }
html[data-theme="matrix"] .btn7:hover, html[data-theme="matrix"] .btn7:active { background: var(--m); color: #000; border-color: var(--m); box-shadow: var(--m-glow); }
html[data-theme="matrix"] .btn7.default { border-color: var(--m); box-shadow: inset 0 0 0 1px var(--m); }
html[data-theme="matrix"] input.txt7, html[data-theme="matrix"] .ex-search, html[data-theme="matrix"] .addr, html[data-theme="matrix"] .addr input {
  background: #000 !important; color: var(--m) !important; border: 1px solid var(--m-dim); border-radius: 0; box-shadow: none; caret-color: var(--m);
}
html[data-theme="matrix"] .ctx { background: var(--m-bg); border: 1px solid var(--m); box-shadow: var(--m-glow); color: var(--m); padding: 2px; }
html[data-theme="matrix"] .ctx li { border-radius: 0; }
html[data-theme="matrix"] .ctx li:hover:not(.sep):not(.disabled) { background: var(--m); border-color: var(--m); color: #000; }
html[data-theme="matrix"] .ctx li .key { color: var(--m-dim); }
html[data-theme="matrix"] .ctx li:hover .key { color: #003b10; }
html[data-theme="matrix"] .ctx li.disabled { color: var(--m-dark); }
html[data-theme="matrix"] .ctx li.sep { background: var(--m-dark); border: 0; margin: 3px 2px; }
html[data-theme="matrix"] .calc-disp { background: #000; border: 1px solid var(--m-dim); border-radius: 0; box-shadow: inset 0 0 12px rgba(0,255,65,.25); }
html[data-theme="matrix"] .calc-disp .val { color: var(--m); text-shadow: var(--m-glow); }
html[data-theme="matrix"] .calc-disp .hist, html[data-theme="matrix"] .calc-disp .mem { color: var(--m-dim); }
html[data-theme="matrix"] .calc-keys button { background: #000; border: 1px solid var(--m-dark); border-radius: 0; color: var(--m); box-shadow: none; }
html[data-theme="matrix"] .calc-keys button:hover { background: rgba(0,255,65,.15); border-color: var(--m); }
html[data-theme="matrix"] .calc-keys button:active, html[data-theme="matrix"] .calc-keys button.press { background: var(--m); color: #000; }
html[data-theme="matrix"] .mines-board { background: #000; box-shadow: 0 0 0 1px var(--m-dim); }
html[data-theme="matrix"] .mcell { background: #021a07; border-color: var(--m-dark); box-shadow: none; color: var(--m); }
html[data-theme="matrix"] .mcell:hover:not(.open) { background: #04390f; }
html[data-theme="matrix"] .mcell.open { background: #000; border-color: #011a05; }
html[data-theme="matrix"] .mcell[class*=" n"] { color: var(--m); text-shadow: var(--m-glow); }
html[data-theme="matrix"] .mcell.boom { background: #6b0000; }
html[data-theme="matrix"] .mines-info b { background: #000; color: var(--m); border-color: var(--m-dim); }
html[data-theme="matrix"] .paint .canvas-wrap { background: #031a08; }
html[data-theme="matrix"] .paint canvas { box-shadow: 0 0 0 1px var(--m), var(--m-glow); }
html[data-theme="matrix"] .paint .rgroup { border-color: var(--m-dark); }
html[data-theme="matrix"] .paint .rgroup .rcap, html[data-theme="matrix"] .paint .cur-colors div { color: var(--m-dim); }
html[data-theme="matrix"] .paint .tools button { color: var(--m); }
html[data-theme="matrix"] .paint .tools button.on, html[data-theme="matrix"] .paint .sizes button.on, html[data-theme="matrix"] .paint .cur-colors div.on { background: rgba(0,255,65,.18); border-color: var(--m); }
html[data-theme="matrix"] .paint .sizes button i { background: var(--m); }
html[data-theme="matrix"] .viewer .vbar button { color: var(--m); }
html[data-theme="matrix"] .viewer .vbar .vplay { background: #000; border-color: var(--m); box-shadow: var(--m-glow); }
html[data-theme="matrix"] .wall, html[data-theme="matrix"] .theme-card .tp { box-shadow: 0 0 0 1px var(--m-dark); }
html[data-theme="matrix"] .wall.on, html[data-theme="matrix"] .theme-card.on { border-color: var(--m); }
html[data-theme="matrix"] .theme-card { color: var(--m); }
html[data-theme="matrix"] .avatar-frame { background: #000; box-shadow: 0 0 0 1px var(--m), var(--m-glow); }
html[data-theme="matrix"] .ie iframe { background: #fff; }
html[data-theme="matrix"] .win.fixed .titlebar .title::before { display: none; }

/* ==========================================================================
   Mac OS X (Aqua) : barre de menus en haut, Dock en bas, boutons à gauche
   ========================================================================== */
#macbar { display: none; }
[data-wall="aqua"] {
  --wallpaper:
    radial-gradient(ellipse 70% 30% at 30% 62%, rgba(255,255,255,.35), transparent 70%),
    radial-gradient(ellipse 90% 22% at 70% 40%, rgba(140,210,255,.45), transparent 70%),
    linear-gradient(160deg, transparent 40%, rgba(255,255,255,.18) 48%, transparent 56%),
    linear-gradient(200deg, transparent 50%, rgba(120,190,255,.25) 58%, transparent 66%),
    linear-gradient(#1a4f9c, #3d7fd0 45%, #2a62b4 70%, #133a7a);
}
[data-preview="osx"] .tp { background: linear-gradient(#1a4f9c, #3d7fd0 50%, #133a7a); }
[data-preview="osx"] .tp::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 6px; background: rgba(240,240,240,.92); }
[data-preview="osx"] .tp-win { border-radius: 3px 3px 0 0; top: 20%; box-shadow: 0 3px 8px rgba(0,0,0,.4); }
[data-preview="osx"] .tp-win i { background: linear-gradient(#e8e8e8, #bdbdbd); height: 9px; position: relative; }
[data-preview="osx"] .tp-win i::before { content: ""; position: absolute; left: 3px; top: 2px; width: 5px; height: 5px; border-radius: 50%; background: #ff5f57; box-shadow: 7px 0 #febc2e, 14px 0 #28c840; }
[data-preview="osx"] .tp-bar { left: 25%; right: 25%; bottom: 2px; height: 10px; border-radius: 3px; background: rgba(255,255,255,.45); }
[data-preview="osx"] .tp-bar b { display: none; }

html[data-theme="osx"] { --taskbar-h: 66px; --font: "Lucida Grande", "Helvetica Neue", Helvetica, Arial, sans-serif; --aqua: #3875d7; }
html[data-theme="osx"] body { font-size: 12px; }

/* Démarrage et session : sans logo */
html[data-theme="osx"] #boot { background: #e6e6e6; }
html[data-theme="osx"] #boot .spinner, html[data-theme="osx"] .spinner { border-color: rgba(0,0,0,.12); border-top-color: #555; border-right-color: #555; }
html[data-theme="osx"] #logon, html[data-theme="osx"] #shutdown { background: var(--wallpaper); --wallpaper: linear-gradient(#1a4f9c, #3d7fd0 45%, #2a62b4 70%, #133a7a); }
html[data-theme="osx"] #logon::before, html[data-theme="osx"] #shutdown::before { background: radial-gradient(ellipse 60% 40% at 50% 50%, rgba(255,255,255,.12), transparent 70%); }
html[data-theme="osx"] .logon-user .avatar-frame { width: 110px; height: 110px; padding: 0; border-radius: 50%; background: none; box-shadow: 0 0 0 4px rgba(255,255,255,.85), 0 6px 18px rgba(0,0,0,.4); }
html[data-theme="osx"] .logon-user .avatar-frame img { border-radius: 50%; border: 0; }
html[data-theme="osx"] .logon-name { font-size: 22px; font-weight: 700; text-shadow: 0 1px 3px rgba(0,0,0,.5); }
html[data-theme="osx"] .logon-welcome .spinner { border-color: rgba(255,255,255,.25); border-top-color: #fff; border-right-color: #fff; }

/* Barre de menus du haut */
html[data-theme="osx"] #macbar {
  display: flex; align-items: center; position: absolute; left: 0; right: 0; top: 0; height: 22px; z-index: 5200; padding: 0 6px;
  background: linear-gradient(rgba(255,255,255,.95), rgba(225,225,225,.92)); border-bottom: 1px solid rgba(0,0,0,.35);
  box-shadow: 0 1px 4px rgba(0,0,0,.25); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); color: #000; user-select: none;
}
html[data-theme="osx"] .mb-logo { width: 26px; height: 22px; border: 0; background: none; padding: 3px 5px; display: flex; align-items: center; }
html[data-theme="osx"] .mb-logo img { width: 16px; height: 16px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 1px rgba(0,0,0,.3); }
html[data-theme="osx"] .mb-logo:hover, html[data-theme="osx"] #startmenu:not(.hidden) ~ #macbar .mb-logo { background: var(--aqua); }
html[data-theme="osx"] #mb-app { padding: 0 10px; font-size: 13px; }
html[data-theme="osx"] #macbar .menubar { background: none; border: 0; padding: 0; }
html[data-theme="osx"] #macbar .menubar > span { border: 0; border-radius: 0; margin: 0; padding: 2px 9px; font-size: 13px; }
html[data-theme="osx"] #macbar .menubar > span:hover, html[data-theme="osx"] #macbar .menubar > span.open { background: var(--aqua); color: #fff; }
html[data-theme="osx"] #windows { top: 22px; }
html[data-theme="osx"] #icons { top: 22px; left: auto; right: 0; flex-wrap: wrap-reverse; }
html[data-theme="osx"] #icons-right { top: 22px; right: auto; left: 0; flex-wrap: wrap; }

/* Le Dock */
html[data-theme="osx"] #taskbar {
  left: 0; right: 0; margin: 0 auto; width: fit-content; bottom: 4px; height: 58px; max-width: calc(100% - 8px);
  padding: 0 8px; border-radius: 14px; align-items: flex-end; overflow: visible;
  background: linear-gradient(rgba(255,255,255,.38), rgba(255,255,255,.18)); border: 1px solid rgba(255,255,255,.55);
  box-shadow: 0 6px 20px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.6); backdrop-filter: blur(14px) saturate(1.4); -webkit-backdrop-filter: blur(14px) saturate(1.4);
}
html[data-theme="osx"] #orb { width: 54px; height: 54px; align-self: flex-end; margin-bottom: 2px; border-radius: 12px; transition: transform .15s; transform-origin: bottom center; }
html[data-theme="osx"] #orb::before {
  width: 44px; height: 44px; margin: 0; border-radius: 10px; filter: none;
  background:
    radial-gradient(circle, #fff 2.5px, transparent 3px) 0 0 / 14px 14px,
    linear-gradient(#7ab8ff, #2a6fd6);
  background-position: 1px 1px, 0 0;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.4), 0 2px 4px rgba(0,0,0,.35);
}
html[data-theme="osx"] #orb:hover::before, html[data-theme="osx"] #orb.active::before { filter: brightness(1.1); box-shadow: inset 0 0 0 1px rgba(255,255,255,.4), 0 2px 4px rgba(0,0,0,.35); }
html[data-theme="osx"] #orb:hover { transform: scale(1.25) translateY(-6px); }
html[data-theme="osx"] #tasks { flex: none; overflow: visible; align-items: flex-end; gap: 4px; padding: 0 0 2px; }
html[data-theme="osx"] .task {
  width: 54px; height: 54px; margin: 0; border: 0; border-radius: 12px; background: none; box-shadow: none;
  transition: transform .15s; transform-origin: bottom center; position: relative;
}
html[data-theme="osx"] .task .ico { width: 46px; height: 46px; }
html[data-theme="osx"] .task .ico svg { filter: drop-shadow(0 2px 3px rgba(0,0,0,.4)); }
html[data-theme="osx"] .task:hover { background: none; border: 0; box-shadow: none; transform: scale(1.3) translateY(-8px); }
html[data-theme="osx"] .task.running, html[data-theme="osx"] .task.active { background: none; border: 0; box-shadow: none; }
html[data-theme="osx"] .task.running::before {
  content: ""; position: absolute; left: 50%; bottom: -3px; width: 5px; height: 5px; margin-left: -2.5px; border-radius: 50%;
  background: radial-gradient(circle, #fff, #9cd0ff); box-shadow: 0 0 4px #8fc9ff;
}
html[data-theme="osx"] .task.multi::after { display: none; }
html[data-theme="osx"] .task.flash { animation: macBounce .5s 3; }
@keyframes macBounce { 50% { transform: translateY(-14px); } }
html[data-theme="osx"] #tray { margin-left: auto; height: 22px; padding: 0 4px; color: #000; gap: 4px; }
html[data-theme="osx"] .tray-ico { height: 22px; }
html[data-theme="osx"] .tray-ico svg { filter: invert(1); }
html[data-theme="osx"] #clock { flex-direction: row; gap: 6px; height: 22px; color: #000; text-shadow: none; padding: 0 6px; border-radius: 0; font-size: 13px; }
html[data-theme="osx"] #clock-date { order: -1; }
html[data-theme="osx"] .tray-ico:hover, html[data-theme="osx"] #clock:hover { background: var(--aqua); color: #fff; box-shadow: none; }
html[data-theme="osx"] #showdesk { display: none; }
html[data-theme="osx"] .tb-popup { bottom: calc(var(--taskbar-h) + 6px); border-radius: 8px; background: rgba(30,30,30,.82); border: 1px solid rgba(255,255,255,.2); }
html[data-theme="osx"] #calendar { top: 26px; bottom: auto; right: 6px; border-radius: 6px; border-color: rgba(0,0,0,.25); background: rgba(250,250,250,.97); }

/* Menu (sous la photo, en haut à gauche) */
html[data-theme="osx"] #startmenu {
  top: 22px; bottom: auto; left: 4px; width: 300px; height: auto; max-height: calc(100% - 22px - var(--taskbar-h) - 10px);
  flex-direction: column; padding: 4px 0; border: 1px solid rgba(0,0,0,.25); border-radius: 0 0 6px 6px; color: #000;
  background: rgba(248,248,248,.96); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); box-shadow: 0 8px 24px rgba(0,0,0,.35);
}
html[data-theme="osx"] .sm-left { margin: 0; border: 0; border-radius: 0; background: none; box-shadow: none; flex: none; }
html[data-theme="osx"] .sm-left ul { padding: 0; flex: none; max-height: 45vh; }
html[data-theme="osx"] .sm-item { border: 0; border-radius: 0; padding: 3px 14px; }
html[data-theme="osx"] .sm-item svg { width: 20px; height: 20px; }
html[data-theme="osx"] .sm-item small { display: none; }
html[data-theme="osx"] .sm-item:hover, html[data-theme="osx"] .sm-item.kbd { background: linear-gradient(#5b8fe6, #2f68d0); color: #fff; }
html[data-theme="osx"] .sm-sep { background: #ddd; margin: 4px 0; }
html[data-theme="osx"] .sm-allprog { order: -1; margin: 0; border: 0; border-bottom: 1px solid #ddd; border-radius: 0; padding: 5px 14px; }
html[data-theme="osx"] .sm-allprog:hover { background: linear-gradient(#5b8fe6, #2f68d0); color: #fff; box-shadow: none; }
html[data-theme="osx"] .sm-allprog:hover .arrow { color: #fff; }
html[data-theme="osx"] .sm-search { order: -2; background: none; border: 0; padding: 4px 10px 6px; }
html[data-theme="osx"] .sm-search input { border-radius: 11px; border: 1px solid #9a9a9a; height: 22px; box-shadow: inset 0 1px 2px rgba(0,0,0,.2); padding-left: 22px;
  background: #fff radial-gradient(circle at 10px 10px, transparent 4px, #888 4.5px, #888 5.5px, transparent 6px) no-repeat; }
html[data-theme="osx"] .sm-right { width: auto; padding: 0; color: #000; position: static; border-top: 1px solid #ddd; margin-top: 4px; padding-top: 4px; }
html[data-theme="osx"] .sm-avatar { display: none; }
html[data-theme="osx"] #sm-links li { color: #000; text-shadow: none; border: 0; border-radius: 0; padding: 3px 14px; }
html[data-theme="osx"] #sm-links li:hover { background: linear-gradient(#5b8fe6, #2f68d0); color: #fff; box-shadow: none; }
html[data-theme="osx"] #sm-links li.sep { background: #ddd; height: 1px; padding: 0; margin: 4px 0; border: 0; }
html[data-theme="osx"] .sm-shutdown { margin: 4px 0 0; border-top: 1px solid #ddd; padding-top: 4px; }
html[data-theme="osx"] .sm-shutdown button { border: 0; background: none; box-shadow: none; color: #000; text-shadow: none; border-radius: 0; padding: 3px 14px; text-align: left; }
html[data-theme="osx"] #sm-off { flex: 1; }
html[data-theme="osx"] #sm-off::after { content: "…"; }
html[data-theme="osx"] .sm-shutdown button:hover { background: linear-gradient(#5b8fe6, #2f68d0); color: #fff; box-shadow: none; }
html[data-theme="osx"] #sm-off-menu { left: 100%; bottom: 0; }

/* Fenêtres */
html[data-theme="osx"] .win {
  padding: 0; border: 1px solid rgba(0,0,0,.45); border-radius: 6px 6px 3px 3px; background: linear-gradient(#e8e8e8, #bdbdbd 30px, #ececec 30px);
  backdrop-filter: none; -webkit-backdrop-filter: none; box-shadow: 0 12px 34px rgba(0,0,0,.45);
}
html[data-theme="osx"] .titlebar { height: 23px; padding: 0 8px; position: relative; border-bottom: 1px solid #888; background: linear-gradient(#e8e8e8, #c9c9c9); border-radius: 5px 5px 0 0; }
html[data-theme="osx"] .titlebar .ticon { display: none; }
html[data-theme="osx"] .titlebar .title { text-align: center; color: #222; text-shadow: 0 1px 0 rgba(255,255,255,.7); font-size: 13px; padding-right: 54px; }
html[data-theme="osx"] .caption { order: -1; align-self: center; margin: 0 6px 0 0; gap: 7px; }
html[data-theme="osx"] .caption .bclose { order: 0; }
html[data-theme="osx"] .caption .bmin { order: 1; }
html[data-theme="osx"] .caption .bmax { order: 2; }
html[data-theme="osx"] .caption button,
html[data-theme="osx"] .caption .bmin, html[data-theme="osx"] .caption .bclose {
  width: 13px; height: 13px; margin: 0; border: 1px solid rgba(0,0,0,.35); border-radius: 50%; box-shadow: inset 0 1px 1px rgba(255,255,255,.6);
  background: radial-gradient(circle at 50% 30%, #ffd1cc, #ff5f57 55%, #c53a33);
}
html[data-theme="osx"] .caption .bmin { background: radial-gradient(circle at 50% 30%, #fff1c2, #febc2e 55%, #c48b10); }
html[data-theme="osx"] .caption .bmax { background: radial-gradient(circle at 50% 30%, #d7f7d7, #28c840 55%, #158a27); }
html[data-theme="osx"] .caption button svg { display: none; }
html[data-theme="osx"] .caption:hover .g { display: block; width: 7px; height: 7px; color: rgba(0,0,0,.6); }
html[data-theme="osx"] .caption .bclose .g::before, html[data-theme="osx"] .caption .bclose .g::after { left: 3px; top: -1px; width: 1.4px; height: 9px; }
html[data-theme="osx"] .caption .bmin .g::before { left: 0; bottom: 3px; width: 7px; height: 1.4px; }
html[data-theme="osx"] .caption .bmax .g::before { content: "+"; inset: auto; left: -1px; top: -6px; border: 0; font: 700 11px Arial; }
html[data-theme="osx"] .win.max .caption .bmax .g::after { display: none; }
html[data-theme="osx"] .caption button:hover { filter: none; box-shadow: inset 0 1px 1px rgba(255,255,255,.6); }
html[data-theme="osx"] .win.inactive { box-shadow: 0 6px 18px rgba(0,0,0,.3); background: linear-gradient(#f2f2f2, #dcdcdc 30px, #ececec 30px); }
html[data-theme="osx"] .win.inactive .titlebar { background: linear-gradient(#f2f2f2, #e0e0e0); border-bottom-color: #aaa; }
html[data-theme="osx"] .win.inactive .titlebar .title { color: #888; }
html[data-theme="osx"] .win.inactive .caption button { background: radial-gradient(circle at 50% 30%, #fafafa, #d6d6d6); border-color: rgba(0,0,0,.2); }
html[data-theme="osx"] .win.max { border-radius: 0; }
html[data-theme="osx"] .win.max .titlebar { border-radius: 0; height: 23px; }
html[data-theme="osx"] .client { border: 0; box-shadow: none; border-radius: 0 0 3px 3px; }
html[data-theme="osx"] .explorer .ex-frame, html[data-theme="osx"] .ie .ie-frame { border: 0; box-shadow: none; border-top: 1px solid #999; }
html[data-theme="osx"] .ex-top, html[data-theme="osx"] .ie .ie-bar { background: linear-gradient(#c9c9c9, #a9a9a9); margin: 0; padding: 6px 8px; }
html[data-theme="osx"] .ie .ie-tabs { background: #a9a9a9; }
html[data-theme="osx"] .navbtn { border-radius: 4px; border: 1px solid #777; width: 26px; height: 22px; margin-right: 0; background: linear-gradient(#fcfcfc, #d9d9d9); box-shadow: inset 0 1px #fff; }
html[data-theme="osx"] .navbtn + .navbtn { border-left: 0; border-radius: 0 4px 4px 0; }
html[data-theme="osx"] .navbtns .navbtn:first-child { border-radius: 4px 0 0 4px; }
html[data-theme="osx"] .navbtn svg path { stroke: #333; }
html[data-theme="osx"] .navbtn:disabled { background: linear-gradient(#f5f5f5, #e5e5e5); opacity: .55; }
html[data-theme="osx"] .navbtn:hover:not(:disabled) { filter: none; box-shadow: inset 0 1px #fff; background: linear-gradient(#f0f0f0, #c9c9c9); }
html[data-theme="osx"] .addr { border-radius: 4px; border-color: #888; box-shadow: inset 0 1px 2px rgba(0,0,0,.2); }
html[data-theme="osx"] .ex-search { border-radius: 11px; border-color: #888; font-style: normal; }
html[data-theme="osx"] .cmdbar { background: linear-gradient(#f4f4f4, #dedede); border-bottom-color: #aaa; }
html[data-theme="osx"] .cmdbar button { color: #222; border-radius: 4px; }
html[data-theme="osx"] .cmdbar button:hover { border-color: #999; background: linear-gradient(#fff, #e6e6e6); box-shadow: none; }
html[data-theme="osx"] .ex-nav { background: #dee4ea; border-right-color: #b7bec8; }
html[data-theme="osx"] .ex-nav .item.head { color: #6d7886; font-size: 11px; font-weight: 700; text-transform: uppercase; }
html[data-theme="osx"] .ex-nav .item { border-radius: 0; border: 0; }
html[data-theme="osx"] .ex-nav .item.cur { background: linear-gradient(#5b8fe6, #2f68d0); color: #fff; }
html[data-theme="osx"] .ex-nav .item:hover { background: rgba(0,0,0,.06); }
html[data-theme="osx"] .ex-item { border-radius: 4px; }
html[data-theme="osx"] .ex-item.sel { background: none; border-color: transparent; }
html[data-theme="osx"] .ex-item.sel .ico { background: rgba(0,0,0,.12); border-radius: 4px; }
html[data-theme="osx"] .ex-item.sel .lbl { background: var(--aqua); color: #fff; border-radius: 8px; padding: 0 6px; }
html[data-theme="osx"] .ex-item:hover { background: none; border-color: transparent; }
html[data-theme="osx"] .ex-details { background: linear-gradient(#e6e6e6, #cfcfcf); border-top-color: #999; }

/* Commandes */
html[data-theme="osx"] .menubar { background: linear-gradient(#f4f4f4, #e2e2e2); border-bottom-color: #b5b5b5; }
html[data-theme="osx"] .menubar > span { border-radius: 0; border: 0; }
html[data-theme="osx"] .menubar > span:hover, html[data-theme="osx"] .menubar > span.open { background: var(--aqua); color: #fff; }
html[data-theme="osx"] .statusbar, html[data-theme="osx"] .client.flat { background: #ececec; }
html[data-theme="osx"] .dialog-foot { background: #ececec; border-top: 0; }
html[data-theme="osx"] .dialog-body { background: #ececec; }
html[data-theme="osx"] .dialog-body .dmsg .main { color: #000; font-weight: 700; font-size: 13px; }
html[data-theme="osx"] .btn7 {
  border: 1px solid #8a8a8a; border-radius: 11px; height: 22px;
  background: linear-gradient(#fff, #f1f1f1 50%, #dcdcdc 51%, #f7f7f7); box-shadow: 0 1px 1px rgba(0,0,0,.15);
}
html[data-theme="osx"] .btn7:hover { border-color: #6f6f6f; background: linear-gradient(#fff, #f1f1f1 50%, #dcdcdc 51%, #f7f7f7); }
html[data-theme="osx"] .btn7:active { background: linear-gradient(#cfe1fb, #9cc0f3 50%, #6b9fea 51%, #b6d4fb); box-shadow: none; }
html[data-theme="osx"] .btn7.default {
  border-color: #3a6bb8; color: #000;
  background: linear-gradient(#d8e8fd, #a9cbf6 50%, #6fa8f0 51%, #bfe0ff); animation: aquaPulse 1.6s ease-in-out infinite alternate;
}
@keyframes aquaPulse { to { filter: brightness(1.12) saturate(1.2); } }
html[data-theme="osx"] input.txt7 { border-color: #8a8a8a; box-shadow: inset 0 1px 2px rgba(0,0,0,.2); }
html[data-theme="osx"] input.txt7:focus { box-shadow: 0 0 0 3px rgba(80,140,230,.55); border-color: #5a8ad8; }
html[data-theme="osx"] .ctx {
  background: rgba(250,250,250,.97); border: 1px solid rgba(0,0,0,.2); border-radius: 5px; padding: 4px 0; box-shadow: 0 6px 18px rgba(0,0,0,.3);
}
html[data-theme="osx"] .ctx li { border: 0; border-radius: 0; padding: 3px 26px 3px 22px; }
html[data-theme="osx"] .ctx li:hover:not(.sep):not(.disabled) { background: linear-gradient(#5b8fe6, #2f68d0); color: #fff; }
html[data-theme="osx"] .ctx li:hover .key { color: #fff; }
html[data-theme="osx"] .ctx li.checked::before { left: 7px; }
html[data-theme="osx"] .ctx li.sep { background: #ddd; border: 0; margin: 4px 0; }
html[data-theme="osx"] .ctx li > .ctx { top: -5px; }
html[data-theme="osx"] .calc { background: linear-gradient(#e2e2e2, #c8c8c8) !important; }
html[data-theme="osx"] .calc-disp { border-radius: 4px; background: linear-gradient(#e6f0d5, #c9d9ad); border-color: #7c8a6a; }
html[data-theme="osx"] .calc-keys button { border-radius: 11px; border-color: #8a8a8a; background: linear-gradient(#fff, #f1f1f1 50%, #dcdcdc 51%, #f7f7f7); box-shadow: none; }
html[data-theme="osx"] .calc-keys button:hover { border-color: #5a8ad8; background: linear-gradient(#fff, #f1f1f1 50%, #dcdcdc 51%, #f7f7f7); }
html[data-theme="osx"] .calc-keys button:active, html[data-theme="osx"] .calc-keys button.press { background: linear-gradient(#d8e8fd, #a9cbf6 50%, #6fa8f0 51%, #bfe0ff); }
html[data-theme="osx"] .calc-keys [data-k="="] { background: linear-gradient(#ffe0b3, #ffbf66 50%, #f59a1b 51%, #ffc66e); }
html[data-theme="osx"] .mines { background: linear-gradient(#e2e2e2, #c8c8c8) !important; }
html[data-theme="osx"] .paint .ribbon, html[data-theme="osx"] .viewer .vbar { background: linear-gradient(#e8e8e8, #c9c9c9); border-color: #999; }
html[data-theme="osx"] .dicon .lbl { text-shadow: 0 1px 3px #000; font-weight: 700; font-size: 12px; }
html[data-theme="osx"] .dicon:hover { background: none; border-color: transparent; }
html[data-theme="osx"] .dicon.sel { background: none; border-color: transparent; }
html[data-theme="osx"] .dicon.sel .ico { background: rgba(0,0,0,.25); border-radius: 6px; }
html[data-theme="osx"] .dicon.sel .lbl { background: var(--aqua); border-radius: 8px; padding: 0 6px; text-shadow: none; }
html[data-theme="osx"] #snap-preview { border-radius: 6px; }

@media (max-width: 700px) {
  html[data-theme="osx"] #taskbar { left: 4px; right: 4px; width: auto; justify-content: flex-start; overflow-x: auto; }
  html[data-theme="osx"] .task, html[data-theme="osx"] #orb { width: 44px; height: 44px; }
  html[data-theme="osx"] .task .ico { width: 36px; height: 36px; }
  html[data-theme="osx"] .task:hover, html[data-theme="osx"] #orb:hover { transform: none; }
  html[data-theme="osx"] #macbar .menubar { display: none; }
  html[data-theme="osx"] #startmenu { left: 0; width: 100%; }
}

/* ==========================================================================
   Windows 3.11 : pas de barre des tâches, fenêtres réduites en icônes,
   case de menu système à gauche, flèches ▼ ▲ à droite
   ========================================================================== */
[data-wall="tissage"] {
  --wallpaper:
    radial-gradient(circle at 25% 25%, #8a8a8a 0 1px, transparent 1.5px) 0 0 / 4px 4px,
    radial-gradient(circle at 75% 75%, #a0a0a0 0 1px, transparent 1.5px) 0 0 / 4px 4px,
    #b8b8b8;
}
[data-preview="w311"] .tp { background: #b8b8b8; }
[data-preview="w311"] .tp-win { background: #fff; border: 2px solid #c0c0c0; outline: 1px solid #000; }
[data-preview="w311"] .tp-win i { background: #000080; }
[data-preview="w311"] .tp-bar { background: none; }
[data-preview="w311"] .tp-bar b { width: 10px; height: 8px; left: 6px; top: 1px; background: #fff; border: 1px solid #000; }

html[data-theme="w311"] {
  --taskbar-h: 74px; --font: "MS Sans Serif", "Microsoft Sans Serif", Arial, sans-serif; --btn-face: #c0c0c0;
  --bevel: inset 1px 1px #fff, inset -2px -2px #808080;
  --bevel-in: inset 2px 2px #808080;
}
html[data-theme="w311"] body { font-size: 12px; -webkit-font-smoothing: none; }
html[data-theme="w311"] * { animation-duration: 0s !important; }
html[data-theme="w311"] .spinner { animation-duration: .9s !important; width: 18px; height: 18px; border-width: 2px; border-color: #808080; border-top-color: #000080; border-right-color: #000080; }

/* Démarrage : une invite de commande, puis la boîte d'ouverture de session */
html[data-theme="w311"] #boot { align-items: flex-start; justify-content: flex-start; padding: 16px; font: 16px "Courier New", monospace; color: #c0c0c0; }
html[data-theme="w311"] #boot .spinner { display: none; }
html[data-theme="w311"] .boot-bar { display: flex; align-items: baseline; }
html[data-theme="w311"] .boot-bar::before { content: "C:\\>"; }
html[data-theme="w311"] .boot-bar i { display: none; }
html[data-theme="w311"] .boot-bar i:first-child { display: block; width: 10px; height: 2px; background: #c0c0c0; margin-left: 1px; animation: blink 1s steps(1) infinite !important; animation-duration: 1s !important; }
html[data-theme="w311"] #logon, html[data-theme="w311"] #shutdown { background: var(--wallpaper); --wallpaper: radial-gradient(circle at 25% 25%, #8a8a8a 0 1px, transparent 1.5px) 0 0 / 4px 4px, #b8b8b8; }
html[data-theme="w311"] #logon::before, html[data-theme="w311"] #shutdown::before { display: none; }
html[data-theme="w311"] .logon-box, html[data-theme="w311"] #shutdown .logon-welcome {
  background: #c0c0c0; border: 1px solid #000; box-shadow: inset 0 0 0 3px #c0c0c0, inset 0 0 0 4px #000; padding: 34px 24px 18px; min-width: 340px; color: #000;
}
html[data-theme="w311"] .logon-box::before, html[data-theme="w311"] #shutdown .logon-welcome::before {
  content: "Ouverture de session"; position: absolute; left: 4px; right: 4px; top: 4px; height: 20px;
  background: #000080; color: #fff; font-weight: 700; line-height: 20px; text-align: center; border-bottom: 1px solid #000;
}
html[data-theme="w311"] #shutdown .logon-welcome::before { content: "Fin de session"; }
html[data-theme="w311"] .logon-user { flex-direction: row; gap: 14px; padding: 4px; border-radius: 0; }
html[data-theme="w311"] .logon-user .avatar-frame { width: 48px; height: 48px; padding: 0; border-radius: 0; background: none; box-shadow: none; border: 1px solid #000; }
html[data-theme="w311"] .logon-user .avatar-frame img { border: 0; border-radius: 0; }
html[data-theme="w311"] .logon-user:hover .avatar-frame { box-shadow: none; }
html[data-theme="w311"] .logon-name { margin: 0; font-size: 14px; font-weight: 700; color: #000; text-shadow: none; }
html[data-theme="w311"] .logon-hint { color: #000; }
html[data-theme="w311"] .logon-welcome { font-size: 13px; font-weight: 700; color: #000; text-shadow: none; margin-top: 10px; }
html[data-theme="w311"] #shutdown .logon-welcome { margin: 0; }

/* Pas de barre des tâches : les programmes ouverts sont des icônes en bas du bureau */
html[data-theme="w311"] #taskbar { background: none; border: 0; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; align-items: flex-end; padding: 0 4px 4px; }
html[data-theme="w311"] #orb, html[data-theme="w311"] .task {
  width: 76px; height: 66px; flex: none; flex-direction: column; justify-content: flex-start; gap: 3px; padding: 2px 0 0; margin: 0;
  border: 0; border-radius: 0; background: none; box-shadow: none; color: #000;
}
html[data-theme="w311"] #orb::before {
  width: 32px; height: 30px; margin: 0; border-radius: 0; filter: none; flex: none;
  background: linear-gradient(#000080 0 7px, #000 7px 8px, #fff 8px) content-box, #000; padding: 1px;
  box-shadow: none;
}
html[data-theme="w311"] #orb:hover::before, html[data-theme="w311"] #orb.active::before { box-shadow: none; filter: none; }
html[data-theme="w311"] .orb-label, html[data-theme="w311"] .task .tlabel {
  display: block; max-width: 74px; padding: 0 2px; font-size: 11px; line-height: 1.2; text-align: center; color: #000;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
html[data-theme="w311"] .orb-label { font-size: 0; }
html[data-theme="w311"] .orb-label::after { content: "Programmes"; font-size: 11px; }
html[data-theme="w311"] #orb.active .orb-label, html[data-theme="w311"] .task.active .tlabel { background: #000080; color: #fff; }
html[data-theme="w311"] #tasks { align-items: flex-end; gap: 0; height: auto; overflow: visible; }
html[data-theme="w311"] .task:not(.running) { display: none; }
html[data-theme="w311"] .task .ico { width: 32px; height: 32px; flex: none; }
html[data-theme="w311"] .task .ico svg { filter: none; }
html[data-theme="w311"] .task:hover, html[data-theme="w311"] .task.running, html[data-theme="w311"] .task.active { background: none; border: 0; box-shadow: none; }
html[data-theme="w311"] .task.multi::after { display: none; }
html[data-theme="w311"] #tray, html[data-theme="w311"] #showdesk, html[data-theme="w311"] .tb-popup { display: none; }

/* Gestionnaire de programmes (menu Démarrer) */
html[data-theme="w311"] #startmenu {
  left: 8px; bottom: calc(var(--taskbar-h) + 4px); width: 460px; height: 400px; padding: 25px 4px 4px; flex-direction: column; gap: 4px;
  background: #c0c0c0; border: 1px solid #000; border-radius: 0; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; color: #000; animation: none;
}
html[data-theme="w311"] #startmenu::before {
  content: "Gestionnaire de programmes"; position: absolute; left: 0; right: 0; top: 0; height: 21px; line-height: 21px;
  background: #000080; color: #fff; font-weight: 700; text-align: center; border-bottom: 1px solid #000;
}
html[data-theme="w311"] .sm-left { margin: 0; border: 1px solid #000; border-radius: 0; background: #fff; box-shadow: none; }
html[data-theme="w311"] #sm-programs, html[data-theme="w311"] #sm-all { display: flex; flex-wrap: wrap; align-content: flex-start; gap: 6px 0; padding: 8px 4px; }
html[data-theme="w311"] #sm-programs.hidden, html[data-theme="w311"] #sm-all.hidden { display: none; }
html[data-theme="w311"] .sm-item { width: 86px; flex-direction: column; gap: 3px; text-align: center; padding: 2px; border: 0; border-radius: 0; }
html[data-theme="w311"] .sm-item svg, html[data-theme="w311"] #sm-all .sm-item svg { width: 32px; height: 32px; }
html[data-theme="w311"] #sm-all .sm-item { padding: 2px; }
html[data-theme="w311"] .sm-sub { padding-left: 2px !important; }
html[data-theme="w311"] .sm-item small { display: none; }
html[data-theme="w311"] .sm-item:hover, html[data-theme="w311"] .sm-item.kbd { background: none; border: 0; }
html[data-theme="w311"] .sm-item:hover span, html[data-theme="w311"] .sm-item.kbd span { background: #000080; color: #fff; }
html[data-theme="w311"] .sm-sep { display: none; }
html[data-theme="w311"] .sm-allprog, html[data-theme="w311"] .sm-shutdown button {
  margin: 4px; padding: 3px 12px; align-self: flex-start; border: 1px solid #000; border-radius: 3px; background: #c0c0c0; box-shadow: var(--bevel); color: #000; text-shadow: none;
}
html[data-theme="w311"] .sm-allprog:hover, html[data-theme="w311"] .sm-shutdown button:hover { background: #c0c0c0; box-shadow: var(--bevel); }
html[data-theme="w311"] .sm-allprog:active, html[data-theme="w311"] .sm-shutdown button:active { box-shadow: var(--bevel-in); }
html[data-theme="w311"] .sm-search { background: #c0c0c0; border-top: 1px solid #000; border-radius: 0; }
html[data-theme="w311"] .sm-search input { border: 1px solid #000; border-radius: 0; font-style: normal; }
html[data-theme="w311"] .sm-right { width: auto; padding: 0; position: static; color: #000; flex-direction: row; align-items: flex-end; }
html[data-theme="w311"] .sm-avatar { display: none; }
html[data-theme="w311"] #sm-links { display: flex; flex-wrap: wrap; gap: 0 2px; flex: 1; }
html[data-theme="w311"] #sm-links li { color: #000; text-shadow: none; border: 0; border-radius: 0; padding: 2px 6px; }
html[data-theme="w311"] #sm-links li:hover { background: #000080; color: #fff; box-shadow: none; }
html[data-theme="w311"] #sm-links .sep { display: none; }
html[data-theme="w311"] .sm-shutdown { margin: 0; }
html[data-theme="w311"] .sm-shutdown button { margin: 0 0 0 2px; }
html[data-theme="w311"] #sm-off { font-size: 0; }
html[data-theme="w311"] #sm-off::after { content: "Quitter…"; font-size: 12px; }
html[data-theme="w311"] #sm-off-menu { left: auto; right: 0; bottom: 100%; }

/* Fenêtres */
html[data-theme="w311"] .win {
  padding: 4px; border: 1px solid #000; border-radius: 0; background: #c0c0c0;
  box-shadow: inset 0 0 0 1px #fff; backdrop-filter: none; -webkit-backdrop-filter: none;
}
html[data-theme="w311"] .win.inactive { background: #c0c0c0; box-shadow: inset 0 0 0 1px #fff; }
html[data-theme="w311"] .titlebar { height: 20px; padding: 0; margin-bottom: 0; background: #000080; border: 1px solid #000; border-bottom-width: 1px; }
html[data-theme="w311"] .win.inactive .titlebar { background: #fff; }
html[data-theme="w311"] .titlebar .title { text-align: center; color: #fff; font-weight: 700; font-size: 12px; text-shadow: none; }
html[data-theme="w311"] .win.inactive .titlebar .title { color: #000; }
/* Case du menu système : un clic ouvre le menu, un double-clic ferme la fenêtre */
html[data-theme="w311"] .titlebar .ticon { width: 20px; height: 18px; margin: 0; background: #c0c0c0; border-right: 1px solid #000; position: relative; cursor: default; }
html[data-theme="w311"] .titlebar .ticon svg { display: none; }
html[data-theme="w311"] .titlebar .ticon::before { content: ""; position: absolute; left: 3px; right: 3px; top: 7px; height: 3px; background: #fff; border: 1px solid #000; box-shadow: 1px 1px 0 #808080; }
html[data-theme="w311"] .caption { align-self: stretch; margin: 0; }
html[data-theme="w311"] .caption .bclose { display: none; }
html[data-theme="w311"] .caption button, html[data-theme="w311"] .caption .bmin {
  width: 18px; height: 18px; margin: 0; border: 0; border-left: 1px solid #000; border-radius: 0; background: #c0c0c0; box-shadow: var(--bevel); color: #000;
}
html[data-theme="w311"] .caption button:hover { background: #c0c0c0; box-shadow: var(--bevel); filter: none; }
html[data-theme="w311"] .caption button:active { box-shadow: var(--bevel-in); }
html[data-theme="w311"] .caption button svg { display: none; }
html[data-theme="w311"] .caption .g { display: block; width: 8px; height: 8px; }
html[data-theme="w311"] .caption .g::before, html[data-theme="w311"] .caption .g::after {
  content: ""; position: absolute; inset: auto; left: 0; width: 0; height: 0; background: none; transform: none;
  border: 0; border-left: 4px solid transparent; border-right: 4px solid transparent;
}
html[data-theme="w311"] .caption .bmin .g::before { top: 2px; border-top: 4px solid #000; }
html[data-theme="w311"] .caption .bmax .g::before { top: 2px; border-bottom: 4px solid #000; }
html[data-theme="w311"] .win.max .caption .bmax .g::before { top: -2px; width: 0; height: 0; border-bottom: 4px solid #000; }
html[data-theme="w311"] .win.max .caption .bmax .g::after { display: block; top: 5px; width: 0; height: 0; border-top: 4px solid #000; }
html[data-theme="w311"] .win.max { padding: 0; }
html[data-theme="w311"] .client { border: 1px solid #000; border-top: 0; box-shadow: none; background: #fff; }
html[data-theme="w311"] .win .client.explorer, html[data-theme="w311"] .win .client.ie { border: 1px solid #000; border-top: 0; background: #fff; }
html[data-theme="w311"] .explorer .ex-frame, html[data-theme="w311"] .ie .ie-frame { border: 0; border-top: 1px solid #000; box-shadow: none; }
html[data-theme="w311"] .resize { cursor: default; }

/* Commandes */
html[data-theme="w311"] .menubar, html[data-theme="w311"] .menubar.plain { background: #fff; border-bottom: 1px solid #000; }
html[data-theme="w311"] .menubar > span { border: 0; border-radius: 0; margin: 0; padding: 2px 8px; }
html[data-theme="w311"] .menubar > span:hover, html[data-theme="w311"] .menubar > span.open { background: #000080; color: #fff; }
html[data-theme="w311"] .ctx { background: #fff; border: 1px solid #000; box-shadow: 2px 2px 0 rgba(0,0,0,.6); padding: 1px; }
html[data-theme="w311"] .ctx li { border: 0; border-radius: 0; padding: 2px 24px 2px 22px; }
html[data-theme="w311"] .ctx li:hover:not(.sep):not(.disabled) { background: #000080; color: #fff; }
html[data-theme="w311"] .ctx li:hover .key { color: #fff; }
html[data-theme="w311"] .ctx li.disabled { color: #808080; }
html[data-theme="w311"] .ctx li.checked::before { left: 6px; }
html[data-theme="w311"] .ctx li.sep { background: #000; border: 0; margin: 2px 0; height: 1px; }
html[data-theme="w311"] .statusbar { background: #fff; border-top: 1px solid #000; }
html[data-theme="w311"] .statusbar span { border-color: #000; }
html[data-theme="w311"] .dialog-body, html[data-theme="w311"] .dialog-foot, html[data-theme="w311"] .client.flat { background: #fff; border: 0; justify-content: center; }
html[data-theme="w311"] .dialog-body .dmsg .main { color: #000; font-size: 12px; font-weight: 700; }
html[data-theme="w311"] .btn7 { border: 1px solid #000; border-radius: 3px; background: #c0c0c0; box-shadow: var(--bevel); color: #000; font-weight: 700; }
html[data-theme="w311"] .btn7:hover { background: #c0c0c0; border-color: #000; }
html[data-theme="w311"] .btn7:active { box-shadow: var(--bevel-in); background: #c0c0c0; }
html[data-theme="w311"] .btn7.default { border-width: 2px; }
html[data-theme="w311"] input.txt7, html[data-theme="w311"] .ex-search, html[data-theme="w311"] .addr { border: 1px solid #000; border-radius: 0; background: #fff; box-shadow: none; font-style: normal; }
html[data-theme="w311"] .cmdbar { background: #fff; border-bottom: 1px solid #000; }
html[data-theme="w311"] .cmdbar button { color: #000; border-radius: 0; }
html[data-theme="w311"] .cmdbar button:hover { background: #000080; color: #fff; border-color: #000080; box-shadow: none; }
html[data-theme="w311"] .ex-top, html[data-theme="w311"] .ie .ie-bar, html[data-theme="w311"] .ie .ie-tabs { background: #c0c0c0; margin: 0; }
html[data-theme="w311"] .navbtn { border-radius: 3px; border: 1px solid #000; width: 24px; height: 22px; background: #c0c0c0; box-shadow: var(--bevel); margin-right: 2px; }
html[data-theme="w311"] .navbtn svg path { stroke: #000; }
html[data-theme="w311"] .navbtn:disabled { background: #c0c0c0; opacity: .5; }
html[data-theme="w311"] .navbtn:hover:not(:disabled) { filter: none; box-shadow: var(--bevel); }
html[data-theme="w311"] .ex-nav { background: #fff; border-right: 1px solid #000; }
html[data-theme="w311"] .ex-nav .item, html[data-theme="w311"] .ex-item { border-radius: 0; border: 0; }
html[data-theme="w311"] .ex-nav .item:hover, html[data-theme="w311"] .ex-item:hover { background: none; }
html[data-theme="w311"] .ex-nav .item.cur { background: #000080; color: #fff; }
html[data-theme="w311"] .ex-item.sel { background: none; }
html[data-theme="w311"] .ex-item.sel .lbl { background: #000080; color: #fff; }
html[data-theme="w311"] .ex-details { background: #fff; border-top: 1px solid #000; }
html[data-theme="w311"] .page-head { background: #fff; border-bottom: 1px solid #000; }
html[data-theme="w311"] .page-head h1, html[data-theme="w311"] .page h2 { color: #000; font-weight: 700; }
html[data-theme="w311"] .calc, html[data-theme="w311"] .mines { background: #c0c0c0 !important; }
html[data-theme="w311"] .calc-disp { border: 1px solid #000; border-radius: 0; background: #fff; box-shadow: none; }
html[data-theme="w311"] .calc-keys button { border: 1px solid #000; border-radius: 3px; background: #c0c0c0; box-shadow: var(--bevel); color: #000; font-weight: 700; }
html[data-theme="w311"] .calc-keys button:hover { background: #c0c0c0; border-color: #000; }
html[data-theme="w311"] .calc-keys button:active, html[data-theme="w311"] .calc-keys button.press { box-shadow: var(--bevel-in); background: #c0c0c0; }
html[data-theme="w311"] .calc-keys .mem-key, html[data-theme="w311"] .calc-keys [data-k="back"], html[data-theme="w311"] .calc-keys [data-k="ce"], html[data-theme="w311"] .calc-keys [data-k="c"] { color: #c00000; }
html[data-theme="w311"] .mines-board { background: #c0c0c0; box-shadow: inset 2px 2px #808080, inset -2px -2px #fff; padding: 3px; border-radius: 0; }
html[data-theme="w311"] .mcell { border: 0; margin: 0; background: #c0c0c0; box-shadow: var(--bevel); }
html[data-theme="w311"] .mcell:hover:not(.open) { background: #c0c0c0; }
html[data-theme="w311"] .mcell.open { background: #c0c0c0; box-shadow: inset 1px 1px #808080; }
html[data-theme="w311"] .mcell.boom { background: #f00; }
html[data-theme="w311"] .mines-info b { border: 1px solid #000; background: #000; color: #f00; font-family: "Courier New", monospace; font-weight: 700; }
html[data-theme="w311"] .paint .ribbon, html[data-theme="w311"] .viewer .vbar { background: #c0c0c0; border-color: #000; }
html[data-theme="w311"] .paint .canvas-wrap { background: #808080; }

/* Bureau */
html[data-theme="w311"] .dicon .lbl { color: #000; text-shadow: none; }
html[data-theme="w311"] .dicon .ico svg { filter: none; }
html[data-theme="w311"] .dicon:hover { background: none; border-color: transparent; }
html[data-theme="w311"] .dicon.sel { background: none; border-color: transparent; }
html[data-theme="w311"] .dicon.sel .lbl { background: #000080; color: #fff; }
html[data-theme="w311"] #calendar { background: #fff; border: 1px solid #000; border-radius: 0; }
html[data-theme="w311"] #snap-preview { border-radius: 0; background: none; border: 2px solid #000; box-shadow: none; backdrop-filter: none; }

@media (max-width: 700px) {
  html[data-theme="w311"] #startmenu { left: 0; width: 100%; height: calc(100% - var(--taskbar-h) - 4px); }
  html[data-theme="w311"] #orb, html[data-theme="w311"] .task { width: 60px; }
}

/* Word et Excel en Matrix */
html[data-theme="matrix"] .office, html[data-theme="matrix"] .of-tabs, html[data-theme="matrix"] .of-ribbon, html[data-theme="matrix"] .of-tab.on,
html[data-theme="matrix"] .word-scroll, html[data-theme="matrix"] .word-page, html[data-theme="matrix"] .word-ruler, html[data-theme="matrix"] .of-styles,
html[data-theme="matrix"] .xl-fbar, html[data-theme="matrix"] .xl-wrap, html[data-theme="matrix"] .xl-grid th, html[data-theme="matrix"] .xl-sheets, html[data-theme="matrix"] .xl-sheets span,
html[data-theme="matrix"] .office select, html[data-theme="matrix"] .xl-name, html[data-theme="matrix"] .xl-input, html[data-theme="matrix"] .xl-edit {
  background: #000 !important; color: var(--m) !important; border-color: var(--m-dark) !important; box-shadow: none;
}
html[data-theme="matrix"] .word-page { box-shadow: 0 0 0 1px var(--m-dim), var(--m-glow) !important; caret-color: var(--m); }
html[data-theme="matrix"] .word-page * { color: var(--m) !important; border-color: var(--m-dim) !important; }
html[data-theme="matrix"] .of-file { background: var(--m); color: #000; }
html[data-theme="matrix"] .of-btn, html[data-theme="matrix"] .of-style, html[data-theme="matrix"] .of-tab, html[data-theme="matrix"] .of-gcap { color: var(--m); }
html[data-theme="matrix"] .of-btn:hover, html[data-theme="matrix"] .of-btn.on, html[data-theme="matrix"] .of-style:hover { background: rgba(0,255,65,.15); border-color: var(--m); }
html[data-theme="matrix"] .of-group { border-color: var(--m-dark); }
html[data-theme="matrix"] .xl-grid td { color: var(--m); border-color: #062a10; }
html[data-theme="matrix"] .xl-grid td.sel { background-color: rgba(0,255,65,.15) !important; }
html[data-theme="matrix"] .xl-grid td.cur { box-shadow: inset 0 0 0 2px var(--m); }
html[data-theme="matrix"] .xl-grid th.hl { background: rgba(0,255,65,.2) !important; }

/* Mac OS X : un programme qui tourne en arrière-plan (Messagerie) est dans la barre du haut, pas dans le Dock */
html[data-theme="osx"] .task[data-app="messenger"] { display: none; }
html[data-theme="osx"] .tray-app svg { filter: none; }
html[data-theme="w98"] .tray-app svg, html[data-theme="matrix"] .tray-app svg { filter: none; }
html[data-theme="w311"] .tray-app { display: none; }
