/* tokens
   wood: #6b3c16 (sampled off the approved art's own door)   paper: #e8dfc8 (second sticky note)
   ink: #1a2d4a (ballpoint navy, sampled off the art)   accent: #ccff00 (chain neon, the marker Z)
   tape: rgba(232,208,156,.6)
   type: Shadows Into Light (handwritten ca: label + ticker tag) + Red Hat Mono (the CA value only)
   corner radius: 0 everywhere, this is taped paper, not UI
   spacing scale: 8 / 16 / 24 / 32px
   motion: none. the note does not move, nothing on this page moves
*/

@font-face {
  font-family: "Shadows Into Light";
  src: url("assets/fonts/shadows-into-light-latin-400-normal.woff2") format("woff2");
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Red Hat Mono";
  src: url("assets/fonts/red-hat-mono-latin-400-normal.woff2") format("woff2");
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Red Hat Mono";
  src: url("assets/fonts/red-hat-mono-latin-500-normal.woff2") format("woff2");
  font-weight: 500; font-style: normal; font-display: swap;
}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  height: 100%;
  overflow: hidden;
  background: #6b3c16;
  color: #e8dfc8;
  font-family: "Shadows Into Light", cursive;
}

.stage {
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: clamp(10px, 2.4vh, 22px);
  padding: 20px;
}

.photo-wrap {
  position: relative;
  display: flex;
}

.photo {
  display: block;
  width: min(70vh, 86vw, 560px);
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  transform: rotate(-1.4deg);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.5);
}

.tag {
  position: absolute;
  top: -6px;
  left: -6px;
  font-size: clamp(16px, 2.2vh, 22px);
  color: #f2e9d4;
  background: rgba(26, 45, 74, 0.55);
  padding: 2px 10px;
  transform: rotate(-4deg);
}

.sticky {
  position: relative;
  display: flex;
  align-items: baseline;
  gap: 10px;
  background: #e8dfc8;
  color: #1a2d4a;
  padding: 14px 20px 16px;
  transform: rotate(2deg);
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.4);
  background-image: repeating-linear-gradient(
    to bottom,
    transparent 0,
    transparent 21px,
    rgba(70, 100, 170, 0.35) 22px
  );
}

.sticky::before,
.sticky::after {
  content: "";
  position: absolute;
  top: -12px;
  width: 46px;
  height: 22px;
  background: rgba(232, 208, 156, 0.65);
  box-shadow: 0 2px 3px rgba(0, 0, 0, 0.25);
}

.sticky::before { left: -8px; transform: rotate(-8deg); }
.sticky::after { right: -8px; transform: rotate(7deg); }

.ca-label {
  font-size: clamp(18px, 2.6vh, 24px);
  color: rgba(26, 45, 74, 0.8);
}

.ca {
  appearance: none;
  border: none;
  background: none;
  color: #1a2d4a;
  font-family: "Red Hat Mono", ui-monospace, monospace;
  font-weight: 500;
  font-size: clamp(12px, 1.8vh, 15px);
  letter-spacing: 0.01em;
  cursor: pointer;
  padding: 2px 0;
}

.ca:hover, .ca:focus-visible {
  color: #4a5f14;
}

.chrome {
  display: flex;
  align-items: center;
  gap: 8px;
  width: min(92vw, 440px);
  font-family: "Red Hat Mono", ui-monospace, monospace;
  font-size: clamp(10px, 1.3vh, 12px);
  letter-spacing: 0.02em;
  color: rgba(232, 223, 200, 0.7);
  flex-wrap: wrap;
  justify-content: center;
  text-align: center;
}

.chrome a {
  color: rgba(242, 233, 212, 0.9);
  text-decoration: none;
}

.chrome a:hover, .chrome a:focus-visible {
  text-decoration: underline;
}

.chrome .sep {
  color: rgba(232, 223, 200, 0.35);
}

.chrome .network {
  min-width: 0;
  overflow-wrap: break-word;
}

@media (max-width: 480px) {
  .stage { padding: 16px; gap: 12px; }
  .photo { width: min(58vh, 82vw, 420px); }
  .sticky { padding: 12px 16px 14px; }
  .chrome .network { flex-basis: 100%; }
}
