/* Базовые правила и утилиты. Классы бренда — с префиксом ak-. */
* { box-sizing: border-box }
html { font-size: 100% }
html[data-font="l"] { font-size: 115% }
html[data-font="xl"] { font-size: 130% }
body { margin: 0; background: var(--ak-bg); color: var(--ak-ink); font-family: var(--ak-font-text); font-size: var(--ak-fs-body); line-height: var(--ak-lh); -webkit-font-smoothing: antialiased }
a { color: var(--ak-link) }
a:hover { opacity: 0.85 }
:focus-visible { outline: var(--ak-focus-w) solid var(--ak-mint); outline-offset: 2px; border-radius: 4px }
h1, h2, h3 { font-family: var(--ak-font-display); font-weight: var(--ak-w-display); letter-spacing: var(--ak-ls-display); margin: 0 }
code, kbd, samp, pre { font-family: var(--ak-font-mono) }

/* skip-link «К содержимому» — первая ссылка в DOM */
.ak-skip { position: absolute; left: -999px; top: 8px; z-index: 200; background: var(--ak-mint); color: var(--ak-on-mint); padding: 0.6rem 1rem; border-radius: var(--ak-r-term); font: var(--ak-w-strong) 0.85rem var(--ak-font-text); text-decoration: none }
.ak-skip:focus { left: 8px }

/* фоны */
.ak-pat-grid { background-image: var(--ak-pat-grid) }
.ak-pat-confetti { background: var(--ak-pat-confetti); background-color: var(--ak-bg) }
.ak-pat-dots { background: var(--ak-pat-dots); background-color: var(--ak-tile) }

/* оверлайн и подпись-пасхалка */
.ak-over { font: 600 var(--ak-fs-over) var(--ak-font-mono); letter-spacing: var(--ak-ls-over); text-transform: uppercase; color: var(--ak-mint); margin: 0 }
.ak-motto { font: 600 0.625rem var(--ak-font-mono); letter-spacing: var(--ak-ls-over); text-transform: uppercase; color: var(--ak-sub) }

/* наклейки */
.ak-sticker-shadow { filter: drop-shadow(0 18px 40px rgba(0, 0, 0, 0.3)) }
.ak-tilt-a { transform: rotate(var(--ak-tilt-a)) }
.ak-tilt-b { transform: rotate(var(--ak-tilt-b)) }

@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition: none !important }
}
