/* HaresMine winter desktop. Base content and XP navigation are preserved. */
:root {
  --desktop: #081526;
  --desktop-2: #172744;
  --win-bg: #101f32;
  --panel: #192d42;
  --panel-hover: #233e55;
  --line: #48647f;
  --muted: #b0c4d7;
  --accent: #c18aff;
  --accent-2: #9cdeff;
  --win-title: linear-gradient(180deg, #305b83, #1b3e61);
}
body {
  background:
    radial-gradient(ellipse at 12% 0%, #506eab40, transparent 44%),
    radial-gradient(ellipse at 94% 26%, #9462c62b, transparent 48%),
    linear-gradient(155deg, var(--desktop), var(--desktop-2));
  background-attachment: fixed;
}
body::before { opacity: .3; }
body[data-theme="light"] {
  --desktop: #c2d8ee;
  --desktop-2: #e7edf7;
  --win-bg: #f1f6fc;
  --panel: #e5eff9;
  --panel-hover: #d8e9f8;
  --muted: #485d74;
  --line: #829eb8;
  --accent: #8054c7;
  --accent-2: #235e9c;
}
#winterMatrix, #winterSnow {
  position: fixed; inset: 0; width: 100%; height: 100%;
  z-index: 0; pointer-events: none;
}
#winterMatrix { opacity: .52; }
#winterSnow { opacity: .9; }
body[data-theme="light"] #winterMatrix { opacity: .3; }
.ny-matrix-control { min-height: 34px; }
.ny-matrix-control:focus-visible { outline: 2px solid var(--accent-2); outline-offset: 2px; }
.ny-matrix-control[aria-pressed="true"] { color: #91e4bb; }
body[data-theme="light"] .ny-matrix-control[aria-pressed="true"] { color: #246b4b; }
.ny-garland {
  position: absolute; inset: 0 0 auto; height: 29px;
  display: flex; justify-content: space-around;
  overflow: hidden; pointer-events: none; z-index: 3;
  border-top: 2px solid #3d605e;
}
.ny-garland i {
  position: relative; display: block; flex: 0 0 8px;
  height: 12px; margin-top: 8px; border-radius: 2px 2px 5px 5px;
  color: #d1a0ff; background: currentColor;
  box-shadow: 0 0 12px currentColor, inset 1px 1px 1px #ffffffa8;
}
.ny-garland i::before {
  content: ''; position: absolute; height: 8px; width: 4px;
  background: #46626d; top: -8px; left: 2px;
}
.ny-garland i:nth-child(4n+1) { color: #9ce2ff; }
.ny-garland i:nth-child(4n+2) { color: #ffcf76; margin-top: 11px; }
.ny-garland i:nth-child(4n+3) { color: #b7f1c9; }
.hero { padding-top: 2rem; }
.window { border-top-color: #c9e8ff; }
.titlebar {
  border-top: 2px solid #dceeff;
  box-shadow: inset 0 1px #ffffff36;
}
#welcome .win-body {
  background: radial-gradient(ellipse at 100% 100%, #7f7cce1c, transparent 65%);
}
.hero-tag { color: var(--ink); background: var(--panel); }
.ny-season {
  display: flex; align-items: center; gap: .55rem;
  width: fit-content; color: #e6c38c;
  font: 700 .72rem var(--mono); letter-spacing: .035em;
}
.ny-season::before { content: '✦'; color: #b5e6ff; font-size: 1rem; }
body[data-theme="light"] .ny-season { color: #775113; }
.hero-title-logo { position: relative; }
.ny-hat {
  position: absolute; z-index: 1; left: 3%; top: -6%;
  width: 15%; max-width: 74px; height: auto;
  transform: rotate(-13deg); pointer-events: none;
  filter: drop-shadow(1px 3px 0 #09122166);
}
.ny-tree {
  margin: auto auto 0; width: min(100%, 265px);
  padding: .1rem 0 0; text-align: center; pointer-events: none;
}
.ny-tree img { display: block; width: 100%; height: 204px; object-fit: contain; }
.ny-tree figcaption {
  margin-top: -.2rem; color: var(--muted);
  font: .65rem var(--mono); letter-spacing: .09em;
}
.stat { background: linear-gradient(145deg, var(--panel), var(--win-bg)); }
.stat dd { color: var(--accent-2); }
.tier { border-top-color: #a9c6ee; }
.tier:hover { border-color: #b8dff8; }
.taskbar {
  border-top: 2px solid #d7edff;
  background: linear-gradient(180deg, #34689a, #1d4575 45%, #183761);
  box-shadow: 0 -3px 15px #08142580, inset 0 1px #89b6e477;
}
.start-button {
  background: linear-gradient(180deg, #62b984, #1e7548 55%, #195b3a);
  border-color: #a5e6c3;
}
.start-menu-head { background: linear-gradient(120deg, #3d668b, #263b60); }
.start-menu-head::after { content: '❄'; margin-left: auto; color: #c5eaff; }
.ny-snow-control { min-height: 34px; }
.ny-snow-control:focus-visible { outline: 2px solid var(--accent-2); outline-offset: 2px; }
.ny-snow-control[aria-pressed="true"] { color: var(--accent-2); }
@media (max-width: 680px) {
  #winterMatrix { opacity: .4; }
  .ny-tree { display: none; }
  .ny-garland i:nth-child(2n) { display: none; }
  .ny-season { font-size: .65rem; letter-spacing: .01em; }
  .ny-hat { top: -3%; width: 16%; }
}
@media (prefers-reduced-motion: reduce) {
  #winterSnow { display: none; }
  html { scroll-behavior: auto; }
  .pulse { animation: none; }
}
