/* Оболочка сайта: экраны из макета на весь экран телефона, на компьютере — по центру */
html, body { margin: 0; height: 100%; background: #FBF9F6; }
html[data-theme="dark"], html[data-theme="dark"] body { background: #16130F; }
#app { height: 100%; }
#app > div {
  width: 100% !important; max-width: 520px; margin: 0 auto;
  height: 100% !important; min-height: 100dvh; height: 100dvh !important;
  border-left: 0; border-right: 0;
}
@media (min-width: 560px) {
  #app > div { box-shadow: 0 0 0 1px rgba(29, 27, 23, 0.06), 0 10px 40px rgba(29, 27, 23, 0.06); }
  html[data-theme="dark"] #app > div { box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.06); }
}
:focus-visible { outline: 2px solid #6E1F2E; outline-offset: 2px; }
html[data-theme="dark"] :focus-visible { outline-color: #E79AAA; }
/* Печать (Сохранить как PDF) */
#print-doc { display: none; }
@media print {
  #app { display: none !important; }
  #print-doc { display: block; font-family: 'Golos Text', sans-serif; color: #1D1B17; padding: 0 8mm; }
  #print-doc h1 { font-family: 'Playfair Display', serif; font-size: 22pt; margin: 0 0 4pt; }
  #print-doc .pk { color: #6B635D; font-size: 10pt; margin-bottom: 14pt; }
  #print-doc h2 { font-size: 12pt; margin: 12pt 0 4pt; }
  #print-doc p { font-size: 11pt; line-height: 1.5; margin: 0 0 6pt; }
  #print-doc .pf { margin-top: 18pt; color: #958C85; font-size: 9pt; }
  #print-doc .pm-task { page-break-inside: avoid; margin-bottom: 8pt; }
  #print-doc .pm-n { color: #958C85; font-weight: 400; font-size: 10pt; }
  #print-doc .pm-svg svg { max-width: 70mm; height: auto; }
  #print-doc .pm-name { margin: 6pt 0 10pt; }
  #print-doc .pm-note { color: #4A433E; font-size: 10pt; }
  #print-doc .pm-text { border: 1px solid #D9D1C7; padding: 6pt 10pt; margin: 8pt 0 12pt; }
  #print-doc .pm-break { page-break-before: always; }
  #print-doc .pm-blank { border-collapse: collapse; margin: 4pt 0 10pt; }
  #print-doc .pm-blank th, #print-doc .pm-blank td { border: 1px solid #1D1B17; min-width: 11mm; height: 9mm; text-align: center; font-size: 10pt; padding: 0 3pt; }
  #print-doc .slide-p { page-break-inside: avoid; margin-bottom: 8mm; }
  body { background: #FFFFFF !important; }
}

/* Примеры презентаций в оригинальном оформлении (слайд 1920×1080, уменьшается под ширину) */
.deck-stage { position: absolute; left: 0; top: 0; width: 1920px; height: 1080px; transform-origin: 0 0; }
.deck-stage section { position: relative; width: 1920px; height: 1080px; box-sizing: border-box; overflow: hidden; }
.deck-stage section * { box-sizing: border-box; }
.deck-stage h1, .deck-stage h2, .deck-stage h3, .deck-stage p, .deck-stage ul, .deck-stage ol { margin: 0; }
.deck-stage ul, .deck-stage ol { padding-left: 1.2em; }
.deck-stage img { display: block; }
