
:root{--bg:#020617;--fg:#e6f0ff}
body.light{--bg:#f5f7fb;--fg:#0b1220}
body{background:var(--bg);color:var(--fg);transition:.2s}
.loader,.signin-loader{position:fixed;inset:0;display:grid;place-items:center}
.spinner{width:64px;height:64px;border:6px solid rgba(255,255,255,.2);border-top-color:currentColor;border-radius:50%;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.desktop{background-size:cover;background-position:center}
.file{cursor:pointer}
.file[contenteditable=true]{outline:1px dashed currentColor}


/* FORCE boot + sign-in loader centering */
.boot, .signin, .loader, .signin-loader {
  position: fixed !important;
  inset: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Context menu */
.context-menu {
  position: fixed;
  background: #0b1220;
  color: #e6f0ff;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 8px;
  min-width: 140px;
  z-index: 10000;
}
.context-menu div {
  padding: 8px 12px;
  cursor: pointer;
}
.context-menu div:hover {
  background: rgba(255,255,255,.1);
}


/* FULLSCREEN BOOT OVERLAY – NO ESCAPE */
#boot-overlay {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 999999;
  background: radial-gradient(circle at center, #020617, #000);
}

#boot-overlay .boot-card {
  width: 420px;
  padding: 20px;
  border-radius: 12px;
  background: rgba(10,15,30,.9);
  box-shadow: 0 20px 60px rgba(0,0,0,.6);
}

/* LIST VIEW */
.desktop.list-view {
  display: block;
  padding: 20px;
}
.desktop.list-view .file {
  display: flex;
  padding: 6px 10px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.desktop.list-view .file::before {
  content: "📄";
  margin-right: 8px;
}

/* TRASH */
#trash {
  position: fixed;
  bottom: 20px;
  right: 20px;
  width: 72px;
  height: 72px;
  border-radius: 16px;
  background: rgba(255,255,255,.08);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
}


/* ==== CONTEXT MENU (HARD OVERRIDE) ==== */
.context-menu {
  position: fixed;
  z-index: 1000000;
  background: rgba(15,20,40,.98);
  color: #fff;
  border-radius: 10px;
  min-width: 160px;
  box-shadow: 0 20px 40px rgba(0,0,0,.6);
}
.context-menu .item {
  padding: 10px 14px;
  cursor: pointer;
}
.context-menu .item:hover {
  background: rgba(255,255,255,.1);
}

/* ==== BOOT OVERLAY – NO BLIP ==== */
#boot-overlay {
  position: fixed;
  inset: 0;
  background: #020617;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999999;
}

/* ==== TRASH ICON ON DESKTOP ==== */
.file.trash::before {
  content: "🗑️";
  margin-right: 6px;
}

/* ==== CALENDAR APP ==== */
.calendar {
  padding: 20px;
}
.calendar .day {
  border: 1px solid rgba(255,255,255,.1);
  padding: 8px;
  min-height: 100px;
}
.calendar .task {
  display: flex;
  align-items: center;
}
.calendar .task input {
  margin-right: 6px;
}

/* ==== LOCK SCREEN VIDEO ==== */
#lockscreen {
  position: fixed;
  inset: 0;
  z-index: 10000000;
  background: #000;
}
#lockscreen iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
#lock-ui {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #fff;
  backdrop-filter: blur(4px);
}
