/* Base layer, fonts, screen geometry */
@font-face { font-family: "Ubuntu"; src: url("../assets/fonts/ubuntu-400.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Ubuntu"; src: url("../assets/fonts/ubuntu-500.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Ubuntu"; src: url("../assets/fonts/ubuntu-700.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Ubuntu Mono"; src: url("../assets/fonts/ubuntumono-400.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }

* { box-sizing: border-box; margin: 0; padding: 0; }
html, body { height: 100%; overflow: hidden; }
body {
  font-family: var(--font-ui);
  font-size: var(--fs-ui);
  color: var(--text);
  background: #0a0a0a;
  -webkit-font-smoothing: antialiased;
  user-select: none;
  cursor: default;
}
button { font-family: inherit; font-size: inherit; color: inherit; background: none; border: none; cursor: default; }
input, textarea { font-family: inherit; color: var(--text); }
img { -webkit-user-drag: none; }

#screen {
  position: fixed;
  inset: 0;
  overflow: hidden;
  background: #1c4033;
}

#wallpaper {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transition: background-image 240ms ease;
}

#workspaces { position: absolute; inset: 0; pointer-events: none; }
#window-layer { position: absolute; inset: 0; pointer-events: none; }
#window-layer > * { pointer-events: auto; }

#desktop-icons { position: absolute; inset: 0 0 var(--work-bottom) 0; overflow: hidden; }

#rubber-band {
  position: absolute;
  border: 1px solid rgba(53, 168, 84, .9);
  background: rgba(53, 168, 84, .18);
  z-index: 400;
  pointer-events: none;
}

#snap-preview {
  position: absolute;
  z-index: 450;
  background: rgba(255, 255, 255, .22);
  border: 2px solid rgba(255, 255, 255, .55);
  border-radius: 6px;
  backdrop-filter: blur(2px);
  transition: top 120ms var(--ease-out), left 120ms var(--ease-out),
              width 120ms var(--ease-out), height 120ms var(--ease-out);
  pointer-events: none;
}

/* shared scrollbars — Mint-Y style */
.scroll-y { overflow-y: auto; overflow-x: hidden; scrollbar-width: thin; scrollbar-color: #b8b8bf transparent; }
.scroll-y::-webkit-scrollbar { width: 8px; }
.scroll-y::-webkit-scrollbar-thumb { background: #C7C7CD; border-radius: 4px; border: 2px solid transparent; background-clip: content-box; }
.scroll-y::-webkit-scrollbar-thumb:hover { background: #A9A9B0; background-clip: content-box; border: 2px solid transparent; }
:root[data-dark="true"] .scroll-y { scrollbar-color: #55555E transparent; }
:root[data-dark="true"] .scroll-y::-webkit-scrollbar-thumb { background: #55555E; background-clip: content-box; border: 2px solid transparent; }
:root[data-dark="true"] .scroll-y::-webkit-scrollbar-thumb:hover { background: #6A6A74; background-clip: content-box; }

.hidden { display: none !important; }
.dim { opacity: .45; pointer-events: none; }

::selection { background: var(--accent); color: #fff; }
