Dizajnový manuál · verzia 1.0 · 25. 9. 2026

übrig

nach dem service

Kuchár nepotrebuje dashboard. Potrebuje lístok, ktorý smie ísť von. Tento dokument je jediný zdroj pravdy pre to, ako Übrig vyzerá, hovorí a hýbe sa. Všetko, čo tu nie je, sa nerobí; všetko, čo tu je, sa robí presne tak.

Verdikt dizajnového tímu. Richardov výber – board „Lístok a pečiať“ z Figmy – berieme ako základ v plnom rozsahu: papier, atrament, pečiať, Fraunces, Atkinson, Plex Mono, lis namiesto tlačidla, kruh namiesto checkboxu, lístok s perforáciou. Sprísňujeme štyri veci: (1) jedno znamenie, nie dve – tanier so zmiznutým klinom je primárne, samotný červený kruh z návrhu „nach dem service“ je len redukovaná pečiať pre ikonu aplikácie a favicon; (2) pohyb dostáva pravidlá – zatrasenie a záblesk sú navigácia, nie dekorácia, a smú sa stať raz; (3) spúšťacia animácia má presný scenár (≈ 2,4 s do tlačidla „Eintreten“); (4) prístupnosť sa nemeria dojmom, ale kontrastom a veľkosťou cieľa – čísla sú nižšie. Nič sa zatiaľ nestavia; tento manuál a prototyp sú podklad na schválenie.

01 · MyšlienkaLístok a pečiať

Übrig je posledných pätnásť minút smeny. Ruky sú mokré, svetlo je ostré, hlava je unavená. Rozhranie preto nie je aplikácia, ale lístok – kus papiera, na ktorom je napísané, čo odchádza, kedy a pre koho – a pečiať, ktorá povie, že to smie ísť. Všetko ostatné (rezervácie, prehľady, štatistiky) je za lístkom, nie pred ním.

Princíp 1

Jedna otázka na obrazovku

Smie to ísť von? Koľko? Kedy? Nikdy dve otázky naraz, nikdy dashboard.

Princíp 2

Červená je povolenie, nie alarm

Pečiať sa objaví až po siedmich „áno“. Predtým je obrazovka tichý papier.

Princíp 3

Lis, nie ripple

Tlačidlo sa stlačí ako pečiatka: sadne o 3 px, 80 ms, žiadna vlna, žiadny glow.

Princíp 4

Jeden palec, 62 px

Každý riadok, na ktorý sa dotýka, má aspoň 62 px. Ovláda sa jednou rukou v dolnej tretine.

Princíp 5

Správa vyzerá ako to, čo odovzdáš

WhatsApp text, etiketa na nádobe a záznam v protokole majú rovnakú hierarchiu: jedlo, porcie, čas, alergény, adresa.

Princíp 6

Nie Sautero

Žiadny tyrkys, žiadny hrniec, žiadny donut. Übrig je vlastná značka pre zvyšok smeny.

02 · ZnačkaTanier so zmiznutým klinom

übrig
nach dem service
übrig
na atramente
PrvokVýznamPravidlo
Dvojitý kruhPečiať HACCP, nie logo kuchyneVždy dve linky (2,2 px a 1,5 px pri 72 px). Nikdy vyplnený, nikdy s tieňom.
KlinMedzera v tanieri je jedlo, ktoré odchádzaOblúk 270°, otvorený vľavo dole. Otvor sa nikdy nezatvára – ani v animácii nie úplne.
BodPorcia, ktorá zostalar = 3,2 px pri 72 px; v pečiati FREIGEGEBEN je bod jediný vyplnený prvok.
UmlautDve bodky nad u sú dve porcieWordmark vždy s malým ü, vždy Fraunces italic 500. Nikdy verzálky, nikdy „Uebrig“ v grafike (len v URL/kóde).
Tagline „nach dem service“Kedy: po službe, nie počas nejPlex Mono, rozpal 0,32 em, malé písmená. Používa sa len na úvodnej obrazovke, letáku a v pätičke – nikdy vo flow.
Redukovaná pečiaťIkona aplikácie, favicon, maskaPlný kruh Pečiať na Papieri, r = 17/72. Bez klinu – pri 16 px by sa klin stratil. Nikdy nie vo vnútri rozhrania.

03 · FarbyPapier, atrament, pečiať – a nič štvrté

