/*!
MIT License
Copyright (c) 2025 12MAV
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction...
*/

@font-face{
  font-family:"VT323";
  src:url("/assets/fonts/VT323-Regular.woff2") format("woff2");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}

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

:root{ --font-size:24px; --lh:1.34; }

/* Default viewport behavior; no sticky tweaks */
html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}

/* Global typography */
body{
  margin:0;
  background:#fff;
  color:#000;
  font-family:"VT323", ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  font-size:var(--font-size);
  line-height:var(--lh);
  text-transform:uppercase;
}

.wrap{ width:min(700px, calc(100vw - 32px)); margin:0 auto; }

/* Accessibility: skip to content */
.skip-link{
  position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden;
}
.skip-link:focus{
  position:fixed; left:16px; top:16px; width:auto; height:auto;
  background:#000; color:#fff; padding:8px 12px; z-index:10000; text-transform:none;
}

/* Header moves with content */
.site-header{
  background:#fff;
  padding:16px 0;
}

/* Horizontal scrollable nav (small screens) */
.nav{
  display:flex;
  gap:32px;
  flex-wrap:nowrap;
  overflow-x:auto;               /* horizontal scroll when needed */
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
  scrollbar-width:none;          /* FF: hide bar in nav just in case */
}
.nav a{
  text-decoration:none;
  color:inherit;
  opacity:1;                     /* inactive = solid */
  outline-offset:4px;
  flex:0 0 auto;                 /* do not shrink */
}
.nav a:hover{ opacity:1; }
.nav a.active,
.nav a[aria-current="page"]{
  opacity:.3;                    /* active = dimmed */
  cursor:default;
}

/* Content & footer */
main p{ display:inline-block; max-width:100%; margin:16px 0; }

footer p{ display:inline-block; max-width:100%; margin:0; }
.site-footer{ margin-bottom:0; padding:16px 0; }

/* Visible keyboard focus */
:focus-visible{ outline:2px dashed #000; outline-offset:4px; }

/* Plain-looking actionable links (e.g., mailto/tel) */
.link-plain{ color:inherit; text-decoration:none; cursor:pointer; }
.link-plain:focus-visible{ text-decoration:underline; }

/* Utility: visually hidden */
.visually-hidden{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
  clip:rect(0 0 0 0); white-space:nowrap; border:0;
}

/* ===== Hide all scrollbars globally but keep scrolling ===== */
/* Firefox */
* { scrollbar-width: none; }
/* WebKit/Blink (Chrome/Safari/Edge) */
*::-webkit-scrollbar{ width:0; height:0; }
/* Legacy IE/Edge */
html { -ms-overflow-style: none; }

/* Do not let the engine synthesize fake bold/italic for single-weight fonts */
html { font-synthesis: none; font-synthesis-weight: none; font-synthesis-style: none; }

/* Subtle embolden on iOS Safari only (mobile WebKit). Keeps desktop/macOS как есть */
@supports (-webkit-touch-callout: none) {
  @media (pointer: coarse) {
    /* 0.25px обычно хватает; если хочется ещё ближе к macOS — попробуй 0.3px */
    body { -webkit-text-stroke: 0.25px; }
  }
}