/* ═══════════════════════════════════════════════════════
   FAUX OS V2.1 - Papierkorb / Trash Styles
   ═══════════════════════════════════════════════════════ */

/* Desktop trash icon — in desktop-folders grid */
.desktop-trash__btn .desktop-folder__icon {
  font-size: 28px;
  filter: grayscale(0.5);
  transition: filter 0.3s, transform 0.2s;
}

.desktop-trash__btn:hover .desktop-folder__icon {
  filter: grayscale(0);
  transform: scale(1.1) rotate(-5deg);
}

/* Trash App Layout */
.trash-app {
  display: flex;
  flex-direction: column;
  height: 100%;
  font-family: var(--font-mono);
}

.trash-header {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  padding: var(--sp-3) var(--sp-4);
  border-bottom: 1px solid var(--border, rgba(255,255,255,0.07));
}

.trash-header__icon { font-size: 20px; }

.trash-header__title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 15px;
}

.trash-header__count {
  margin-left: auto;
  font-size: 11px;
}

.trash-warning {
  padding: var(--sp-2) var(--sp-4);
  background: rgba(232, 93, 48, 0.06);
  border-bottom: 1px solid rgba(232, 93, 48, 0.15);
  font-size: 11px;
  color: var(--accent, #e85d30);
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  animation: trash-warning-pulse 3s ease-in-out infinite;
}

@keyframes trash-warning-pulse {
  0%, 100% { opacity: 0.7; }
  50% { opacity: 1; }
}

.trash-list {
  flex: 1;
  overflow-y: auto;
  padding: var(--sp-2) 0;
  min-height: 0;
}

.trash-item {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  width: 100%;
  padding: var(--sp-2) var(--sp-4);
  background: none;
  border: none;
  color: var(--ink, #f2f2f2);
  font-family: var(--font-mono);
  font-size: 12px;
  cursor: pointer;
  text-align: left;
  transition: background 0.15s;
}

.trash-item:hover {
  background: rgba(255,255,255,0.04);
}

.trash-item__icon {
  font-size: 18px;
  width: 28px;
  text-align: center;
  flex-shrink: 0;
}

.trash-item__info {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.trash-item__name {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.trash-item__meta {
  font-size: 10px;
  margin-top: 1px;
}

/* Trash file preview */
.trash-preview {
  border-top: 1px solid var(--border, rgba(255,255,255,0.07));
  flex: 0 0 auto;
  max-height: 55%;
  overflow-y: auto;
  background: rgba(0,0,0,0.3);
}

.trash-preview__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--sp-2) var(--sp-3);
  font-size: 11px;
  border-bottom: 1px solid rgba(255,255,255,0.05);
}

.trash-preview__close {
  background: none;
  border: none;
  color: var(--ink, #f2f2f2);
  cursor: pointer;
  font-size: 18px;
  padding: 0 var(--sp-1);
}

.trash-preview__close:hover {
  color: var(--accent, #e85d30);
}

.trash-preview__content {
  padding: var(--sp-3);
  font-family: var(--font-mono);
  font-size: 11px;
  line-height: 1.6;
  white-space: pre-wrap;
  word-break: break-word;
  color: rgba(255,255,255,0.75);
}

/* ── The Sentient Orange™ ── */
.trash-orange {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--sp-2);
  padding: var(--sp-4);
  cursor: pointer;
  user-select: none;
}

.trash-orange__face {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.trash-orange__stem {
  width: 4px;
  height: 14px;
  background: #4a7c3f;
  border-radius: 2px;
  margin-bottom: -4px;
  z-index: 1;
}

.trash-orange__body {
  width: 80px;
  height: 80px;
  background: radial-gradient(circle at 35% 35%, #ffad42, #e85d30, #c44820);
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  box-shadow:
    0 0 20px rgba(232, 93, 48, 0.3),
    inset -8px -8px 16px rgba(0,0,0,0.2);
  position: relative;
}

.trash-orange__eyes {
  display: flex;
  gap: 16px;
  margin-top: -4px;
}

.trash-orange__eye {
  font-size: 16px;
  color: #1a1a1a;
  text-shadow: 0 0 4px rgba(255,255,255,0.3);
  animation: orange-blink 4s ease-in-out infinite;
}

.trash-orange__eye--r {
  animation-delay: 0.15s;
}

.trash-orange__mouth {
  font-size: 14px;
  color: #1a1a1a;
  margin-top: 2px;
  transition: transform 0.2s;
}

.trash-orange__label {
  font-family: var(--font-pixel);
  font-size: 9px;
  letter-spacing: 0.05em;
  color: var(--accent, #e85d30);
  margin-top: var(--sp-1);
}

.trash-orange__subtitle {
  font-size: 10px;
}

.trash-orange__speech {
  max-width: 320px;
  padding: var(--sp-3);
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(232, 93, 48, 0.2);
  border-radius: 4px;
  font-family: var(--font-mono);
  font-size: 12px;
  line-height: 1.5;
  color: rgba(255,255,255,0.85);
  position: relative;
  margin-top: var(--sp-2);
}

.trash-orange__speech::before {
  content: '';
  position: absolute;
  top: -6px;
  left: 50%;
  transform: translateX(-50%);
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 6px solid rgba(232, 93, 48, 0.2);
}

.trash-orange--speaking {
  animation: orange-shake 0.15s ease-in-out 8;
}

@keyframes orange-blink {
  0%, 95%, 100% { opacity: 1; }
  97% { opacity: 0; }
}

@keyframes orange-shake {
  0%, 100% { transform: translateX(0) rotate(0); }
  25% { transform: translateX(-3px) rotate(-2deg); }
  75% { transform: translateX(3px) rotate(2deg); }
}

/* ── Reagan Reveal Overlay ── */
.trash-reagan-overlay {
  position: fixed;
  inset: 0;
  z-index: var(--z-overlay);
  display: flex;
  align-items: center;
  justify-content: center;
}

.trash-reagan-overlay__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.94);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

.trash-reagan-overlay__content {
  position: relative;
  z-index: 1;
  max-width: min(560px, 92vw);
  max-height: 85vh;
  overflow-y: auto;
  background: var(--c-black, #080808);
  border: 2px solid rgba(232, 93, 48, 0.3);
  padding: var(--sp-5);
}

.trash-reagan-overlay__close {
  position: absolute;
  top: var(--sp-2);
  right: var(--sp-2);
  background: none;
  border: none;
  color: rgba(255,255,255,0.5);
  font-size: 24px;
  cursor: pointer;
}

.trash-reagan-overlay__close:hover {
  color: var(--accent, #e85d30);
}

.trash-reagan-overlay__header {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  font-family: var(--font-mono);
  font-size: 13px;
  margin-bottom: var(--sp-4);
  padding-bottom: var(--sp-3);
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

.trash-reagan-overlay__loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--sp-2);
  padding: var(--sp-5) 0;
  font-family: var(--font-pixel);
  font-size: 10px;
  letter-spacing: 0.1em;
  color: var(--accent, #e85d30);
}

.trash-reagan-overlay__bar {
  width: 240px;
  height: 6px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.1);
  overflow: hidden;
}

.trash-reagan-overlay__bar-fill {
  height: 100%;
  background: var(--accent, #e85d30);
  transition: width 0.2s ease-out;
  box-shadow: 0 0 8px rgba(232, 93, 48, 0.4);
}

.trash-reagan-ascii {
  font-family: var(--font-mono);
  font-size: 10px;
  line-height: 1.35;
  white-space: pre;
  overflow-x: auto;
  color: #48ff48;
  background: rgba(0, 32, 0, 0.3);
  border: 1px solid rgba(72, 255, 72, 0.15);
  padding: var(--sp-3);
  animation: reagan-crt 0.1s steps(2) infinite;
}

@media (max-width: 520px) {
  .trash-reagan-ascii {
    font-size: 7px;
    line-height: 1.2;
  }
}

@keyframes reagan-crt {
  0%, 100% { text-shadow: 0 0 4px rgba(72, 255, 72, 0.4); }
  50% { text-shadow: 0 0 8px rgba(72, 255, 72, 0.6), 0 0 2px rgba(72, 255, 72, 0.2); }
}

.trash-reagan-footnote {
  margin-top: var(--sp-3);
  font-size: 10px;
  line-height: 1.5;
  font-style: italic;
}

/* ── Captcha Gate (mobile locked_folder) ── */
.trash-captcha {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: var(--sp-5);
  text-align: center;
}

.trash-captcha__lock {
  font-size: 48px;
  margin-bottom: var(--sp-3);
  animation: captcha-lock-wobble 2s ease-in-out infinite;
}

.trash-captcha__title {
  font-family: var(--font-pixel);
  font-size: 11px;
  letter-spacing: 0.15em;
  margin-bottom: var(--sp-1);
}

.trash-captcha__subtitle {
  font-size: 11px;
  margin-bottom: var(--sp-4);
}

.trash-captcha__question {
  font-family: var(--font-mono);
  font-size: 12px;
  line-height: 1.6;
  white-space: pre-wrap;
  text-align: center;
  padding: var(--sp-3);
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.08);
  margin-bottom: var(--sp-3);
  max-width: 340px;
  width: 100%;
}

.trash-captcha__input-row {
  display: flex;
  gap: var(--sp-2);
  max-width: 280px;
  width: 100%;
  margin-bottom: var(--sp-2);
}

.trash-captcha__input {
  flex: 1;
  min-width: 0;
}

.trash-captcha__feedback {
  font-family: var(--font-mono);
  font-size: 11px;
  color: #ff4444;
  margin-bottom: var(--sp-2);
  padding: var(--sp-2);
  animation: captcha-feedback-shake 0.3s ease-out;
}

.trash-captcha__feedback--success {
  color: #48ff48;
  animation: none;
}

.trash-captcha__footnote {
  font-size: 9px;
  margin-top: var(--sp-3);
}

.trash-captcha__attempts {
  font-size: 10px;
  margin-top: var(--sp-1);
}

@keyframes captcha-lock-wobble {
  0%, 100% { transform: rotate(0); }
  25% { transform: rotate(-3deg); }
  75% { transform: rotate(3deg); }
}

@keyframes captcha-feedback-shake {
  0%, 100% { transform: translateX(0); }
  20% { transform: translateX(-6px); }
  40% { transform: translateX(6px); }
  60% { transform: translateX(-4px); }
  80% { transform: translateX(4px); }
}

/* ── Locked folder in Files app ── */
.files-item--locked:hover {
  background: rgba(232, 93, 48, 0.04);
}

.files-item--locked .files-item__icon {
  animation: captcha-lock-wobble 2s ease-in-out infinite;
}

.files-item--locked .files-item__name {
  color: var(--accent, #e85d30);
  font-style: italic;
}