Papier#F3EEE6 · pozadie obrazovky
Hárok#FFFBF4 · karta, pole, lístok
Atrament#1A1814 · text, lis, obrys lístka
Pečiať#9C3B2E · povolenie, kruh „áno“, kváder lisu
Pečiať tmavá#6E2A21 · stlačený lis, odkaz :active
Okrová#C4A36A · záblesk, jediný akcent na atramente
Linka#D8D0C4 · obrysy, perforácia, tichý lis
Tlmená#6B655D · popisky, sekundárny text

Sémantika

StavFarbaKedy
Ešte nieLinka + TlmenáPrázdny kruh, tichý lis „Noch 3 von 7“, nevyplnené pole.
Áno / povolenéPečiaťPlný kruh, dock po 7/7, pečiať FREIGEGEBEN na lístku. Predtým sa Pečiať nikde neobjaví – okrem znamenia v hlavičke.
Aktívne / fokusAtramentObrys poľa vo fokuse 1 px Atrament; klávesnicový fokus 2 px Atrament s odsadením 2 px.
Chybažiadna nová farbaChybu nesie pohyb (zatrasenie) a text pod poľom v Tlmenej. Nie červený text – červená je povolenie.
NavigáciaOkrová (záblesk)Jediný raz prejde po poli, ktoré treba vyplniť. Nikdy statická.

Kontrast (WCAG 2.2, vypočítané)

