.fvtt-donjon-et-cie {
  --dnc-ink: @color-ink;
  --dnc-accent: @color-accent;
}

.fvtt-donjon-et-cie .window-content {
  font-family: @font-body;
  color: @color-ink;
  background: linear-gradient(180deg, #f8f1e6 0%, #eadac0 100%);
}

#pause {
  font-size: 2rem;
}

#pause.paused {
  gap: 0.5rem;
}

#pause > figcaption {
  color: #ccc;
  text-shadow: 0 0 10px rgba(255, 255, 255, 0.25);
}

#pause > img {
  opacity: 0;
  height: 0;
  width: 0;
}

#pause::before {
  content: "";
  display: block;
  background: url("../assets/ui/logo_01.webp") center/contain no-repeat;
  height: 200px;
  width: 200px;
  margin-bottom: 0.75rem;
  animation: dnc-pause-logo 4.2s ease-in-out infinite;
  transform-origin: 50% 50%;
  filter: drop-shadow(0 10px 20px rgba(0, 0, 0, 0.35));
}

@keyframes dnc-pause-logo {
  0%,
  100% {
    transform: scale(0.98) translateY(0);
    filter: drop-shadow(0 10px 20px rgba(0, 0, 0, 0.3));
  }

  50% {
    transform: scale(1.03) translateY(-6px);
    filter: drop-shadow(0 16px 26px rgba(0, 0, 0, 0.45));
  }
}

.dnc-sheet {
  display: flex;
  flex-direction: column;
  gap: @spacing-lg;
  padding: @spacing-lg;
}

.dnc-sheet .sheet-card {
  border: 2px solid @color-border;
  border-radius: @radius-md;
  background: rgba(255, 248, 236, 0.92);
  box-shadow: 0 6px 14px @color-shadow;
  padding: @spacing-lg;
}

.fvtt-donjon-et-cie .sheet-card h2,
.fvtt-donjon-et-cie .dnc-chat-card h2 {
  margin: 0 0 @spacing-md;
  font-family: @font-display !important;
  font-size: 1.15rem;
  color: @color-accent;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.dnc-sheet .sheet-header {
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: @spacing-lg;
  align-items: start;
}

.dnc-sheet .sheet-header.compact {
  grid-template-columns: 110px 1fr;
  gap: @spacing-md;
}

.dnc-sheet .portrait {
  position: relative;
}

.dnc-sheet .portrait img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: @radius-md;
  border: 3px solid @color-border;
  background: #fff;
}

.dnc-sheet .icon-button {
  position: absolute;
  right: @spacing-sm;
  bottom: @spacing-sm;
  border: 0;
  border-radius: 999px;
  background: @color-panel-dark;
  color: #fff;
  width: 2rem;
  height: 2rem;
}

.dnc-sheet .identity-grid,
.dnc-sheet .identity-grid.two-columns {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: @spacing-md;
}

.dnc-sheet .identity-grid.two-columns {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.dnc-employe-sheet .sheet-header.compact .identity-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: @spacing-sm @spacing-md;
}

.dnc-employe-sheet .sheet-header.compact label {
  gap: 0.25rem;
}

.dnc-employe-sheet .sheet-header.compact .hp-field {
  grid-column: span 2;
}

.dnc-employe-sheet .sheet-header.compact input[type="number"] {
  max-width: 4.75rem;
}

.dnc-employe-sheet .sheet-header.compact .counter-field input[name="system.sante.pv.value"],
.dnc-employe-sheet .sheet-header.compact .counter-field input[name="system.sante.pv.max"] {
  width: 5.25rem;
  max-width: 5.25rem;
}

.dnc-pnj-sheet .sheet-header.compact .identity-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: @spacing-sm @spacing-md;
}

.dnc-pnj-sheet .sheet-header.compact label {
  gap: 0.25rem;
}

.dnc-pnj-sheet .sheet-header.compact .hp-field {
  grid-column: span 2;
}

.dnc-pnj-sheet .sheet-header.compact input[type="number"] {
  width: 4.5rem;
  max-width: 4.5rem;
}

.dnc-pnj-sheet .sheet-header.compact .counter-field input[name="system.sante.pv.value"],
.dnc-pnj-sheet .sheet-header.compact .counter-field input[name="system.sante.pv.max"] {
  width: 5.25rem;
  max-width: 5.25rem;
}

.dnc-sheet label {
  display: flex;
  flex-direction: column;
  gap: @spacing-sm;
}

.dnc-sheet label > span {
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: @color-muted;
}

.dnc-sheet .readonly-field {
  display: flex;
  flex-direction: column;
  gap: @spacing-sm;
}

.dnc-sheet .readonly-field > span {
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: @color-muted;
}

.dnc-sheet .readonly-field p {
  margin: 0;
  border: 1px solid rgba(91, 70, 52, 0.55);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.65);
  color: #221b18;
  padding: 0.45rem 0.55rem;
}

.dnc-sheet input,
.dnc-sheet select,
.dnc-sheet textarea,
.dnc-dialog-form input,
.dnc-dialog-form select {
  width: 100%;
  border: 1px solid fade(@color-border, 55%);
  border-radius: @radius-sm;
  background: rgba(255, 255, 255, 0.9);
  color: @color-ink;
  padding: 0.45rem 0.55rem;
}

.dnc-sheet textarea {
  resize: vertical;
  min-height: 4.5rem;
}

.dnc-sheet .sheet-columns {
  display: grid;
  grid-template-columns: minmax(250px, 320px) 1fr;
  gap: @spacing-lg;
}

.dnc-sheet .sheet-sections {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: @spacing-lg;
}

.dnc-sheet .compact-sections {
  grid-template-columns: 1fr;
}
