/* Shared: fonts + the questionnaire sheet and image viewer. Each version sets --s-* tokens. */
@font-face { font-family: "Practica"; src: url("assets/FbPracticaNarrow-Bold.ttf") format("truetype"); font-weight: 700 900; font-display: swap; }
@font-face { font-family: "Practica"; src: url("assets/FbPracticaNarrow-Regular.ttf") format("truetype"); font-weight: 300 500; font-display: swap; }
@font-face { font-family: "Heebo"; src: url("assets/Heebo.ttf") format("truetype"); font-weight: 100 900; font-display: swap; }

.nzsheet, .nzviewer { color: var(--s-ink, #fff); }
.nzsheet::backdrop, .nzviewer::backdrop { background: rgba(8,8,9,.8); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); }
.nzx { width: 44px; height: 44px; padding: 11px; border: 0; border-radius: 50%; background: var(--s-x, #2a2a2b); flex: none; cursor: pointer; }
.nzx svg { width: 100%; height: 100%; fill: none; stroke: var(--s-ink, #fff); stroke-width: 2; stroke-linecap: round; }
.nzsheet {
  width: 100%; max-width: 680px; height: min(92dvh, 900px); max-height: none;
  margin: auto auto 0; padding: 0; border: 0; border-radius: var(--s-r, 26px) var(--s-r, 26px) 0 0;
  background: var(--s-bg, #1C1C1C); display: none; flex-direction: column; font-family: "Heebo", sans-serif;
}
.nzsheet[open] { display: flex; animation: nzUp .55s cubic-bezier(.16,1,.3,1); }
@keyframes nzUp { from { transform: translateY(40px); opacity: 0; } }
.nzsheet__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 20px; border-bottom: 1px solid var(--s-line, #333); }
.nzsheet__chosen { margin: 0; color: var(--s-accent, #74FFBF); font-weight: 700; font-size: .95rem; }
.nzsheet__title { margin: 2px 0 0; font: 700 1.9rem/1.05 "Practica", sans-serif; }
.nzsheet__body { flex: 1; overflow: auto; }
.nzsheet__body iframe { width: 100%; height: 100%; border: 0; background: #fff; }
.nzsheet__empty { padding: 28px 22px; }
.nzsheet__empty p { margin: 0 0 18px; opacity: .8; }
.nzbtn { display: inline-flex; align-items: center; min-height: 52px; padding: 0 26px; border-radius: 999px; background: #74FFBF; color: #0E3B2A; font-weight: 800; text-decoration: none; }
.nzsheet__out { display: block; padding: 12px 20px 16px; text-align: center; font-size: .9rem; color: inherit; opacity: .75; }
.nzviewer { width: 100%; max-width: 760px; max-height: 94dvh; padding: 56px 12px 12px; border: 0; border-radius: 22px; background: var(--s-bg, #1C1C1C); }
.nzviewer .nzx { position: absolute; top: 8px; left: 8px; }
.nzviewer__imgs { display: grid; gap: 10px; }
.nzviewer__imgs img { width: 100%; height: auto; border-radius: 12px; display: block; }
@media (min-width: 720px) { .nzsheet { margin: auto; border-radius: var(--s-r, 26px); } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto !important; } *, *::before, *::after { animation: none !important; transition: none !important; } }
