/* ═══════════════════════════════════════════════════════════════════════════
   LIGHTCONE · 10 — ALAP  (reset, betű, a nagybetű-törvény, görgető, kijelölés)
   ═══════════════════════════════════════════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; padding: 0; }
/* [mega-vonat 10-03 UI-21] !important: a [hidden] attribútum a HTML szerződése — bármely recept display-e fölött nyernie kell */
[hidden] { display: none !important; }
/* [mega-vonat 10-03 UI-21] !important: a JS a .hidden-nel kapcsol láthatóságot; a képernyő-fájlok display:flex/grid horgai nem írhatják felül */
.hidden { display: none !important; }

html, body {
    height: 100%;
    background: var(--bg-deep);
    color: var(--text-base);
    font-family: var(--font-ui);
    overflow: hidden;
}
html { font-size: var(--fs-body); }
body {
    font-size: var(--fs-body);
    line-height: var(--lh);
    letter-spacing: var(--ls-body);
    text-transform: uppercase;          /* A TÖRVÉNY §1 — egyszer, itt. */
    -webkit-font-smoothing: antialiased;
}
/* a két kivétel: a Bayer görög betűje és a fénysebesség c-je — meg a beírt jelszó/e-mail */
.pn, .proper-name, .unit-c, .star-name, .feed-jump, input, textarea { text-transform: none; }
input::placeholder, textarea::placeholder { text-transform: uppercase; }

/* ── a betűkép: EGY főcím, EGY alcím, EGY törzs */
h1, h2, h3, h4, h5, h6, p, ul, ol, li, dl, dt, dd, table, figure, blockquote { font: inherit; letter-spacing: inherit; }
.title, h1, h2 { font-size: var(--fs-title); font-weight: var(--fw-bold); letter-spacing: var(--ls-title); color: var(--text-bright); line-height: 1.2; }
.sub,   h3, h4 { font-size: var(--fs-body);  font-weight: var(--fw-bold); letter-spacing: var(--ls-head);  color: var(--text-bright); line-height: 1.2; }
.muted { color: var(--text-muted); }
.dim { color: var(--text-dim); }
.bright { color: var(--text-bright); }
.amber { color: var(--amber); }
.danger { color: var(--danger); }
.num { font-variant-numeric: tabular-nums; }
.nowrap { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
small, .small { font-size: inherit; }        /* harmadik méret NINCS — a kicsi halványabb, nem kisebb */
em, i { font-style: italic; }
strong, b { font-weight: var(--fw-bold); color: var(--text-bright); }
code, kbd { font: inherit; }
ul, ol { list-style: none; }
a { color: var(--accent); text-decoration: none; }
a:hover { color: var(--accent-bright); }
hr, .hr { border: 0; border-top: var(--bw) solid var(--line); margin: var(--sec-gap) 0; }

/* ── űrlap-elemek öröklik a betűt; a receptek a 20-components-ben */
button, input, select, textarea { font: inherit; letter-spacing: inherit; color: inherit; text-transform: inherit; }
button { background: none; border: 0; cursor: pointer; }
button:disabled { cursor: default; }
:focus { outline: none; }
:focus-visible { outline: var(--bw) solid var(--accent); outline-offset: 1px; }
img, canvas, svg, video { display: block; max-width: 100%; }
/* a mobil-héj vezérlői asztalon rejtve (a 90-mobile csak ≤768-on tölt) */
.m-panel-close, .m-install-btn { display: none; }

/* ── görgető: vékony, foszfor */
* { scrollbar-width: thin; scrollbar-color: var(--g-30) transparent; }
*::-webkit-scrollbar { width: 6px; height: 6px; }
*::-webkit-scrollbar-thumb { background: var(--g-30); border-radius: 3px; }
*::-webkit-scrollbar-track { background: transparent; }
::selection { background: var(--g-30); color: var(--text-bright); }

/* [mega-vonat 10-03 UI-21] !important: a csökkentett mozgás a felhasználó rendszer-beállítása — minden recept animációja/átmenete fölött áll */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}
