/* ============================================================
   dream : rossi — skin.
   A Bob Ross studio: the landscape oil painting fills the
   stage, the shared copy sits on it like titling brushed into
   wet paint — warm cream strokes with soft pine shadows, the
   tagline hand-written like the artist's signature. Above it
   all, a white gesso veil (canvas, painted by dream.js) waits
   to be brushed away. Classes prefixed df-rossi- are created
   only by this dream's JS.
   ============================================================ */

html[data-theme="rossi"] body {
  background: #FCFAF4;
  /* the brush drag must never turn into a text selection */
  user-select: none;
  -webkit-user-select: none;
  cursor: crosshair;
}

/* the landscape under everything (url resolves next to this file,
   so it is only fetched when rossi is the night's dream) */
.df-rossi-painting {
  position: absolute;
  inset: 0;
  background: url("painting.jpg") center / cover no-repeat #7FA8C9;
}

/* ---- copy brushed into the painting: warm cream over pine shadow ---- */
html[data-theme="rossi"] .df-name {
  color: #FFF9EC;
  text-shadow:
    0 2px 3px rgba(31, 43, 33, 0.55),
    0 8px 30px rgba(20, 30, 24, 0.5);
}
html[data-theme="rossi"] .df-sub-text {
  color: #F4D48C;
  text-shadow: 0 1px 2px rgba(31, 43, 33, 0.6), 0 4px 14px rgba(20, 30, 24, 0.5);
}
html[data-theme="rossi"] .df-rule {
  background: rgba(255, 244, 216, 0.8);
  box-shadow: 0 1px 3px rgba(31, 43, 33, 0.45);
}
/* the tagline is hand-written, like the signature in the corner */
html[data-theme="rossi"] .df-tagline {
  font-family: "Segoe Print", "Bradley Hand", "Marker Felt", "Noteworthy", "Comic Sans MS", cursive;
  font-size: clamp(1.05rem, 1.9vw, 1.35rem);
  color: #FFF6E2;
  text-shadow: 0 2px 4px rgba(31, 43, 33, 0.6), 0 6px 20px rgba(20, 30, 24, 0.45);
}
html[data-theme="rossi"] .df-soon {
  color: #F4D48C;
  text-shadow: 0 1px 2px rgba(31, 43, 33, 0.6), 0 4px 14px rgba(20, 30, 24, 0.5);
}
html[data-theme="rossi"] .df-copyright {
  color: rgba(255, 249, 236, 0.9);
  text-shadow: 0 1px 3px rgba(31, 43, 33, 0.65);
}
html[data-theme="rossi"] .df-logo img {
  filter:
    drop-shadow(0 3px 6px rgba(31, 43, 33, 0.5))
    drop-shadow(0 0 34px rgba(255, 240, 200, 0.4));
}
/* a soft haze behind the copy so it reads over bright sky and water */
html[data-theme="rossi"] #content-scale::before {
  content: "";
  position: absolute;
  inset: -8% -14%;
  z-index: -1;
  background: radial-gradient(closest-side, rgba(24, 34, 27, 0.32), transparent 74%);
  pointer-events: none;
}

/* ---- chrome ---- */
/* the nameplate must read on the white gesso, and float above it */
html[data-theme="rossi"] #df-dream-label {
  z-index: 6;
  color: rgba(97, 78, 58, 0.6);
  transition: color 1.4s ease, text-shadow 1.4s ease;
}
html[data-theme="rossi"] body.df-rossi-revealed #df-dream-label {
  color: rgba(255, 249, 236, 0.85);
  text-shadow: 0 1px 3px rgba(31, 43, 33, 0.6);
}

html[data-theme="rossi"] #df-change-dream {
  color: #4E3A26;
  background: rgba(252, 247, 238, 0.9);
  border: 1px solid rgba(94, 66, 41, 0.55);
  box-shadow: 0 2px 10px rgba(20, 30, 24, 0.35);
}
html[data-theme="rossi"] #df-change-dream:hover {
  color: #2E2113;
  border-color: rgba(94, 66, 41, 0.9);
  box-shadow: 0 2px 16px rgba(20, 30, 24, 0.5);
}
/* while the gesso still hides them, a tap must paint — never navigate:
   dream.js locks every interactive .df-ui in the content block and
   unlocks each one as its own area is scrubbed clear */
html[data-theme="rossi"] .df-rossi-locked {
  pointer-events: none;
}

/* ---- the gesso veil and its instruction ---- */
.df-rossi-veil {
  transition: opacity 1.8s ease;
}
.df-rossi-veil.out {
  opacity: 0;
}

.df-rossi-hint {
  position: fixed;
  left: 50%;
  top: 50%;
  z-index: 6;
  transform: translate(-50%, -50%) rotate(-3deg);
  font-family: "Segoe Print", "Bradley Hand", "Marker Felt", "Noteworthy", "Comic Sans MS", cursive;
  font-size: clamp(2.1rem, 6vw, 3.4rem);
  color: #8A7A64;
  white-space: nowrap;
  pointer-events: none;
  animation: df-fade-in 1.2s 0.3s ease-out both, df-rossi-bob 3.4s ease-in-out infinite;
  transition: opacity 0.8s;
}
.df-rossi-hint.out { opacity: 0; animation: none; }

@keyframes df-rossi-bob {
  0%, 100% { transform: translate(-50%, -53%) rotate(-3deg); }
  50% { transform: translate(-50%, -47%) rotate(-1.5deg); }
}
