@font-face {
  font-family: "MB Corpo S Text";
  src: url("MBCorpoSText-Regular-Web.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "MB Corpo S Text";
  src: url("MBCorpoSText-Bold-Web.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

:root {
  --font: "MB Corpo S Text", sans-serif;
  --page-w: 595pt;
  --page-h: 841pt;
  --text-x-scale: 1.018;
  --text-y-adjust: 0;
  --text-y-scale: 1.055;
  --text-y-effective: calc(var(--text-y-scale) + (var(--text-y-adjust) * 0.004));
  --text-stroke: 0.055pt;
  --bold-letter-spacing: -0.1px;
  --regular-letter-spacing: 0.2px;
  --row-spacing-adjust: 1.4px;
  --bleed: 21;
  --bleed-blur: calc(var(--bleed) * 0.0028pt);
  --bleed-spread: calc(var(--bleed) * 0.0048pt);
  --brand-top-bleed: 0;
  --brand-top-bleed-blur: calc(var(--brand-top-bleed) * 0.0028pt);
  --brand-top-bleed-spread: calc(var(--brand-top-bleed) * 0.0048pt);
  --brand-top-text-y-adjust: 20;
  --brand-top-text-y-effective: calc(var(--text-y-scale) + (var(--brand-top-text-y-adjust) * 0.004));
  --brand-bottom-bleed: 0;
  --brand-bottom-bleed-blur: calc(var(--brand-bottom-bleed) * 0.0028pt);
  --brand-bottom-bleed-spread: calc(var(--brand-bottom-bleed) * 0.0048pt);
  --brand-bottom-text-y-adjust: 20;
  --brand-bottom-text-y-effective: calc(var(--text-y-scale) + (var(--brand-bottom-text-y-adjust) * 0.004));
  --brand-hyphen-gap: 0.045em;
  --check-size: 14px;
  --check-border: 1px;
  --check-stroke: 3.40px;
}

html {
  font-size: 16px;
}

body {
  margin: 0;
  background: #7a7a7a;
  color: #000;
  font-family: var(--font);
  -webkit-font-smoothing: antialiased;
}

.toolbar {
  display: flex;
  position: sticky;
  top: 0;
  z-index: 10;
  gap: 0.75rem;
  flex-wrap: wrap;
  align-items: center;
  padding: 0.55rem 1rem;
  background: #1e1e1e;
  color: #eaeaea;
  font-family: system-ui, "Segoe UI", sans-serif;
  font-size: 10.5pt;
  line-height: 1.35;
}

.bleed-control,
.scale-control,
.tracking-control,
.line-spacing-control {
  display: inline-flex;
  gap: 0.4rem;
  align-items: center;
  white-space: nowrap;
}

.bleed-control input[type="range"],
.scale-control input[type="range"],
.tracking-control input[type="range"],
.line-spacing-control input[type="range"] {
  width: 9rem;
}

.bleed-control input[type="number"],
.scale-control input[type="number"],
.tracking-control input[type="number"],
.line-spacing-control input[type="number"] {
  width: 5.6rem;
  padding: 0.16rem 0.25rem;
  border: 1px solid #555;
  border-radius: 3px;
  background: #111;
  color: #fff;
  font: inherit;
}

.toolbar button {
  cursor: pointer;
  flex-shrink: 0;
  padding: 0.38rem 0.95rem;
  border: 0;
  border-radius: 4px;
  background: #2d7efb;
  color: #fff;
  font: inherit;
  font-weight: 600;
}

.toolbar button:hover {
  background: #1a69e5;
}

.sheet {
  width: var(--page-w);
  margin: 10mm auto;
}

.page {
  position: relative;
  width: var(--page-w);
  height: var(--page-h);
  overflow: hidden;
  background: #fff;
}

.fixed {
  user-select: none;
  pointer-events: none;
}

.star-logo {
  display: block;
  position: absolute;
  left: 265.75pt;
  top: 47.5pt;
  width: 70.17pt;
  height: 70.25pt;
  border: 0;
  outline: 0;
  box-shadow: none;
  -webkit-clip-path: inset(0 3pt 0 0);
  clip-path: inset(0 3pt 0 0);
  filter: blur(var(--bleed-blur));
  object-fit: fill;
}

.brand-logo {
  position: absolute;
  left: 426.2pt;
  top: 139.5pt;
  width: 92pt;
  color: #000;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 12.5pt;
  font-weight: 400;
  line-height: 1;
  filter: blur(var(--brand-top-bleed-blur));
  text-shadow:
    var(--brand-top-bleed-spread) 0 0 rgba(0, 0, 0, 0.3),
    calc(var(--brand-top-bleed-spread) * -1) 0 0 rgba(0, 0, 0, 0.24),
    0 var(--brand-top-bleed-spread) 0 rgba(0, 0, 0, 0.26),
    0 calc(var(--brand-top-bleed-spread) * -1) 0 rgba(0, 0, 0, 0.2);
  transform: scaleY(var(--brand-top-text-y-effective));
  transform-origin: left bottom;
  white-space: nowrap;
}

.brand-wordmark,
.brand-wordmark-bottom {
  white-space: nowrap;
}

.brand-hyphen {
  display: inline-block;
  margin-inline: var(--brand-hyphen-gap);
}

.rule {
  position: absolute;
  left: 74pt;
  width: 454pt;
  height: 0.95pt;
  background: #000;
  filter: blur(var(--bleed-blur));
  box-shadow:
    var(--bleed-spread) 0 0 rgba(0, 0, 0, 0.28),
    calc(var(--bleed-spread) * -1) 0 0 rgba(0, 0, 0, 0.24),
    0 var(--bleed-spread) 0 rgba(0, 0, 0, 0.24),
    0 calc(var(--bleed-spread) * -1) 0 rgba(0, 0, 0, 0.2);
}

.rule-next-top {
  top: 272pt;
}

.rule-next-bottom {
  top: 306pt;
  height: 0.95pt;
}

.rule-footer {
  top: 635pt;
}

.txt {
  position: absolute;
  left: var(--x);
  top: var(--y);
  width: var(--w);
  min-height: calc(var(--fs) * 1.18);
  overflow: visible;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #000;
  font-family: var(--font);
  font-size: var(--fs);
  line-height: 1.05;
  -webkit-text-stroke: var(--text-stroke) currentColor;
  paint-order: stroke fill;
  filter: blur(var(--bleed-blur));
  text-shadow:
    var(--bleed-spread) 0 0 rgba(0, 0, 0, 0.35),
    calc(var(--bleed-spread) * -1) 0 0 rgba(0, 0, 0, 0.28),
    0 var(--bleed-spread) 0 rgba(0, 0, 0, 0.32),
    0 calc(var(--bleed-spread) * -1) 0 rgba(0, 0, 0, 0.22);
  transform: scale(var(--text-x-scale), var(--text-y-effective));
  transform-origin: left bottom;
  white-space: nowrap;
  outline-offset: 1pt;
}

.bold {
  font-weight: 700;
  letter-spacing: var(--bold-letter-spacing);
}

.regular {
  font-weight: 400;
  letter-spacing: var(--regular-letter-spacing);
}

.marked-row {
  font-size: 12.8px;
  min-height: calc(12.8px * 1.18);
}

.txt.line-gap {
  transform: translateY(calc(var(--line-index) * var(--row-spacing-adjust))) scale(var(--text-x-scale), var(--text-y-effective));
}

.check-hit.line-gap {
  transform: translateY(calc(var(--line-index) * var(--row-spacing-adjust)));
}

.rule.line-gap {
  transform: translateY(calc(var(--line-index) * var(--row-spacing-adjust)));
}

.subtle {
  -webkit-text-stroke: calc(var(--text-stroke) * 0.35) currentColor;
}

.serif {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
}

.brand-wordmark-bottom {
  --text-y-effective: var(--brand-bottom-text-y-effective);
  filter: blur(var(--brand-bottom-bleed-blur));
  text-shadow:
    var(--brand-bottom-bleed-spread) 0 0 rgba(0, 0, 0, 0.35),
    calc(var(--brand-bottom-bleed-spread) * -1) 0 0 rgba(0, 0, 0, 0.28),
    0 var(--brand-bottom-bleed-spread) 0 rgba(0, 0, 0, 0.32),
    0 calc(var(--brand-bottom-bleed-spread) * -1) 0 rgba(0, 0, 0, 0.22);
}

.small-note {
  line-height: 1.15;
  white-space: normal;
}

.two-line {
  line-height: 1.15;
  white-space: normal;
}

.txt:focus-visible {
  outline: 1.5pt solid #2962ff;
  background: rgba(255, 255, 255, 0.9);
  z-index: 2;
}

.check-hit {
  display: block;
  position: absolute;
  width: var(--check-size);
  height: var(--check-size);
  margin: 0;
  padding: 0;
  border: var(--check-border) solid #000;
  border-radius: 0;
  background: #fff;
  appearance: none;
  -webkit-appearance: none;
  color: #000;
  cursor: pointer;
  filter: none;
  box-shadow: none;
  line-height: 0;
}

.check-hit::after {
  content: "";
  position: absolute;
  display: none;
  left: 51%;
  top: 40%;
  width: 7px;
  height: 9px;
  border: solid #000;
  border-width: 0 var(--check-stroke) var(--check-stroke) 0;
  background: transparent;
  transform: translate(-50%, -50%) rotate(47deg);
  transform-origin: center;
}

.check-hit.is-checked::after {
  display: block;
}

.check-hit:focus-visible {
  outline: 1.5pt solid #2962ff;
  outline-offset: 1pt;
}

.chk-plus {
  left: 636px;
  top: 536px;
}

.chk-service {
  left: 636px;
  top: 578px;
}

.chk-mobilo {
  left: 636px;
  top: 650px;
}

.chk-rust {
  left: 636px;
  top: 674px;
}

.chk-kept {
  left: 636px;
  top: 745px;
}

.chk-done {
  left: 636px;
  top: 816px;
}

@media screen {
  .txt:hover {
    box-shadow: inset 0 0 0 1px rgba(41, 98, 255, 0.16);
  }
}

@media print {
  @page {
    size: A4;
    margin: 0;
  }

  body {
    background: #fff;
  }

  .no-print {
    display: none !important;
  }

  .sheet {
    width: var(--page-w);
    margin: 0 auto;
  }

  .page {
    width: var(--page-w);
    height: var(--page-h);
  }

  .rule {
    filter: none !important;
    box-shadow: none !important;
    background: #000 !important;
    z-index: 3;
  }

  .txt:focus-visible,
  .check-hit:focus-visible {
    outline: none !important;
    background: transparent !important;
  }

  html {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
}