TextNaPomerVerdikt
AtramentPapier15,35 : 1AAA
AtramentHárok17,18 : 1AAA
PečiaťPapier5,91 : 1AA text, AAA veľký text
Papier (text lisu)Pečiať5,91 : 1AA – tučné 16 px je v poriadku
TlmenáPapier5,0 : 1AA splnené pre každý text (do 25. 9. 2026 bola Tlmená #7A746C s 4,0 : 1 – stmavená na #6B655D po meraní, výnimka „len popisky“ zrušená)
TlmenáHárok4,48 : 1prakticky AA
OkrováPapier2,07 : 1nikdy ako text na papieri – len záblesk a dekor
OkrováAtrament7,42 : 1AAA – jediný povolený akcentový text na tmavom
LinkaPapier1,32 : 1len obrysy, nikdy text

Nočný variant (odberatelia stoja večer pred kuchyňou): Papier ↔ Atrament sa vymenia, Hárok stmavne na #23201B, Pečiať sa zosvetlí na #B5483A, Tlmená na #A79F93. Variant sa zapína podľa systému (prefers-color-scheme) a ide až po pilote – kuchyňa je vždy svetlá.

04 · PísmoTri hlasy: meno, veta, fakt

HlasPísmoKdeNikde inde
MenoFraunces, italic, 500, optická veľkosť „soft“Wordmark, názov jedla na lístku, nadpisy obrazoviek (1 na obrazovku)Nie na tlačidlách, nie v poliach, nie v odstavcoch
VetaAtkinson Hyperlegible 400/700Otázky, odsek, tlačidlá, polia, chipyNie pod 14 px
FAKTIBM Plex Mono 400/500Časy, počty, popisky polí (verzálky 11 px, rozpal 0,06–0,12 em), FREIGEGEBEN, krok „1 PRÜFEN“Nie vety dlhšie než šesť slov

Stupnica

RolaVeľkosť / riadokPísmo
Wordmark v hlavičke34 / 1.0Fraunces it 500, −0,02 em
Wordmark na lístku32 / 1.0Fraunces it 500
Názov jedla20 / 1.25Atkinson 700
Text, otázka, tlačidlo16 / 1.45Atkinson 400 / 700
Riadky lístka, chip14 / 1.4 · 13Atkinson 400
Meta (porcie · čas)13 / 1.3Plex Mono 400, tabulárne číslice
Popisok poľa, krok, FREIGEGEBEN11 / 1.2 · verzálkyPlex Mono 400, rozpal 0,06 / 0,12 em

05 · RozloženieJeden stĺpec, jeden palec, jeden dock

06 · KomponentyLis, kruh, pole, chip, lístok

Lis (tlačidlo)

StavVzhľadSprávanie
IdleAtramentový blok, Pečiaťový kváder 3 px vpravo dole, obrys 1,1 px Atrament, rádius 4 px—
PressBlok sadne na kváder: translate(3px, 3px)80 ms ease; haptika 10 ms, ak zariadenie vie
Quiet (ešte nie)Linka + Tlmená, kváder LinkaNie je disabled: klepnutie spustí zatrasenie a záblesk na prvom nesplnenom riadku
Ready / StampPečiať blok, Papier textAž po 7/7; prefarbenie 120 ms
GhostHárok blok, Atrament text, bez kvádraSekundárna akcia (Neue Freigabe, Etikett)

Zákaz: Material ripple, hover glow, gradient, blur tieň, ikonka v tlačidle, veľké písmená, výkričník v texte tlačidla.

Kruh (otázka Freigabe)

Nicht im Gästebereich
Heiss ≥ 65 °C oder ≤ 5 °C

Pole a chip

Kontakt: tri polia

Sticky lišta a „Unterstützen“

Listy (concept, welcome, detail)

Lístok (etiketa a správa)

übrig

FREIGEGEBEN
Gemüserisotto, Salat separat
18 Portionen · gekühlt

Restaurant Sonne · Marco 079 555 11 22

Allergene: Milch, Sellerie

Zubereitet 25.09. 18:40

Konsumieren bis 26.09. 12:00

Abholen 21:30–22:15

Länggassstrasse 42, Hintereingang

Vor dem Servieren durcherhitzen.

Info-bublina (Hinweis)

InfoSieben Hygiene-Fragen. Tippe jede an, die stimmt. Erst bei 7 von 7 wird der Knopf unten rot und es geht weiter.×

07 · PohybLis, zatrasenie, záblesk, pečiať, otvorenie

Pohyb v Übrig má jednu úlohu: povedať, čo urobiť ďalej. Nikdy nezabáva, nikdy sa neopakuje v slučke, nikdy nebeží dva naraz. Trvania sú štyri: 80 ms (dotyk), 240 ms (odpoveď), 600 ms (upozornenie: zatrasenie, záblesk), 900 ms (pozvanie: jemné zatrasenie lisu). Krivka: cubic-bezier(.36,.07,.19,.97) pre odpoveď, ease-out pre záblesk.

PodnetReakciaParametreFrekvencia
Lis – klepnutie na aktívne tlačidloblok sadne na kvádertranslate 3 px, 80 ms, haptika 10 mspri každom klepnutí
Zatrasenie – klepnutie na tichý lis (menej než 7/7, prázdne povinné pole)tlačidlo sa horizontálne zatrasie – pomaly a zreteľne±6 → ±4 → ±2 px, 600 ms, 3 kmity, ease-in-out, bez zvuku (25. 9.: pôvodných ±3 px / 240 ms bolo príliš nenápadné)raz na pokus; ďalšie klepnutie do 2 s nič nerobí
Záblesk – hneď po zatraseníokrový lesk prejde cez prvý nesplnený riadok/pole; stránka sa naň plynulo posunie105°, 200 % šírka, 600 ms ease-out, 1×; scrollIntoView smoothlen na jednom prvku naraz; nikdy na vyplnenom
Kruhy pri vstupe – keď sa Prüfen skutočne ukáže (po zavretí konceptu, pri návrate na krok)sedem krúžkov postupne raz „preblikne“ okrovým prstencombox-shadow 0 → 5 px okrová 45 %, 700 ms, rozostup 70 msraz pri každom vstupe na obrazovku; nikdy pod introm alebo listom (chyba nájdená 25. 9.: bliklo pod introm, nikto to nevidel); nie pri reduced-motion
Siedme ánodock sa prefarbí na Pečiať a raz sa jemne zatrasie±4 → ±3 → ±2 px, 900 ms, ease-in-outraz pri dosiahnutí 7/7
Klepnutie na „Weiter zur Meldung“ (jediná oslava)krátke konfety v papierových farbách (Pečiať, Okrová, Hárok, Linka, Atrament) a zdola sa „rozroluje“ uvítacie okno „Freigegeben.“90 útržkov, 1,6 s, gravitácia; okno clip-path 520 msraz na freigabe; nie pri reduced-motion
Kruh – klepnutie na otázkubod sa objaví zo stredu, obrys karty prefarbíscale 0 → 1, 120 msvždy
Pečiať – siedme ánodock prefarbí na Pečiať a „sadne“ ako po stlačení120 ms farba + 80 ms sadnutie; haptika 10 msraz pri dosiahnutí 7/7
Lístok – prechod na Etikettlístok sa vysunie zdola o 12 px a pečiať FREIGEGEBEN sa „opečiatkuje“240 ms; pečiať scale 1,15 → 1 za 160 ms s 80 ms oneskorenímpri každom zobrazení lístka
Prechod krokovobsah sa vymení a stránka sa otvorí úplne hore; podčiarknutie záložky sa presuniescrollTo 0 bez animácie, 160 ms podčiarknutievždy pri zmene obrazovky; jediná výnimka je záblesk, ktorý posunie na nesplnený riadok

Spúšťacia animácia (cold start)

Scenár ≈ 2,4 s do tlačidla „Eintreten“ (pôvodných 1,3 s dvakrát predĺžených o 35 % na Richardovu požiadavku, 25. 9. 2026); animácia sa už nekončí sama – čaká na tlačidlo, aby bol tagline vždy dočítaný. Hrá sa raz pri studenom štarte (nie pri prepínaní krokov, nie pri návrate z pozadia do 10 minút). Ukončí ju tlačidlo „Eintreten“ (lis, jemne sa raz zatrasie o 3,15 s: ±4 px, 900 ms), po ňom sa otvorí konceptová obrazovka. Pri prefers-reduced-motion je celý záber statický a tlačidlo hneď viditeľné.

0 msPapier. Nič iné. (Papier je vždy prvý – aplikácia nikdy nezačína bielou ani čiernou.) 220 msWordmark „übrig“ vystúpi zdola o 8 px a z 0 na 100 % krytia, 655 ms, Fraunces italic. Umlaut príde o 145 ms neskôr – dve porcie dopadnú. 765 msVonkajší kruh znamenia sa vykreslí (stroke-dashoffset), 730 ms; vnútorný kruh 145 ms za ním. 1 275 msKlin sa vykreslí zľava dole (475 ms) a zastaví sa pred uzavretím – medzera ostane. 1 640 msBod „sadne“ do stredu ako lis: scale 1,3 → 1, 220 ms; haptika 10 ms. 1 825 msTagline „nach dem service“ sa rozpáli z rozpalu 0,6 em na 0,32 em a z 0 na 100 % krytia, 545 ms. 2 450 msLis „Eintreten“ vystúpi (400 ms) a o 3 150 ms sa raz jemne zatrasie (±2 px, 520 ms). Scéna ostáva, kým kuchár neklepne; potom zmizne za 215 ms a otvorí sa konceptová obrazovka – žiadny spinner, žiadny skeleton.
Zákazy pohybu: nekonečné slučky, pulzovanie, bounce s viac než jedným prekmitom, parallax, konfety mimo jediného momentu 7/7 (Richardovo rozhodnutie 25. 9. 2026 – papierové farby, 1,6 s, bez zvuku), zvuk, animované ikony, skeleton loadery, spinner dlhší než 600 ms (radšej text „Lädt …“ v Tlmenej).

08 · PrístupnosťMeria sa, nehodnotí sa

09 · JazykKrátko, nemecky, bez výkričníkov

10 · TlačEtiketa, ktorá prežije chladničku

11 · ZákazyČo Übrig nikdy neurobí

Farba
  • Tyrkys Sautera (#34F7D7), navy (#0A1A2F)
  • Štvrtý stav (žltá, oranžová, zelená)
  • Červená pred 7/7
  • Gradienty vo farbe
Tvar
  • Hrniec, donut, koláčové grafy
  • Ikonky v tlačidlách
  • Zaoblenie nad 10 px (okrem chipov)
  • Rozmazané tiene
Správanie
  • Dashboard, KPI, food cost (patrí Sauterovi cez deň)
  • Material ripple, hover glow
  • Toast/snackbar – potvrdením je lístok
  • Slučkové animácie, zvuk

12 · TokenyJediné miesto, kde sú čísla

:root{
  /* farba */
  --paper:#F3EEE6;  --sheet:#FFFBF4;  --ink:#1A1814;  --ink-2:#2A2622;
  --stamp:#9C3B2E;  --stamp-dk:#6E2A21;  --brass:#C4A36A;  --rule:#D8D0C4;  --mute:#6B655D;
  /* tvar */
  --radius:4px;  --radius-card:10px;  --radius-chip:999px;  --shadow:3px;  --row:62px;  --gutter:20px;  --col:430px;
  /* písmo */
  --f-name:"Fraunces",Georgia,serif;  --f-text:"Atkinson Hyperlegible",system-ui,sans-serif;  --f-fact:"IBM Plex Mono",ui-monospace,monospace;
  --fs-word:34px; --fs-dish:20px; --fs-text:16px; --fs-line:14px; --fs-meta:13px; --fs-label:11px;
  /* pohyb */
  --t-touch:80ms;  --t-answer:240ms;  --t-cue:600ms;  --t-shake:600ms;  --t-nudge:900ms;  --e-answer:cubic-bezier(.36,.07,.19,.97);
}
@media (prefers-color-scheme: dark){:root{--paper:#1A1814;--sheet:#23201B;--ink:#F3EEE6;--ink-2:#E6DFD3;--rule:#3A352E;--mute:#A79F93;--stamp:#B5483A}}
@media (prefers-reduced-motion: reduce){:root{--t-answer:0ms;--t-cue:0ms;--t-shake:0ms;--t-nudge:0ms}}

Tokeny sa neprepisujú v komponentoch. Kto potrebuje nové číslo, mení tento blok a manuál – v tom istom commite.

13 · Rozhodnutia tímuČo sme zvážili a prečo

  1. Dve znamenia → jedno. Návrh „nach dem service“ (plný červený kruh) a board (dvojitý kruh s klinom) sa prekrývali. Klin nesie myšlienku (jedlo, ktoré odchádza), plný kruh ju stráca. Plný kruh ostáva len tam, kde klin nie je čitateľný: ikona, favicon.
  2. Chyba bez červenej. Bežné systémy hlásia chybu červenou; tu je červená povolenie. Chybu preto nesie pohyb (zatrasenie) a text. Kompromis: text chyby je Tlmená, nie Atrament, aby sa nemýlil s obsahom.
  3. Tichý lis nie je disabled. Disabled tlačidlo nič nepovie. Tichý lis po klepnutí navedie: zatrasenie + záblesk na prvý nesplnený riadok. Toto je Richardova požiadavka „tlačidlá sa zatrasú, polia zablisnú“ – s limitom raz na pokus, aby sa z navigácie nestal hluk.
  4. Záblesk okrovou, nie červenou. Okrová je jediný teplý akcent bez významu „povolené“. Používa sa len v pohybe (kontrast 2,07 : 1 ju vylučuje z textu).
  5. Spúšťacia animácia ≈ 2,4 s, končí tlačidlom „Eintreten“. Pôvodne 1,3 s a automatické zmiznutie; Richard ju 25. 9. dvakrát predĺžil o 35 % a chcel, aby bol tagline dočítaný – preto scéna už nemizne sama, ale čaká na lis „Eintreten“, ktorý sa raz jemne zatrasie. Po ňom nasleduje konceptová obrazovka (čo Übrig je, štyri kroky, tlačidlá „Los geht’s“ a „Unterstützen“), zatvárateľná krížikom, pozadím alebo Esc. Pri návrate z pozadia sa nehrá. Reduced motion = statický záber.
  6. Nočný variant až po pilote. Kuchyňa je vždy svetlá; odberatelia vonku by tmavý variant ocenili. Tokeny sú pripravené, zapnutie je rozhodnutie po prvých týždňoch.
  7. Fraunces len pre mená. Pokušenie dať italic všade sme odmietli: pri 14 px v kuchyni klesá čitateľnosť. Atkinson Hyperlegible je navrhnutý pre slabý zrak – to je hlas viet.
  8. Protokol sa otvára a edituje. Záznam je tlačidlo; detail ukáže všetky polia, „Bearbeiten“ ich nahrá späť do Meldung a lis potom hovorí „Änderung speichern“ (záznam sa prepíše, dátum vzniku ostane, pribudne „geändert“). Zmazanie len s potvrdením.
  9. Žiadny toast. Potvrdením akcie je lístok alebo záznam v protokole. Toast by bol štvrtý prvok, ktorý súperí o pozornosť.
  10. Tlačidlo bez ikony. Slovo v nemčine je jednoznačnejšie než ikona a lis má vyzerať ako pečiatka, nie ako app-bar.
  11. Nestaviame. Tento manuál + prototyp sú podklad na Richardovo schválenie; do index.html a app/ ide až po „beriem lístok“ – najprv tokeny, potom komponenty, potom pohyb.

14 · Ďalší krokKontrolný zoznam pred nasadením

Stav 25. 9. 2026: Richard povedal „vieme to nahodiť live?“ – prototyp sa stal úvodnou stránkou index.html (DE/FR/IT/EN, zoznam „Wer nimmt Essen an“, prenos starých protokolov). Body nižšie s ☑ sú splnené pre statickú stránku; aplikácia app/ je ďalší krok.

Živá stránka: übrig Bern – celý tok Prüfen → Meldung → Etikett → Protokoll v novom vizuáli. Pôvodný odkaz na prototyp presmeruje tam. Audit celého projektu a plán ďalších krokov: Audit a plán.