/* tokens.css — Originate design-tokenek (BUILD-SPEC 2. pont, kötelező nevek) */
@font-face{font-family:"Manrope";font-style:normal;font-weight:200 800;font-display:swap;src:url(/assets/fonts/manrope-var-latin-ext.woff2) format("woff2-variations"),url(/assets/fonts/manrope-var-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Manrope";font-style:normal;font-weight:200 800;font-display:swap;src:url(/assets/fonts/manrope-var-latin.woff2) format("woff2-variations"),url(/assets/fonts/manrope-var-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* QA: statikus tartalék (500 + 700) olyan motorra, amely a változó tengelyt nem alkalmazza (pl. Windowsos WebKit: a var-font alap-példánya 200 = vékony). A head inline szkriptje jelöli (navigator.platform=Win* + AppleWebKit, nem Chromium; a Playwright-WebKit Mac-UA-t hazudik: html.no-varfont), és ekkor ez a család lép be; a canvas/DOM-szélesség itt nem árulkodik, mert a WinCairo a léptetést helyesen, a körvonalat 200-on rajzolja. */
@font-face{font-family:"Manrope Static";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/manrope-500-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Manrope Static";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/manrope-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Manrope Static";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/manrope-700-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Manrope Static";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/manrope-700-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/plex-mono-400-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/plex-mono-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/plex-mono-500-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/plex-mono-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* Körvonalas nagy számok (-webkit-text-stroke): statikus 800-as, átfedésmentes példány, csak 0-9 és ?. A változó font 2/3/5 glifje önmagát metsző kontúr, amit a stroke belső vonalként rajzol ki. Forrás: tools/build-outline-font.py */
@font-face{font-family:"Manrope Outline";font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/manrope-800-outline.woff2) format("woff2");unicode-range:U+0030-0039,U+003F}
/* Méretre hangolt tartalék, hogy a fontcsere ne csússzon (MOTION 7.2) */
@font-face{font-family:"Manrope Fallback";src:local("Arial"),local("Helvetica Neue"),local("Helvetica");size-adjust:104%;ascent-override:102%;descent-override:29%;line-gap-override:0%}

:root{
  /* szín (kötelező nevek) */
  --c-cobalt:#2F4BFF; --c-lime:#C6FF3A; --c-ink:#0B1033; --c-fog:#F4F5FA;
  --c-ink-2:#262C52; --c-ink-3:#6E7494; --c-line:#D5D9EC; --c-fog-2:#E8EAF4;
  --c-text-2-light:#4A5070; --c-text-2-dark:#A9B0D6;
  --c-ok:#0B7F44; --c-warn:#A15C00; --c-err:#C8231B;
  /* származtatott */
  --c-ink-0:#070A24;            /* mélyebb éjtinta: lábléc, betöltő */
  --c-cobalt-2:#2440E8;         /* kobalt hover */
  --c-cobalt-3:#1B2FB8;         /* kobalt-felületen sötétebb kártya */
  --c-line-dark:rgba(169,176,214,.16);
  --c-line-cobalt:rgba(244,245,250,.22);

  /* betű */
  --f-sans:"Manrope","Manrope Fallback",system-ui,sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,"Cascadia Mono",Consolas,monospace;

  /* easing (kötelező nevek) + MOTION 2.1 */
  --ease-jel:cubic-bezier(.16,1,.3,1);
  --ease-huzat:cubic-bezier(.65,0,.35,1);
  --ease-kattanas:cubic-bezier(.34,1.56,.64,1);

  /* időtartam (kötelező nevek) */
  --t-1:120ms; --t-2:240ms; --t-3:420ms; --t-4:720ms; --t-5:1200ms;
  /* MOTION 2.2 szemantikus álnevek */
  --t-micro:120ms; --t-hover:220ms; --t-state:320ms; --t-enter:640ms; --t-scene:960ms; --t-intro:1200ms;

  /* tipó-skála (fluid, 360 → 1600 px) */
  --fs-mono:clamp(.6875rem,.66rem + .12vw,.78rem);
  --fs-small:clamp(.8125rem,.79rem + .1vw,.875rem);
  --fs-body:clamp(1rem,.96rem + .2vw,1.125rem);
  --fs-lead:clamp(1.125rem,1.02rem + .45vw,1.4rem);
  --fs-big:clamp(1.375rem,1.1rem + 1.1vw,2.125rem);
  --fs-h3:clamp(1.25rem,1.12rem + .55vw,1.6rem);
  /* viewport-fit: a nagy címek a képernyő MAGASSÁGÁHOZ is igazodnak (valós böngészőablak: 1440×730, 1280×650) */
  --fs-h2:min(clamp(1.9rem,1.1rem + 3.6vw,4.6rem),9.5svh);
  --fs-h1:min(clamp(2.1rem,.5rem + 7vw,7.6rem),12svh);
  --fs-giant:min(clamp(4rem,-.5rem + 17vw,19rem),34svh);

  /* elrendezés */
  --gutter:clamp(16px,3.2vw,48px);
  --maxw:1440px;
  --col-gap:clamp(16px,2vw,32px);
  --header-h:88px;
  --header-h-small:64px;
  --radius:6px;
  --radius-lg:14px;
  --sec-pad:clamp(48px,min(6vw,11svh),96px);

  /* felület (data-surface írja felül) */
  --bg:var(--c-ink); --fg:var(--c-fog); --fg-2:var(--c-text-2-dark); --line:var(--c-line-dark);
  --accent:var(--c-lime); --accent-ink:var(--c-ink); --signal:var(--c-lime);
}

/* alacsony asztali ablak / telefon: keskenyebb fejléc (minden fejléc-függő eltolás ezt a változót használja) */
@media (min-width:900px) and (max-height:760px){:root{--header-h:72px;--header-h-small:60px}}
@media (max-width:599px){:root{--header-h:68px;--header-h-small:60px}}

/* generált: Bayer-maszkok (oldalváltás, dither-él) */
:root{
  --bayer-0:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' shape-rendering='crispEdges'%3E%3Cpath d='M0 0h4v4h-4zM4 0h4v4h-4zM8 0h4v4h-4zM12 0h4v4h-4zM0 4h4v4h-4zM4 4h4v4h-4zM8 4h4v4h-4zM12 4h4v4h-4zM0 8h4v4h-4zM4 8h4v4h-4zM8 8h4v4h-4zM12 8h4v4h-4zM0 12h4v4h-4zM4 12h4v4h-4zM8 12h4v4h-4zM12 12h4v4h-4z'/%3E%3C/svg%3E");
  --bayer-1:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' shape-rendering='crispEdges'%3E%3Cpath d='M4 0h4v4h-4zM8 0h4v4h-4zM12 0h4v4h-4zM0 4h4v4h-4zM4 4h4v4h-4zM8 4h4v4h-4zM12 4h4v4h-4zM0 8h4v4h-4zM4 8h4v4h-4zM12 8h4v4h-4zM0 12h4v4h-4zM4 12h4v4h-4zM8 12h4v4h-4zM12 12h4v4h-4z'/%3E%3C/svg%3E");
  --bayer-2:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' shape-rendering='crispEdges'%3E%3Cpath d='M4 0h4v4h-4zM12 0h4v4h-4zM0 4h4v4h-4zM4 4h4v4h-4zM8 4h4v4h-4zM12 4h4v4h-4zM4 8h4v4h-4zM12 8h4v4h-4zM0 12h4v4h-4zM4 12h4v4h-4zM8 12h4v4h-4zM12 12h4v4h-4z'/%3E%3C/svg%3E");
  --bayer-3:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' shape-rendering='crispEdges'%3E%3Cpath d='M4 0h4v4h-4zM12 0h4v4h-4zM0 4h4v4h-4zM8 4h4v4h-4zM12 4h4v4h-4zM4 8h4v4h-4zM12 8h4v4h-4zM0 12h4v4h-4zM4 12h4v4h-4zM8 12h4v4h-4z'/%3E%3C/svg%3E");
  --bayer-4:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' shape-rendering='crispEdges'%3E%3Cpath d='M4 0h4v4h-4zM12 0h4v4h-4zM0 4h4v4h-4zM8 4h4v4h-4zM4 8h4v4h-4zM12 8h4v4h-4zM0 12h4v4h-4zM8 12h4v4h-4z'/%3E%3C/svg%3E");
  --bayer-5:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' shape-rendering='crispEdges'%3E%3Cpath d='M12 0h4v4h-4zM0 4h4v4h-4zM8 4h4v4h-4zM4 8h4v4h-4zM0 12h4v4h-4zM8 12h4v4h-4z'/%3E%3C/svg%3E");
  --bayer-6:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' shape-rendering='crispEdges'%3E%3Cpath d='M0 4h4v4h-4zM8 4h4v4h-4zM0 12h4v4h-4zM8 12h4v4h-4z'/%3E%3C/svg%3E");
  --bayer-7:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' shape-rendering='crispEdges'%3E%3Cpath d='M8 4h4v4h-4zM0 12h4v4h-4z'/%3E%3C/svg%3E");
  --bayer-8:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' shape-rendering='crispEdges'%3E%3Cpath d='M0 0'/%3E%3C/svg%3E");
  --dither-band:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' shape-rendering='crispEdges'%3E%3Cpath d='M0 0h4v4h-4zM16 0h4v4h-4zM0 8h4v4h-4zM8 8h4v4h-4zM16 8h4v4h-4zM24 8h4v4h-4zM4 12h4v4h-4zM12 12h4v4h-4zM20 12h4v4h-4zM28 12h4v4h-4zM0 16h4v4h-4zM4 16h4v4h-4zM8 16h4v4h-4zM16 16h4v4h-4zM20 16h4v4h-4zM24 16h4v4h-4zM4 20h4v4h-4zM12 20h4v4h-4zM20 20h4v4h-4zM28 20h4v4h-4zM0 24h4v4h-4zM4 24h4v4h-4zM8 24h4v4h-4zM12 24h4v4h-4zM16 24h4v4h-4zM20 24h4v4h-4zM24 24h4v4h-4zM28 24h4v4h-4zM0 28h4v4h-4zM4 28h4v4h-4zM8 28h4v4h-4zM12 28h4v4h-4zM16 28h4v4h-4zM20 28h4v4h-4zM24 28h4v4h-4zM28 28h4v4h-4z'/%3E%3C/svg%3E");
}
