# PromptEye Brand Book & Design Language · pełna dokumentacja (PL)
Stan 28.10.2026. Indeks: https://brand.prompteye.com/llms.txt. Ścieżki plików są względne wobec https://brand.prompteye.com/ds/. Poza Claude Design zamiast `_ds_bundle.js` wczytaj `styles.css` i skrypty `js/pe-light.js`, `js/pe-pl.js`, `js/pe-raster.js`, `js/pe-motyw.js` (w tej kolejności).
---
# 00 · Start: jak korzystać z systemu
PromptEye · identyfikacja v2 (MVP) · stan 28.10.2026. Ten folder opisuje system dla agenta AI i dla dewelopera. Opis dla ludzi (brand book) powstaje osobno i może się na nim opierać.
## Zasada
System to **klocki**, a nie zestaw gotowych formatów. Każdy materiał (strona, raport, slajd, post, baner, ulotka) składasz z tych samych klocków:
1. **Tło** – gradient z ziarnem albo jednolite tło z siatką kropek (`tla.md`).
2. **Motyw** – obiekt z kropek wyłaniający się z pola, z jednym pomarańczowym punktem (`motyw.md`). Rysuje go skrypt, nigdy Ty.
3. **Typografia** – Geist i Inter, skala liczona od kadru (`typografia.md`, `uklad.md`).
4. **Kolor** – tokeny z `tokens/colors.css` (`kolor.md`).
5. **Komponenty** – przyciski, nawigacja, sekcje (`komponenty.md`), dane (`dane.md`), raport (`raporty.md`, wstępne wytyczne).
Najpierw digital: strona www, raporty interaktywne, prezentacje, social media. Druk składa się z tych samych klocków.
## Ładowanie
```html
```
`styles.css` importuje fonty, tokeny i `css/*.css`. Cztery skrypty rysują tła i motyw; wczytuj je w tej kolejności. W Claude Design zamiast nich jest jeden plik `_ds_bundle.js` (zawiera też `image-slot.js` i komponent Logo); poza Claude Design go nie ma. Szczegóły dla projektu w kodzie: `HANDOFF.md`.
## Kolejność czytania
1. `docs/00-start.md` (ten plik)
2. `docs/formaty.md` – co budujesz → z jakich klocków, gotowe szkielety HTML
3. Plik klocka, którego używasz
4. `docs/kontrola.md` – lista kontrolna przed oddaniem
## Co jest nadrzędne
1. `docs/` i `readme.md`, potem `guidelines/motyw.html` i `guidelines/uklad.html`. Przy sprzeczności wygrywają.
2. `guidelines/kolor.html`, `typografia.html`, `dane.html`, `partner.html`, `tla.html`, `kanaly.html`: wzory w swoim zakresie. Hero pokazane w `tla.html` (siatka kropek na gradiencie, tekst na środku) jest sprzed motywu. Hero bierzesz z `motyw.html` i `uklad.html`.
3. `js/pe-motyw.js`: jedyne miejsce ustawień motywu. Zmiany motywu tylko tam.
4. **Nie są częścią systemu:** `archive/`, `explorations/`, `scraps/`, `uploads/`. Nie czytaj, nie kopiuj.
## Pliki
| Plik | Zawartość |
|---|---|
| `tokens/colors.css` | kolory (tokeny `--pe-*`) |
| `tokens/typography.css` | kroje i skala pisma |
| `tokens/layout.css` | margines, kolumny, odstępy, rama, promień |
| `tokens.json` | te same tokeny w formacie maszynowym |
| `css/base.css` | ramy, kropka po tytule, nawigacja raportu |
| `css/typografia.css` | artykuł, figury, tabele, FAQ, stopka, kanały |
| `css/dane.css` | tabele złożone, wykresy |
| `css/partner.css` | raporty z partnerem |
| `css/przyciski.css` | przyciski, sekcje strony |
| `css/strony.css` | hero D/F/G/E, CTA, komentarze, rycina |
| `js/pe-light.js` | renderer tła (gradienty, ziarno, siatka kropek) |
| `js/pe-pl.js`, `js/pe-raster.js` | mapa Polski, raster punktowy |
| `js/pe-motyw.js` | motyw MVP, włączany atrybutem |
| `assets/` | logo (`assets/logo/`), ikony modeli AI do danych (`assets/llm/sprite.svg`) |
| `templates/` | szablony stron (DC): okładka i rozdział raportu, hero, artykuł |
## Test dokumentacji
`explorations/test-z-dokumentacji.html`: siedem kadrów złożonych wyłącznie ze szkieletów w `formaty.md` (slajd D, slajd treści z siatką, post G, post F bez ramy, OG, ostatni slajd CTA, slajd F w pudełku). Wynik zgodny z zasadami. W zwykłej karcie motyw startuje sam; w ukrytym podglądzie trzeba wywołać `PEmotyw.init(document)`.
## Statusy
- **MVP, obowiązuje:** wszystko w `docs/`, o ile nie jest oznaczone inaczej.
- **Wstępne wytyczne:** `raporty.md` (anatomia raportu). Przepiszemy go po pierwszym pełnym raporcie; zanim złożysz według niego cały raport, zapytaj.
- **Do rozwoju przy stronie www:** wersje mobilne, strona główna, animacja w pętli, obiekty inne niż mapa Polski, komponenty React poza Logo. Nie używaj bez pytania.
---
# Formaty: co budujesz → z jakich klocków
Wartości (margines, pismo, logo) z tabeli w `uklad.md`. Kod szkieletów zakłada wczytane `styles.css` i cztery skrypty z `js/` (`00-start.md`; w Claude Design `_ds_bundle.js`). Ścieżki do `assets/` dopasuj do projektu.
## Decyzja w trzech pytaniach
1. **Czy kadr ma obiekt motywu?** Okładka, hero, slajd tytułowy, post z hasłem, CTA → tak (`data-pe-hero` / `data-pe-cta`). Slajd treści, post z cytatem lub liczbą, wizytówka → nie (siatka kropek albo samo tło, `tla.md`). Dane → rycina liniowa albo wykres (`dane.md`).
2. **Ciemne czy jasne?** Domyślnie ciemne D. Okładka i social z tekstem na dole → G. Jasne → F (rama: `uklad.md`).
3. **Gdzie stoi tekst?** Po lewej albo u góry → D/F/E. Na dole → G. Kolumnę oznacz `data-pe-tekst`.
## Hero www i artykuł
Gotowe: `templates/hero-raportu`, `templates/artykul`. Struktura: `komponenty.md` (Hero).
## Slajd tytułowy 1920 × 1080 (D)
```html
Raport · Turystyka
Dokąd AI wysyła Polaków nad morze?
12 000 odpowiedzi siedmiu modeli AI.
```
Jasny slajd: `class="ah ahl cx-l" data-pe-hero="f" data-pe-rama="pudelko" style="…;--pe-rama:64px"`, logo w kolorze, logo i tekst od 128 px (rama + margines).
## Slajd treści 1920 × 1080 (bez motywu)
```html
Nad morzem AI poleca trzy marki
```
`data-dm` wycina kropki spod tekstu. Tytuł z kropką, bo to hasło (`typografia.md`); tytuł-etykieta, np. „Trzy wnioski z raportu”, byłby bez kropki.
## Post 1080 × 1350
**Tekst u góry (D):**
```html
Dokąd AI wysyła Polaków nad morze?
12 000 odpowiedzi siedmiu modeli AI.
```
**Tekst na dole (G):** `class="ah dk gt" data-pe-hero="g"`, `.ah-in` z `left:72px;bottom:152px;top:auto;width:936px`, logo w `left:72px;bottom:72px`.
**Jasny (F, bez ramy):** `class="ah ahl cx-l" data-pe-hero="f" data-pe-rama="brak"`, logo w kolorze.
Post 1080 × 1080: to samo, H1 64.
## OG 1200 × 630
```html
Dokąd AI wysyła Polaków nad morze?
```
Eksport do PNG: dodaj `data-pe-static`, poczekaj na `await PEmotyw.ready`.
## Okładka LinkedIn 1584 × 396
```html
Zobacz, jak AI poleca Twoją markę
```
Bez logo w kadrze. Tekst od 400 px (zdjęcie profilu).
## CTA (strona, ostatni slajd)
`komponenty.md` (CTA). Ostatni slajd 1920 × 1080: `section.t2end[data-pe-cta="raster"]` z `height:1080px`, `.t2end-in` z `padding:0 96px`, `h2` z `data-pe-tekst`.
## Druk
- **Ulotka, oferta A4:** jasne F w pudełku (`data-pe-rama="pudelko"`) albo biel z tekstem. A4: tekst 11 pt, marginesy 20 mm, jeden pomarańcz. Zawsze `data-pe-static`.
- **Roll-up 85 × 200 cm:** D, tekst u góry (`data-pe-tekst="gora"`), treść od 30 do 140 cm licząc od góry, dolne 60 cm tylko tło.
- **Wizytówka 85 × 55 mm:** awers = siatka kropek na czerni z logo, rewers = biel z danymi. Nazwisko Geist 500 10 pt, reszta Inter 7 pt.
- Wzory: `guidelines/kanaly.html` (D1–D3).
## E-mail
Arial (Geist i Inter nie działają w klientach poczty), 13–15 px, logo jako obraz. Wzór: `guidelines/kanaly.html` (D6).
---
# Marka: idea, komunikacja, metoda
**Status: obowiązuje (27.10.2026).** Na tej idei budujemy całą komunikację PromptEye: stronę, use case'y, case studies i motyw wizualny. Zmiany przychodzą od zespołu.
## Idea
**AI poleca Twoją markę w pytaniach, które przynoszą klientów.**
- **„Poleca”, a nie „widać”.** Widoczność to słowo kategorii, używa go każdy konkurent. Klientowi zależy na tym, żeby AI wskazało jego markę, kiedy ktoś pyta, co kupić albo kogo wybrać. AI staje się dziś najważniejszym polecającym.
- **„W pytaniach, które przynoszą klientów”, a nie „wszędzie”.** To odróżnia nas od narzędzi, które pokazują ogólny wynik widoczności. Bycie w odpowiedzi na pytanie, które nic nie sprzedaje, nic nie znaczy.
Polecanie przez AI tam, gdzie ma to sens, buduje świadomość marki, a w efekcie przynosi klientów. Nie dla każdego klienta rezultat wygląda tak samo, dlatego idea łączy się z use case'ami.
Ta sama idea jest hasłem motywu graficznego: pole kropek to rynek pytań, obiekt wyłaniający się światłem to pytania, które przynoszą klientów, pomarańczowy punkt to marka polecona przez AI (`motyw.md`).
## Dlaczego na tym budujemy
W dobie AI funkcje da się zbudować albo skopiować w tydzień. Komunikacja oparta na funkcjach starzeje się razem z nimi. Idea ma być prawdziwa dziś, za pół roku i za rok.
Nie da się skopiować trzech rzeczy (wyróżniki):
1. **Efektu.** „AI poleca Twoją markę” jest aktualne niezależnie od tego, jakie modele i funkcje będą za rok.
2. **Ludzi i ich historii.** Lata w SEO, exity, GEO robione dla klientów agencyjnie, zanim powstało narzędzie.
3. **Danych zbieranych w czasie.** Pomiary całych branż, raporty, Atlas, historia odpowiedzi modeli. Konkurent skopiuje funkcję, ale nie zmierzy wstecz, jak AI mówiło o rynku pół roku temu. Ta przewaga rośnie z każdym miesiącem.
## Kolejność w komunikacji
Od najtrwalszego do najszybciej zmiennego:
1. Efekt (stały).
2. Dlaczego u nas to działa: metoda, ludzie, dane (stałe).
3. Use case'y (zmieniają się powoli).
4. Funkcje (zmieniają się co tydzień). Pokazujemy je tylko jako dowód, że metodę da się wykonać, nigdy jako główny przekaz.
## Use case'y: formy jednego efektu
Z PromptEye korzystają różne persony i pracują z nami przez use case'y, czyli konkretne scenariusze użycia. Każdy use case opisujemy jako odmianę tego samego efektu, więc komunikacja zostaje spójna, choć cele są różne.
| Persona chce… | Efekt w języku idei |
|---|---|
| Pozyskać klientów | AI poleca markę w pytaniach zakupowych |
| Wpłynąć na postrzeganie marki | AI opisuje markę tak, jak ona chce być widziana |
| Publikować dużo dobrych artykułów pod SEO/GEO | Treści są cytowane przez AI w ważnych pytaniach |
To początek listy, use case'ów jest więcej. **Use case opisujesz przez efekt, nie przez czynność.** „Publikacja artykułów” to czynność, w której ścigamy się z każdym generatorem treści. „Treści cytowane przez AI” to efekt, który trzyma nas w naszej kategorii. Nowych use case'ów nie dopisuj bez zespołu.
## Metoda w trzech krokach
Każdy use case odpowiada na dwa pytania klienta: skąd wiemy, że AI poleci markę, i skąd wiemy, że akurat w tych pytaniach są klienci. Odpowiada na nie jedna metoda, wspólna dla wszystkich use case'ów:
1. **Wybieramy pytania, które przynoszą klientów.** Wiemy które, bo stoi za tym doświadczenie z SEO (intencja zakupowa) i dane z pomiarów całych branż.
W praktyce: dobór pytań i grupowanie ich w tematy i intencje, ocena jakości zestawu pytań, priorytety biznesowe, sugestie, które pytania dodać, usunąć lub zamienić.
2. **Zmieniamy to, co decyduje o odpowiedzi AI:** treści, źródła i publikacje, w jednym miejscu. Zakup linków i publikacji bezpośrednio w systemie to droga do celu, a nie wyróżnik sam w sobie.
W praktyce: rekomendacje oparte na monitoringu, ruchu botów AI i analizie technicznej strony; luki w treściach na tle konkurencji; tworzenie i optymalizacja treści; zakup linków i publikacji w systemie.
3. **Sprawdzamy, czy AI zaczęło polecać i czy przyszli klienci.**
W praktyce: monitoring odpowiedzi modeli AI (udział w rekomendacjach i pozycja na tle konkurencji, sposób opisu marki, źródła i cytowania), ruch z AI na stronie klienta, zmiana widoczności po opublikowanych treściach.
Te same elementy występują w ofercie jako warstwy: monitoring to kroki 1 i 3, zarządzanie widocznością to krok 2. **W komunikacji używasz kroków metody**, warstwy zostają w ofercie i cenniku. Aplikacja w ChatGPT to osobny produkt dla enterprise, poza podstawową ofertą i poza metodą.
Metoda nie ma jeszcze nazwy. **Nie wymyślaj jej.** Opisuj ją trzema krokami.
## Zespół i granica obietnic
Sama narracja „mamy doświadczony zespół” jest słaba, bo mówi tak każdy start-up. Działa dopiero wtedy, gdy zespół stoi za metodą, a case'y pokazują, że metoda daje ten sam wynik w różnych sytuacjach.
Na pytanie „skąd wiemy, że w tych pytaniach są klienci” odpowiadamy dziś doświadczeniem. Pełna odpowiedź z danych wymaga pomiaru ruchu z AI i konwersji u klienta. Dopóki go nie mamy, w obietnicach dotyczących klientów i konwersji mówimy „pomagamy”, a nie „robimy”.
## Case study: stały szablon
Każde case study ma tę samą budowę. Powtarzalność widać wtedy, gdy sekcja „dlaczego zadziałało” za każdym razem wraca do tych samych trzech kroków metody.
1. Kto i jaki scenariusz.
2. Punkt wyjścia: pomiar z narzędzia.
3. Co zrobiliśmy: trzy kroki metody.
4. Rezultat: liczby z narzędzia, a gdzie się da, ruch lub klienci.
5. Dlaczego zadziałało: te same trzy powody.
Tylko potwierdzone case studies. Tam, gdzie nie ma jeszcze klienta dla danego use case'u, są dwa uczciwe zastępstwa: case z czasów agencyjnego GEO albo PromptEye jako własny case (SEO/GEO na nowej stronie).
## Słownictwo: reguły
- **Tak:** poleca, polecenie, rekomendacja AI, pytania, które przynoszą klientów, efekt, metoda, pomiar.
- **Ostrożnie:** „widoczność” tylko jako nazwa miary w danych („widoczność w modelu, %”), nie jako obietnica.
- **„Pomagamy”, a nie „robimy”** w obietnicach dotyczących klientów i konwersji (sekcja „Zespół i granica obietnic”).
- **„Mamy doświadczony zespół”** samo w sobie nie jest argumentem. Zespół zawsze stoi za metodą i case'ami.
- **Funkcje** tylko jako dowód, że metodę da się wykonać, nigdy jako główny przekaz.
- **Liczby:** tylko potwierdzone. Nie używaj „93 na 100 treści podnosi widoczność w pierwszym miesiącu”, dopóki nie zostanie potwierdzona.
- Polskie zasady pisowni i typografii: `typografia.md` (P1).
---
# Logo
## Pliki
Pakiet logo: SVG (podstawowy) w `assets/logo/svg/`, PNG w `assets/logo/png/` (szerokość w nazwie pliku, przezroczyste tło).
| Plik (`assets/logo/svg/`) | Kiedy |
|---|---|
| `prompteye-logo-color-on-light.svg` | logo w kolorze: biel i jasne tła (panel, jasne F), dokumenty |
| `prompteye-logo-color-on-dark.svg` | logo w kolorze na ciemne tło: czerń, gradient, zdjęcie; domyślne w hero D, G, E |
| `prompteye-logo-black.svg` | jednobarwne czarne: druk jednobarwny, grawer, pieczęcie |
| `prompteye-logo-white.svg` | jednobarwne białe: ciemne tło, na którym pomarańcz koliduje z tłem |
| `prompteye-mark-color.svg`, `prompteye-mark-black.svg`, `prompteye-mark-white.svg` | sam sygnet: avatar, favicon, bardzo małe pola |
Starsze pliki w `assets/` zostają dla szablonów: `assets/prompteye-logo.svg` to `color-on-light`, a `assets/prompteye-logo-white.svg` to `color-on-dark` (znak pomarańczowy, napis biały), **nie** wersja jednobarwna z pakietu o tej samej nazwie. W nowych materiałach używaj pakietu.
W Claude Design jest też komponent React `Logo` z paczki (`window..Logo`, `variant="color"|"white"`, `height`). Poza Claude Design go nie ma.
## Zasady
- Minimalna wysokość 14 px (digital).
- Pole ochronne = wysokość znaku z każdej strony.
- Wysokość według formatu (`uklad.md`): www 22, slajd 28, post 32, OG 28 px.
- Miejsce: lewy górny róg, na marginesie formatu. Wyjątek: wariant G (tekst na dole) – logo pod tekstem, w lewym dolnym rogu.
- Figura w tekście (tabela, wykres w artykule): logo w prawym górnym rogu figury. Grafika do udostępnienia: lewy górny róg.
- Okładka LinkedIn: bez logo w kadrze, lewy dolny róg zasłania zdjęcie profilu.
- Raport z partnerem: zapis „PromptEye × Partner”, nasz znak pierwszy (`dane.md`, sekcja Partner).
## Zakazy
Przebarwianie, rozciąganie, cienie, obroty, obrys, logo na najjaśniejszym miejscu gradientu, logo jako element motywu.
---
# Kolor
Źródło: `tokens/colors.css` (wszystkie kolory w `css/` odwołują się do tych tokenów). Wersja maszynowa: `tokens.json`. Nie wymyślaj nowych kolorów.
## Marka
| Token | Wartość | Rola |
|---|---|---|
| `--pe-kobalt` / `--pe-kobalt-500` | #4D6BFE | kolor marki: powierzchnie, dane, przyciski na czerni |
| `--pe-pomarancz` | #FD723A | punkt: kropka po tytule, lider w danych, punkt motywu, logo. Nigdy tekst ani tło |
| `--pe-pomarancz-hover` | #FF8C5E | tylko hover przycisku `b1a` |
## Kobalt, jedna skala
| Token | Wartość | Rola |
|---|---|---|
| `--pe-kobalt-900` | #0A1256 | głębia gradientu, tło karty w kobalcie |
| `--pe-kobalt-700` | #1E30BE | przejście w gradiencie, nie jako płaski kolor |
| `--pe-kobalt-650` | #2A44D4 | hover linku na bieli |
| `--pe-kobalt-600` | #3D5AF1 | tekst i linki na bieli, fokus, pierwsza seria danych na bieli (5,4 : 1) |
| `--pe-kobalt-300` | #7D93FF | tekst, liczby, linki i dane na czerni (7,5 : 1) |
| `--pe-kobalt-200` | #9DAEFF | słupki i serie danych na bieli |
| `--pe-kobalt-100` | #C7D1FF | słupki drugoplanowe, zaznaczenia |
| `--pe-kobalt-50` | #E4E9FF | tło wyróżnionej karty na bieli |
## Neutralne
| Noc (czerń) | Wartość | Dzień (biel) | Wartość |
|---|---|---|---|
| `--pe-noc-tlo` / `--pe-czern` | #000000 | `--pe-dzien-tlo` / `--pe-biel` | #FFFFFF |
| `--pe-noc-powierzchnia` | #0C0D10 | `--pe-dzien-panel` | #F5F6F8 |
| `--pe-noc-linia` | biel 12 % | `--pe-dzien-linia` | #E6E7EB |
| `--pe-noc-linia-2` | #22252C | `--pe-dzien-linia-2` | #F0F1F3 |
| `--pe-noc-podpis` | #7A7E87 (min. dla tekstu) | `--pe-dzien-podpis` | #6B6F78 (min. dla tekstu) |
| `--pe-noc-sciezka` | #8A8E97 | `--pe-dzien-tekst-2` | #555962 |
| `--pe-noc-nawigacja` | #9A9EA7 | `--pe-dzien-hover` | #E2E4E9 |
| `--pe-noc-tekst` | #A3A7B0 | `--pe-dzien-tekst` | #464A53 |
| `--pe-noc-tekst-dlugi` | #B9BDC5 (długi tekst) | | |
| `--pe-noc-tekst-2` | #C9CCD3 | | |
| `--pe-noc-naglowek` / `--pe-papier` | #F7F8FA | `--pe-dzien-naglowek` / `--pe-atrament` | #0B0D12 |
Na czerni: lead i krótki tekst `--pe-noc-tekst` (#A3A7B0), długi tekst ciągły (artykuł, raport) `--pe-noc-tekst-dlugi` (#B9BDC5). Nigdy biel (biel „świeci”).
## Motyw (kolory kropek)
- Na czerni: `--pe-motyw-noc-0…3` (#1B2B9C → #8DA1FF), bez bieli.
- Na bieli: `--pe-motyw-dzien-0…2` (#E4E5E9 → #8A8E97), szary.
- Punkt: `--pe-motyw-punkt` (#FD723A).
## Zasady
1. **Kontrast:** mały tekst co najmniej 4,5 : 1. Kobalt 500 na bieli ma 4,3 : 1, więc linki i tekst na bieli w Kobalcie 600. Na czerni drobny tekst w Kobalcie 300.
2. **Pomarańcz to wyjątek, nie dekoracja:**
- kropka po tytule nigdy w kadrze z punktem motywu;
- przy przycisku Moment (`b1a`) nie ma kropki po tytule ani punktów w przyciskach obok;
- punkt w przycisku `b1b` (nawigacja, sekcje) może stać w kadrze z punktem motywu, jak w hero D;
- w tabeli i wykresie jedynym pomarańczem jest lider.
3. **Pomarańcz nigdy jako tekst ani tło** (2,8 : 1 na bieli).
4. **Kobalt nie wypełnia przycisku.** Kobalt to linki, fokus, zaznaczenia i dane.
5. **Tekst ciągły nigdy nie stoi na kolorze** gradientu. Jedno światło na kadr.
6. **Zmiany w danych bez czerwieni i zieleni:** znak niesie znaczenie (`dane.md`).
7. Kolor partnera tylko w danych, jako druga seria (`dane.md`).
Wartości hex w `css/` poza tokenami to palety danych (`dane.css`), kolory partnera (`partner.css`) i pojedyncze odcienie wewnątrz komponentów. Nie używaj ich poza tymi klasami. Zmienne bez prefiksu `--pe-` (`--h`, `--tx`, `--q1`…) są lokalne dla klas.
---
# Typografia
Kroje: **Geist** (nagłówki, liczby; `--pe-font-display`) i **Inter** (tekst, dane, interfejs; `--pe-font-text`). Bez trzeciego kroju. Wyjątek: stopka e-mail w Arialu.
## Skala www (wzorzec, s = 1)
| Styl | Krój | Rozmiar / interlinia | Światło | Kolor na bieli |
|---|---|---|---|---|
| Display `.d1` | Geist 400 | 120 / 0,95 | −0,048 em | atrament |
| H1 | Geist 400 | 64 / 1,05 | −0,04 em | atrament |
| Lead | Inter 400 | 21 / 1,5 | −0,012 em | `--pe-dzien-tekst-2` |
| H2 | Geist 400 | 36 / 1,08 | −0,035 em | atrament |
| H3 | Geist 500 | 21 | | atrament |
| Tekst | Inter 400 | 16 / 1,65 | −0,011 em | `--pe-dzien-tekst` |
| Metadane, podpisy | Inter 500 | 13–14 | | `--pe-dzien-podpis` |
- Kolumna tekstu 660 px (`--pe-kolumna`), ok. 80 znaków. Tabele i wykresy do 972 px.
- Odstęp między akapitami 24 px, nad H2 64 px.
- Interlinia nagłówków 1,02–1,1 (polskie znaki przy 1,0 się stykają).
- Im mniejszy nagłówek, tym cięższy (H1, H2 400; H3 500).
- Linki w tekście: Kobalt 600 z podkreśleniem 1 px; na czerni Kobalt 300.
- Cyfry tabelaryczne w danych, przecinek dziesiętny.
**Wersja ciemna:** te same rozmiary. Tekst `--pe-noc-tekst-dlugi` (#B9BDC5), 16 / 1,7, −0,006 em; lead `--pe-noc-tekst`. Drobny tekst +0,01 em.
**Telefon:** H1 36, lead 18, H2 28, tekst 16 / 1,6, marginesy 20 px (do rozwoju przy stronie www).
**PDF A4:** tekst 10 / 15 pt, kolumna 122 mm, H1 30 pt, H2 17 pt, H3 11,5 pt, metadane 7,5–8 pt.
## Inne formaty
Rozmiary pisma dla slajdów, postów, OG i banerów: tabela w `uklad.md`. Reguła: rozmiar z wzorca × s formatu, zaokrąglony do 4 px. Social ma większe minimum (drobny tekst co najmniej 20 px przy szerokości 1080).
## Kropka po tytule
```html
Zobacz, jak AI poleca Twoją markę
```
- `.dot` wstawia znak „.” z fontu w kolorze #FD723A. Nie pisz własnej kropki przed ``.
- Tylko w nagłówkach-hasłach. Hasło to zdanie-teza, które coś obiecuje albo stwierdza („Zobacz, jak AI poleca Twoją markę”, „Nad morzem AI poleca trzy marki”). Etykieta i nazwa strony, rozdziału lub sekcji („Raporty branżowe”, „Kolor”, „Trzy wnioski z raportu”) kropki nie dostaje.
- Tytuł-pytanie kończy się pytajnikiem, bez kropki.
- Nigdy w kadrze z punktem motywu ani z przyciskiem `b1a`.
## P1: polskie zasady (automatycznie)
Atrybut `data-pe-typo` na kontenerze uruchamia korektę:
- półpauza zamiast pauzy w zdaniu („ – ”),
- wąska twarda spacja przed % i p.p. („38 %”),
- jednoliterowe spójniki (a, i, o, u, w, z) nie zostają na końcu wiersza.
Pisząc sam: bez sierotek, liczba nie odrywa się od jednostki, spacja przed %.
---
# Układ i kadr
Wzór: `guidelines/uklad.html`. Tokeny: `tokens/layout.css`.
## Jedna skala
**s = √(W · H) / 1113**, gdzie 1113 = √(1440 · 860). Hero www 1440 × 860 ma s = 1.
Każdy nowy format liczysz od wzorca tym samym s: margines, odstępy, pismo i motyw. Pismo zaokrąglasz do 4 px, odstępy do 8 px. Motyw liczy się sam (gdy tekst stoi obok obiektu, skala motywu to min(s, H / 860)).
## Siatka
- **www, slajd, OG, LinkedIn:** 12 kolumn.
- **Posty (1080 × 1350, 1080 × 1080):** 6 kolumn.
- www: margines 48, odstęp 24, kolumna 90, treść 1344. Kolumna tekstu 660 = 6 kolumn; kolumna hero 680.
- Odstępy pionowe w krokach 8: 8, 16, 24, 32, 48, 64, 96, 128 (`--pe-o-1…8`).
- Promień rogów: 2 px (`--pe-promien`). Bez pigułek.
- Hero: tytuł i lead do 3 linii, dół kolumny tekstu do ok. 70 % wysokości kadru, żeby gradient zachował skalę (`motyw.md`, Czytelność).
## Formaty
| Format | s | Skala motywu | Margines | Kolumny · odstęp | Logo | H1 | Lead | Drobny tekst | Motyw |
|---|---|---|---|---|---|---|---|---|---|
| Hero www 1440 × 860 | 1 | 1 | 48 | 12 · 24 | 22 | 64 | 21 | 14 | D, F, E · G na okładce |
| Slajd 1920 × 1080 | 1,29 | 1,26 | 64 | 12 · 32 | 28 | 80 | 28 | 20 | D, E, F-pudełko · G na okładce |
| Post 1080 × 1350 | 1,09 | 1,09 | 72 | 6 · 24 | 32 | 72 | 28 | 22 | D tekst u góry · G tekst na dole · F bez ramy |
| Post 1080 × 1080 | 0,97 | 0,97 | 72 | 6 · 24 | 32 | 64 | 26 | 20 | jak wyżej |
| OG 1200 × 630 | 0,78 | 0,73 | 64 | 12 · 16 | 28 | 56 | 24 | 20 | D · F bez ramy |
| Okładka LinkedIn 1584 × 396 | 0,71 | 0,46 | 56 | 12 · 24 | bez | 52 | – | – | D, tekst od 400 px |
Format spoza tabeli: weź najbliższy (kanał i proporcje) i przemnóż jego wartości przez s nowego ÷ s z tabeli.
## Logo
Lewy górny róg na marginesie. W G (tekst na dole) logo pod tekstem, w lewym dolnym rogu. Szczegóły: `logo.md`.
## Rama jasnego F
| Wariant | Atrybut | Kiedy |
|---|---|---|
| www | bez atrybutu | hero F na stronie: rama po bokach (48), dół zamyka biała strona |
| B · pudełko | `data-pe-rama="pudelko"` | samodzielna strona: slajd, raport, druk |
| C · bez ramy | `data-pe-rama="brak"` | kafelek platformy: post, OG, baner |
- Rama = margines formatu (`--pe-rama` na sekcji).
- Tekst stoi o jeden margines wewnątrz ramy (w B: margines ramy + margines).
- W jednej serii albo dokumencie nie mieszasz B i C.
- Ciemne D, G, E są zawsze bez ramy.
## Bezpieczne pola
- Okładka LinkedIn: lewy dolny róg (ok. 56–256 px od lewej, od 250 px od góry) zasłania zdjęcie profilu. Tekst od 400 px.
- Roll-up: treść od 30 do 140 cm licząc od góry, dolne 60 cm tylko tło.
---
# Tła: gradienty, ziarno, siatka kropek
Renderer: `js/pe-light.js`. Tło to `