Wersja do zainstalowania na telefonie
Kalkulator wieku ciąży może działać też jako osobna aplikacja — po zainstalowaniu pojawia się ikona na ekranie głównym telefonu.
Aplikacje PWA (Progressive Web Apps) to strony internetowe działające jak aplikacje mobilne, które można zainstalować na telefonie lub komputerze bez pobierania ich ze sklepu Google Play czy App Store.
Jak zainstalować
Android — Chrome
- Otwórz powyższy adres w Chrome
- Dotknij ⋮ w prawym górnym rogu
- Wybierz Zainstaluj aplikację lub Dodaj do ekranu głównego
- Potwierdź Zainstaluj
Czasem Chrome sam pokazuje pasek z propozycją instalacji — wtedy wystarczy go dotknąć. W Samsung Internet droga jest ta sama, przez menu ☰ → Dodaj stronę do → Ekran startowy.
iPhone i iPad — Safari
- Otwórz powyższy adres w Safari
- Dotknij Udostępnij — kwadrat ze strzałką w dole ekranu
- Przewiń listę i wybierz Dodaj do ekranu początkowego
- Potwierdź Dodaj w prawym górnym rogu
Musi to być Safari — w Chrome i Firefoksie na iPhonie tej opcji nie ma, bo system dopuszcza instalację wyłącznie w przeglądarce systemowej.
Historia wersji
overflow-wrap:anywhere w komórkach powodowała, że minimalna szerokość kolumny wyliczana przez przeglądarkę odpowiadała pojedynczemu znakowi — algorytm automatycznego układu tabeli zwężał wówczas kolumny o krótkich nagłówkach i łamał wyrazy w przypadkowym miejscu („Charakt / er”) nawet na szerokim ekranie. Zastąpiono ją wartością break-word, która nie wpływa na wyliczanie rozmiaru min-content, wraz z word-break:normal; kolumna nie może już być węższa niż najdłuższy wyraz nagłówka. Agresywne łamanie zachowano wyłącznie dla ciągów nierozdzielnych — odnośników, identyfikatorów DOI i tekstu monospace. Tabelom w kontenerze przewijanym nadano minimalną szerokość 640 px (560 px poniżej 520 px szerokości okna), dzięki czemu na wąskim ekranie tabela przewija się poziomo zamiast ulegać zgnieceniu. Zmiana wyłącznie prezentacyjna — nie modyfikuje treści merytorycznej ani logiki obliczeń.overflow-x:hidden, zamienia tę wartość na overflow-x:clip, co przywraca przyklejanie po osadzeniu na stronie. Obsługa myszą: pasek zakładek otrzymał widoczny wąski uchwyt przewijania na urządzeniach wskazujących, przeciąganie kursorem z progiem 4 px i tłumieniem kliknięcia po przeciągnięciu oraz przewijanie kółkiem, przechwytywane wyłącznie przy istniejącej rezerwie przewijania. Strzałki nawigacyjne: w tabelach okrągłe wskaźniki o średnicy 21 px z grotem 12 px i tłem rgba(191,214,230,0.35), przy samych krawędziach ramki przewijanej, widoczne tylko po stronie, w którą można przesunąć; w pasku zakładek biały grot bez tła, umieszczony w pasie dopełnienia nad etykietami, bez zwiększania wysokości paska. Dodano także lewy cień gradientowy tabel, symetryczny do prawego.all:revert wszystkie elementy potomne, w tym elementy svg, co kasowało atrybuty prezentacyjne fill i stroke i powodowało renderowanie grotu jako czarnej wypełnionej figury zamiast jasnego zarysu. Reset doprowadzono do postaci kanonicznej *:not(svg):not(svg *) wraz z osobną regułą box-sizing dla SVG, a grotom nadano dodatkowo jawne fill:none i stroke:currentColor z priorytetem. Selektor przycisków zakładek w skrypcie uogólniono z [data-t] na :not(.tab-nav), ponieważ ten dokument oznacza zakładki innym atrybutem.display:none. Mechanizmy tabel oraz naprawa przodków po osadzeniu pozostają bez zmian. Cofnięto zmianę reguły resetu wprowadzoną w poprzedniej wersji. Wykluczenie *:not(svg):not(svg *) miało chronić atrybuty prezentacyjne grafik wektorowych, ale podnosiło specyficzność selektora resetu z jednej klasy do jednej klasy i dwóch pseudoklas. W dokumencie, którego reguły pisano względem pierwotnej specyficzności, oznacza to, że część deklaracji bez !important zaczyna przegrywać z all:revert — a więc zmiana o charakterze porządkowym może przestawić wygląd w miejscach niezwiązanych z SVG. Reset wrócił do pierwotnej postaci. Ochronę grotów strzałek zapewnia teraz wyłącznie jawna deklaracja fill:none i stroke:currentColor z priorytetem, rozszerzona dodatkowo na elementy potomne svg, co nie wpływa na kaskadę reszty dokumentu.#3A6D9A zamiast turkusu, przez nową zmienną --tab-active. Stopka: jasne tło --bg, kreska oddzielająca u góry, zaokrąglone dolne narożniki, wyrównanie do prawej, krój IBM Plex Mono 0,64 rem; klauzula prawna zachowuje krój tekstowy i wyrównanie do lewej, ponieważ monospace czyta się dobrze w jednej linijce, ale nie w kilkuzdaniowym akapicie. Dodano linię zamykającą „Materiały edukacyjne | © 2026 Antoni Sierant" w brzmieniu portalu, oddzieloną cienką kreską. Znak wodny nagłówka: element ::before z grafiką osadzoną jako dane base64, szerokość 210 px, krycie 15%, wysunięty poza prawą krawędź, zwężany do 140 px poniżej 640 px szerokości okna; nagłówek otrzymał position:relative, a jego zawartość z-index, bo element pozycjonowany maluje się nad treścią w normalnym przepływie. Margines zewnętrzny: poniżej 820 px szerokości okna ramka odsuwa się od krawędzi ekranu o 6 px. Zastosowano margines, nie dopełnienie jak w portalu — tam korzeń jest przezroczysty, a tło niesie wewnętrzny .shell, tutaj tło leży na samym korzeniu, więc dopełnienie wcięłoby jedynie treść..subsection-header oraz nagłówki trzeciego stopnia w kartach zachowały turkus --accent, podczas gdy aktywna zakładka przeszła na błękit — w jednym dokumencie występowały więc dwie barwy wyróżnienia. Oba elementy korzystają teraz ze zmiennej --tab-active, czyli błękitu #3A6D9A, tego samego, którym portal oznacza sekcję ginekologiczną. Turkus pozostaje barwą odnośników i elementów pomocniczych. Tekst stopki. Ujednolicenie objęło stopkę krojem monospace i wyrównaniem do prawej, co jest właściwe dla jednowierszowej stopki portalu, ale nie dla kilkuzdaniowego tekstu informacyjnego. Tekst stopki wraca do kroju Inter i wyrównania obustronnego; krój monospace i wyrównanie do prawej zachowuje wyłącznie linia zamykająca z notą o prawach autorskich..header-meta wraz z obiema regułami stylu, które go dotyczyły.--muted i --border, ponieważ jasne wartości sprzed zmiany stopki były na nowym tle nieczytelne albo niewidoczne.display:grid), co świadomie wyłączało mechanizm przewijania — a wraz z nim strzałki krańcowe, przeciąganie kursorem i przewijanie kółkiem, obecne we wszystkich pozostałych narzędziach rodziny. Decyzja była uzasadniona przy pięciu zakładkach, ale kosztem odrębności: pasek zajmował dwa wiersze i reagował inaczej niż w sąsiednich materiałach. Przywrócono warstwę kanoniczną — jednowierszowy pasek przewijany poziomo ze strzałkami pojawiającymi się wyłącznie wtedy, gdy jest co przewijać; przy pięciu krótkich etykietach na typowym ekranie telefonu pasek mieści się w całości i strzałki pozostają ukryte. Metryka paska. Odstęp 8 px, dopełnienie 10×20 px, kafelki rozciągane przez flex:1 na tle rgba(255,255,255,0.08) i etykieta 0,82 rem zastąpione metryką kanoniczną (5 px, 9×14 px, kafelki bez tła, 0,76 rem wagi 500). Usunięto też nadpisania paska w regule 600 px. Wprowadzono brakującą warstwę .shell zgodnie z kanonem rodziny narzędzi. Dotąd promień narożników leżał na samym korzeniu i obejmował wyłącznie górną krawędź, a cienia rzucanego nie było wcale — narzędzie odcinało się od tła strony inaczej niż pozostałe. Obudowa przejmuje promień 16 px i cień 0 4px 18px rgba(29,58,86,0.10); korzeń niesie odtąd wyłącznie tło, szerokość i margines zewnętrzny. Obudowa świadomie nie dostaje właściwości overflow — każda wartość inna niż visible czyni ją kontenerem przewijania i unieważnia przyklejanie paska zakładek. Dodano kanoniczny blok @media print, którego narzędzie dotąd nie miało: wydruk gubił pasek zakładek i drukował wyłącznie panel otwarty na ekranie, a granatowy nagłówek ze znakiem wodnym zużywał toner bez potrzeby. Reguła ukrywa pasek zakładek i elementy sterujące, rozwija wszystkie panele (każdy od nowej strony), odwraca nagłówek na biel z granatową kreską, wygasza znak wodny, zdejmuje ograniczenie min-width i otoczki przewijania z tabel oraz zabezpiecza karty i tabele przed łamaniem między stronami.