@font-face {
  font-family: 'Commissioner';
  src: url('fonts/Commissioner.ttf') format('truetype-variations'),
       url('fonts/Commissioner.ttf') format('truetype');
  font-weight: 100 900;
  font-display: swap;
}

:root {
  /* кольорова гама інтерфейсу */
  --paper:    #FCFBF8;
  --ink:      #2A2724;
  --ink-soft: #6E6963;
  --rule:     #C9C5BF;
  --tile-bg:  #FFFFFF;

  /* розмір плитки залежить ВИКЛЮЧНО від ширини вікна.
     --tile — ширина, --tile-h — висота; знімки портретні 4:5.
     Обидві змінні перезадає app.js, тут — значення до його запуску */
  --tile:   clamp(58px, 6.2vw + 32px, 170px);
  --tile-h: calc(var(--tile) / 0.823);
  --gap:    calc(var(--tile) * 0.09);
  /* біле поле навколо композиції при експорті = 2 × проміжок */
  --pad:  calc(var(--gap) * 2);

  /* знак-конструкція літери Ґ — оригінальне зображення автора, статичне */
  --mark-g: url("data:image/png;base64,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");

  /* каретка в момент відмови — та сама форма, але червона */
  --caret-beam-error: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 320'><g stroke='%23C4392B' stroke-width='2.6' fill='none' stroke-linecap='round'><path d='M30 42 V278'/><path d='M7 9 C21 12 28 20 30 42'/><path d='M53 9 C39 12 32 20 30 42'/><path d='M7 311 C21 308 28 300 30 278'/><path d='M53 311 C39 308 32 300 30 278'/></g></svg>");

  /* друкувальна каретка — тонка вертикаль із горизонталями, що заокруглено
     розходяться в обидва боки вгорі й унизу; блимає */
  --caret-beam: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 320'><g stroke='%23B9B6B1' stroke-width='2.6' fill='none' stroke-linecap='round'><path d='M30 42 V278'/><path d='M7 9 C21 12 28 20 30 42'/><path d='M53 9 C39 12 32 20 30 42'/><path d='M7 311 C21 308 28 300 30 278'/><path d='M53 311 C39 308 32 300 30 278'/></g></svg>");
}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
  min-height: 100%;
  background: var(--paper);
  color: var(--ink);
  font-family: 'Commissioner', system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-weight: 350;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100svh;
  overflow-x: hidden;
}

/* ─── невидиме поле вводу ─────────────────────────────────────────── */
.hidden-input {
  position: fixed;
  top: 0;
  left: 0;
  width: 1px;
  height: 1px;
  padding: 0;
  border: 0;
  opacity: 0;
  resize: none;
  z-index: -1;
  /* 16px не дає iOS зумити сторінку при фокусі */
  font-size: 16px;
}

/* ─── сцена ───────────────────────────────────────────────────────── */
.stage {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: max(var(--pad), 20px) max(var(--pad), 16px);
  cursor: text;
}

.composition {
  display: flex;
  flex-direction: column;
  align-items: center;      /* напис завжди по центру */
  gap: var(--gap);
  width: 100%;
}

.row {
  display: flex;
  justify-content: center;  /* кожен рядок теж по центру */
  align-items: flex-start;
  gap: var(--gap);
}

/* ─── плитка-літера ───────────────────────────────────────────────── */
.tile {
  position: relative;
  flex: 0 0 auto;
  width: var(--tile);
  height: var(--tile-h);
  background: var(--tile-bg);
  overflow: hidden;
  user-select: none;
}

.tile img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.tile__glyph {
  position: absolute;
  left: 8%;
  top: 3%;
  font-family: Georgia, 'Times New Roman', 'Noto Serif', serif;
  font-size: calc(var(--tile) * 0.42);
  line-height: 1;
  color: var(--c);
  pointer-events: none;
}

/* пробіл — порожнє місце завширшки з плитку */
.tile--space { background: none; }

/* ─── каретка: блимає як при друку ────────────────────────────────── */
/* каретка вища за плитку й виступає над нею та під нею; від'ємні поля
   не дають їй збільшити висоту рядка */
.caret {
  flex: 0 0 auto;
  height: calc(var(--tile-h) * 1.12);
  width: calc(var(--tile-h) * 1.12 * 0.1875);   /* пропорція вертикалі 60 : 320 */
  margin-block: calc(var(--tile-h) * -0.06);
  background: var(--caret-beam) no-repeat center / contain;
  animation: caret-blink 1.06s steps(1, end) infinite;
}

@keyframes caret-blink {
  0%, 50%   { opacity: 1; }
  50.01%, 100% { opacity: 0; }
}

/* відмова: каретка червоніє й перестає блимати, поки триває підсвітка */
.caret.is-error {
  background-image: var(--caret-beam-error);
  animation: none;
  opacity: 1;
}

/* і сама сцена коротко здригається */
@keyframes stage-shake {
  0%, 100% { transform: translateX(0); }
  14%      { transform: translateX(-5px); }
  28%      { transform: translateX(4px); }
  42%      { transform: translateX(-3px); }
  58%      { transform: translateX(2px); }
  76%      { transform: translateX(-1px); }
}

.stage.is-error { animation: stage-shake 0.34s ease-in-out; }

@media (prefers-reduced-motion: reduce) {
  .caret { animation: none; opacity: 1; }
  .stage.is-error { animation: none; }   /* червона каретка лишається */
}

/* ─── керування ───────────────────────────────────────────────────── */
.controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: clamp(18px, 4vw, 46px);
  padding: clamp(26px, 5vh, 60px) 16px clamp(18px, 3vh, 32px);
}

.ctrl {
  font: inherit;
  font-size: clamp(11px, 1.05vw + 7px, 14px);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ink);
  background: none;
  border: 0;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.ctrl--link {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 6px 0;
}

/* обидва підписи в одній комірці — ширина за довшим, ніщо не стрибає */
.ctrl__labels { display: grid; }
.ctrl__labels > .ctrl__label {
  grid-area: 1 / 1;
  text-align: left;
  text-decoration: underline;
  text-underline-offset: 6px;
  text-decoration-thickness: 1px;
}
/* прихований підпис лишається в потоці сітки й тримає ширину */
.ctrl__labels > .ctrl__label[hidden] {
  display: block;
  visibility: hidden;
}

/* підкреслення зникає під курсором */
.ctrl--link:hover .ctrl__label { text-decoration: none; }

/* значок Ґ поруч із перемикачем — статичний, не блимає */
.ctrl__mark {
  display: block;
  height: 46px;
  aspect-ratio: 131 / 316;   /* пропорції оригіналу */
  background: var(--mark-g) no-repeat center / contain;
}

.ctrl--pill {
  padding: 18px 40px;
  border: 1px solid var(--rule);
  border-radius: 999px;
  transition: border-color 0.2s ease, color 0.2s ease;
}
.ctrl--pill:hover  { border-color: var(--ink); }
.ctrl--pill:active { color: var(--ink-soft); }
.ctrl--pill[disabled] { opacity: 0.4; cursor: default; }

.ctrl:focus-visible {
  outline: 1px solid var(--ink);
  outline-offset: 6px;
}

/* ─── копірайт ────────────────────────────────────────────────────── */
.colophon {
  padding: 0 24px clamp(24px, 5vh, 48px);
  text-align: center;
  font-size: 11px;
  line-height: 1.7;
  letter-spacing: 0.05em;
  color: var(--ink-soft);
  max-width: 62ch;
  margin: 0 auto;
}
.colophon a {
  color: var(--ink);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}
.colophon a:hover { text-decoration: none; }
