/* The Lithophane page. It borrows the Customize page's layout and controls (customize.css); this adds what is its own. */
.cz-viewport { position: relative; }

/* before a picture is chosen: a big, friendly target in the middle of the viewer */
.lp-empty {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 20px;
  text-align: center;
  font: inherit;
  color: var(--muted);
  background: rgba(247, 248, 250, 0.96);
  border: 2px dashed var(--line);
  border-radius: 12px;
  cursor: pointer;
}
.lp-empty strong { color: var(--text); font-size: 17px; }
.lp-empty-icon { font-size: 40px; line-height: 1; }
.lp-empty:hover, .lp-empty.dragging { border-color: var(--text); background: #fff; }
.lp-empty.hidden { display: none; }

/* the picture as it looks with a light behind the plate */
.lp-lit {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 340px;
  padding: 18px;
  background: #0d0d10;
  border: 1px solid var(--line);
  border-radius: 12px;
}
.lp-lit.hidden, .lp-views.hidden { display: none; }
.lp-lit img { display: block; max-width: 100%; max-height: 460px; filter: drop-shadow(0 0 26px rgba(255, 244, 214, 0.32)); } /* the picture may be round: the glow follows its shape */
.lp-views { margin-top: 10px; }
.cz-viewport.lp-away { display: none; }  /* the 3D view steps aside while the lit picture is shown */
#lp-file { width: 100%; font: inherit; font-size: 14px; }
#lp-quality { width: 100%; padding: 9px 10px; font: inherit; font-size: 14px; color: var(--text); background: #fff; border: 1px solid var(--line); border-radius: 8px; }

/* sections of controls */
.lp-section { margin-top: 20px; padding-top: 14px; border-top: 1px solid var(--line); }
.lp-section.hidden { display: none; }
.lp-heading { margin: 0 0 10px; font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--muted); font-weight: 600; }
.lp-section .cz-controls { display: flex; flex-direction: column; gap: 14px; }
.lp-section .cz-check { margin-top: 12px; }

/* shape buttons */
.lp-shapes { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.lp-shapes button { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 10px 4px; font: inherit; font-size: 12px; color: var(--text); background: #fff; border: 1px solid var(--line); border-radius: 10px; cursor: pointer; }
.lp-shapes button[aria-pressed="true"] { border-color: var(--text); background: var(--text); color: #fff; }
.lp-ico { display: block; width: 26px; height: 20px; border: 2px solid currentColor; }
.lp-ico-rect { border-radius: 2px; }
.lp-ico-square { width: 22px; height: 22px; border-radius: 2px; }
.lp-ico-circle { width: 22px; height: 22px; border-radius: 50%; }
.lp-ico-oval { width: 28px; height: 18px; border-radius: 50%; }
.lp-aspects { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 12px; }
.lp-aspects.hidden { display: none; }
.lp-aspects-label { font-size: 12px; color: var(--muted); margin-right: 2px; }
.lp-aspects button { padding: 5px 10px; font: inherit; font-size: 12px; color: var(--text); background: #fff; border: 1px solid var(--line); border-radius: 999px; cursor: pointer; }
.lp-aspects button:hover, .lp-aspects button.active { border-color: var(--text); }

/* the crop window */
.lp-crop { display: block; width: 100%; max-width: 380px; aspect-ratio: 1; margin: 14px auto 6px; border-radius: 10px; background: #14151a; cursor: grab; touch-action: none; user-select: none; }
.lp-crop:active { cursor: grabbing; }
.lp-crop:focus-visible { outline: 2px solid var(--text); outline-offset: 2px; }
.lp-zoom { max-width: 380px; margin: 0 auto; }
.lp-link { padding: 0; font: inherit; font-size: 12px; color: var(--muted); background: none; border: none; text-decoration: underline; cursor: pointer; }
.lp-link:hover { color: var(--text); }
