strom-research 1.18.0-beta.6 → 1.18.0-beta.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.cs.md CHANGED
@@ -7,7 +7,7 @@ Změny každé verze ve zkratce. Úplné poznámky a instalační řádky jsou n
7
7
 
8
8
  ## 1.18.0
9
9
 
10
- *Připravuje se: bety do 1.18.0-beta.6. Oddíl bude úplný s vydáním.*
10
+ *Připravuje se: bety do 1.18.0-beta.8. Oddíl bude úplný s vydáním.*
11
11
 
12
12
  - **Fotky z telefonu nastojato.** Fotka otočená podle údaje EXIF se čte tak, jak se má dívat, nastojato; místa na ní
13
13
  vyznačená (výřezy, poloviny dvoustrany, uložená část) jsou místa obrázku, jak se ukazuje. Fotka sama zůstává, jak
@@ -22,6 +22,8 @@ Změny každé verze ve zkratce. Úplné poznámky a instalační řádky jsou n
22
22
  vypadne — i příjmení, nikdy se nebere od otce ani z jiné rodiny —, co nejde přečíst, je označené; druhý čtenář
23
23
  může číst naslepo. Do stromu se z toho nic nezapíše samo. Dokument už přečtený to o sobě řekne, takže se omylem
24
24
  nečte podruhé. Dokument čtený znovu se ukazuje pod názvem svého souboru, nikdy pod kódem.
25
+ Dokument poslaný z aplikace Strom najde agenta stejně jako terminál — i nainstalovaného do vlastní složky, přes npm
26
+ nebo Homebrew — místo hlášení, že agent není nastavený.
25
27
  - **Fotky z telefonu.** `strom phone on`, které zapíná jen člověk, pustí k počítači telefon v domácí síti (Wi-Fi
26
28
  nebo kabel — nikdy mobilní síť ani VPN). Telefon se jednou spáruje přes QR kód; jeho stránka pak fotí nebo vybírá
27
29
  z galerie a posílá fotky celé do stromu výzkumu, s poznámkou a osobou, kterou ukazují — stejně jako „Přidat
@@ -30,7 +32,12 @@ Změny každé verze ve zkratce. Úplné poznámky a instalační řádky jsou n
30
32
  rozhodnutí, posledních 24 hodin a poslední změny, obnovené každých 10 sekund, dokud je stránka na očích — jen
31
33
  k podívání: v telefonu se nic neodpovídá, nespouští ani nerozhoduje. Nedostupný počítač stránka řekne i s posledními
32
34
  údaji a jejich časem. Otevře strom, jehož QR kód ji spároval, a jde přidat na plochu jako ikona, která ji otevře
33
- bez nového párování.
35
+ bez nového párování. Co čeká a změny jdou na telefonu přečíst celé: text toho, co čeká, se neořezává, další položky
36
+ nad prvních 20 se donačtou klepnutím a změna s víc řádky se rozbalí celá; Co čeká je poslední částí stránky. Změna
37
+ starší než dnešek má u času i datum (rok jen u loňských a starších). Nálezy pod Teď ukazují, co výzkum našel od
38
+ posledního pohledu z telefonu (aspoň posledních 24 hodin, starší klepnutím) — nové osoby, prameny, nalezené, opravené
39
+ či nově doložené údaje, vyřešené rozpory — nové zvýrazněné; co přibude při otevřené stránce, ukáže jen počet
40
+ v názvu záložky a malý štítek.
34
41
  - **Souhlas v jednom jazyce.** Souhlas, který dává jen člověk (rozbalení výzkumu, odebrání stromu, odmítnuté okno),
35
42
  zazní celý v jazyce výzkumu, nic z něj nezůstane anglicky.
36
43
  - **Odmítnutá aktualizace.** Když se `strom update` odmítne, řekne, že se nic nenainstalovalo a která verze zůstává,
package/CHANGELOG.de.md CHANGED
@@ -7,7 +7,7 @@ Die Änderungen jeder Version in Kürze. Die vollständigen Hinweise und die Ins
7
7
 
8
8
  ## 1.18.0
9
9
 
10
- *In Vorbereitung: die Betas bis 1.18.0-beta.6. Der Abschnitt ist mit dem Release vollständig.*
10
+ *In Vorbereitung: die Betas bis 1.18.0-beta.8. Der Abschnitt ist mit dem Release vollständig.*
11
11
 
12
12
  - **Handyfotos aufrecht.** Ein Foto, das nach seiner EXIF-Ausrichtung gedreht ist, wird gelesen, wie es gesehen
13
13
  werden soll, aufrecht; die darauf markierten Stellen (Ausschnitte, die Hälften einer Doppelseite, ein gespeicherter
@@ -23,7 +23,9 @@ Die Änderungen jeder Version in Kürze. Die vollständigen Hinweise und die Ins
23
23
  weg — auch ein Nachname, nie vom Vater oder aus einer anderen Familie genommen —, Unleserliches wird markiert; ein
24
24
  zweiter Leser kann blind lesen. In den Stammbaum gelangt nichts von selbst. Ein schon gelesenes Dokument sagt es,
25
25
  so wird es nicht versehentlich ein zweites Mal gelesen. Ein erneut gelesenes Dokument wird unter dem Namen seiner
26
- Datei gezeigt, nie unter einem Code.
26
+ Datei gezeigt, nie unter einem Code. Ein aus der Strom-App gesendetes Dokument findet den Agenten wie das Terminal —
27
+ auch einen in einem eigenen Ordner, über npm oder Homebrew installierten —, statt zu melden, es sei kein Agent
28
+ eingerichtet.
27
29
  - **Fotos vom Handy.** `strom phone on`, das nur ein Mensch einschaltet, lässt ein Handy im Heimnetz (WLAN oder
28
30
  Kabel — nie ein Mobilfunknetz oder ein VPN) zu diesem Computer. Das Handy wird einmal per QR-Code gekoppelt; seine
29
31
  Seite fotografiert dann oder wählt aus der Galerie und schickt die Fotos ganz in einen Stammbaum der Forschung, mit
@@ -34,7 +36,13 @@ Die Änderungen jeder Version in Kürze. Die vollständigen Hinweise und die Ins
34
36
  Sekunden aufgefrischt, solange die Seite angesehen wird — nur zum Ansehen: auf dem Handy wird nichts beantwortet,
35
37
  gestartet oder entschieden. Ein unerreichbarer Computer wird gesagt, mit den letzten Daten und ihrer Zeit. Die Seite
36
38
  öffnet den Stammbaum, dessen QR-Code sie gekoppelt hat, und lässt sich als Symbol auf den Home-Bildschirm legen,
37
- das sie ohne neues Koppeln öffnet.
39
+ das sie ohne neues Koppeln öffnet. Was wartet und die Änderungen lassen sich auf dem Handy ganz lesen: kein Text
40
+ dessen, was wartet, wird gekürzt, mehr als die ersten 20 kommen auf Antippen, eine Änderung mit vielen Zeilen klappt
41
+ ganz auf; Was wartet ist der letzte Teil der Seite. Eine Änderung vor heute hat bei der Uhrzeit auch ihr Datum (das
42
+ Jahr nur, wenn es nicht das laufende ist). Funde unter Jetzt zeigen, was die Forschung seit dem letzten Blick vom
43
+ Handy gefunden hat (mindestens die letzten 24 Stunden, ältere auf Antippen) — neue Personen, Quellen, gefundene,
44
+ korrigierte oder neu belegte Angaben, geklärte Widersprüche —, die neuen hervorgehoben; was bei offener Seite
45
+ hinzukommt, zeigt nur eine Zahl im Titel des Tabs und ein kleines Etikett.
38
46
  - **Eine Zustimmung in einer Sprache.** Eine Zustimmung, die nur ein Mensch gibt (eine Forschung entpacken, einen
39
47
  Stammbaum entfernen, ein abgelehntes Fenster), steht ganz in der Sprache der Forschung, nichts davon bleibt
40
48
  Englisch.
package/CHANGELOG.md CHANGED
@@ -7,7 +7,7 @@ The changes of each version in short. The full notes and the install lines are o
7
7
 
8
8
  ## 1.18.0
9
9
 
10
- *In preparation: the betas up to 1.18.0-beta.6. The section is complete with the release.*
10
+ *In preparation: the betas up to 1.18.0-beta.8. The section is complete with the release.*
11
11
 
12
12
  - **Phone photos upright.** A photo turned by its EXIF orientation is read as it is meant to be seen, upright; the
13
13
  places marked on it (excerpts, the halves of a spread, a cut-out part) are of the picture as it is shown. The
@@ -22,7 +22,8 @@ The changes of each version in short. The full notes and the install lines are o
22
22
  a name the document does not have is left out — a surname too, never taken from a father or another family —,
23
23
  what cannot be read is marked; a second reader can read it blind. Nothing of it enters the tree by itself. A
24
24
  document read already says so, so it is not read a second time by mistake. A document read again is shown under
25
- the name of its file, never a code.
25
+ the name of its file, never a code. A document sent from the Strom app finds the agent as the terminal does — one
26
+ installed in a folder of its own, by npm or Homebrew too — instead of saying no agent is set up.
26
27
  - **Photos from a phone.** `strom phone on`, turned on by the person alone, lets a phone on the home network (Wi-Fi
27
28
  or a cable — never a mobile network or a VPN) reach this computer. The phone is paired once by its QR code; its
28
29
  page then takes photos or picks them from the gallery and sends them whole into a tree of the research, with a
@@ -32,7 +33,12 @@ The changes of each version in short. The full notes and the install lines are o
32
33
  what waits for a decision, the last 24 hours and the latest changes, refreshed every 10 seconds while the page is
33
34
  looked at — only to look at: nothing on the phone answers, starts or decides anything. A computer out of reach is
34
35
  said, with the last data and their time. The page opens the tree whose QR code paired it, and it can be added to
35
- the home screen as an icon that opens it without pairing again.
36
+ the home screen as an icon that opens it without pairing again. What waits and the changes read whole on the phone:
37
+ no text of what waits is cut, more of it than the first 20 comes on a tap, a change of many lines unfolds whole;
38
+ What waits is the last part of the page. A change older than today has its date beside the time (the year only when
39
+ it is not this one). Finds, under Now, say what the research found since the phone looked last (the last 24 hours
40
+ at least, older ones on a tap) — new people, sources, facts found, corrected or newly cited, conflicts resolved —
41
+ the new ones marked; something new while the page is open shows only as a count in the tab's title and a small label.
36
42
  - **A consent in one language.** A consent only a person gives (unpacking a research, removing a tree, a window said
37
43
  no to) is said whole in the research's language, nothing of it left in English.
38
44
  - **An update said no to.** When `strom update` is declined, it says nothing was installed and which version stays,
@@ -1403,7 +1403,9 @@
1403
1403
  "ui.phone.page.waiting.title": "Co čeká",
1404
1404
  "ui.phone.page.waiting.none": "Nic nečeká.",
1405
1405
  "ui.phone.page.waiting.where": "Rozhodnout jde na počítači v Přehledu výzkumu.",
1406
- "ui.phone.page.waiting.more": "{n, plural, one {a # další na počítači} few {a # další na počítači} other {a # dalších na počítači}}",
1406
+ "ui.phone.page.waiting.more": "{n, plural, one {Ukázat další · zbývá #} few {Ukázat další · zbývají #} other {Ukázat další · zbývá #}}",
1407
+ "ui.phone.page.waiting.loading": "Načítá se…",
1408
+ "ui.phone.page.waiting.rest": "{n, plural, one {a # další v Přehledu výzkumu na počítači} few {a # další v Přehledu výzkumu na počítači} other {a # dalších v Přehledu výzkumu na počítači}}",
1407
1409
  "ui.phone.page.day": "Posledních 24 h",
1408
1410
  "ui.phone.page.day.people": "{n, plural, one {osoba} few {osoby} other {osob}}",
1409
1411
  "ui.phone.page.day.sources": "{n, plural, one {pramen} few {prameny} other {pramenů}}",
@@ -1412,7 +1414,28 @@
1412
1414
  "ui.phone.page.log.more": "Starší změny jsou v Přehledu výzkumu na počítači.",
1413
1415
  "ui.phone.page.log.new": "{n, plural, one {# nová změna ↑} few {# nové změny ↑} other {# nových změn ↑}}",
1414
1416
  "ui.phone.page.log.lines": "{n, plural, one {a # další} few {a # další} other {a # dalších}}",
1417
+ "ui.phone.page.log.fold": "Sbalit",
1415
1418
  "ui.phone.page.log.none": "Zatím se nic neuložilo.",
1419
+ "ui.phone.page.finds": "Nálezy",
1420
+ "ui.phone.page.finds.since": "od {time}",
1421
+ "ui.phone.page.finds.none": "Nic nového se nenašlo.",
1422
+ "ui.phone.page.finds.older": "Ukázat starší nálezy",
1423
+ "ui.phone.page.finds.loading": "Načítá se…",
1424
+ "ui.phone.page.finds.cut": "{n, plural, one {a # další v Přehledu výzkumu na počítači} few {a # další v Přehledu výzkumu na počítači} other {a # dalších v Přehledu výzkumu na počítači}}",
1425
+ "ui.phone.page.finds.sources": "Nové prameny",
1426
+ "ui.phone.page.finds.resolved": "Vyřešeno",
1427
+ "ui.phone.page.finds.kind.person": "Nově v rodokmenu",
1428
+ "ui.phone.page.finds.kind.family": "Nová rodina v rodokmenu",
1429
+ "ui.phone.page.finds.kind.name": "Jméno: {text}",
1430
+ "ui.phone.page.finds.kind.child": "Dítě: {text}",
1431
+ "ui.phone.page.finds.kind.fact": "{text}",
1432
+ "ui.phone.page.finds.kind.fixed": "{text} · opraveno",
1433
+ "ui.phone.page.finds.kind.cited": "{text} · nově doloženo",
1434
+ "ui.phone.page.finds.kind.source": "{text}",
1435
+ "ui.phone.page.finds.kind.conflict": "Rozpor: {text}",
1436
+ "ui.phone.page.finds.kind.hypothesis": "Otázka: {text}",
1437
+ "ui.phone.page.finds.newMark": "nové",
1438
+ "ui.phone.page.finds.new": "{n, plural, one {# novinka ↓} few {# novinky ↓} other {# novinek ↓}}",
1416
1439
  "ui.settings.phone": "Propojení s telefonem (fotky z telefonu do výzkumu v místní síti): {state}",
1417
1440
  "ui.settings.phone.on": "zapnuto, spárované telefony: {n}",
1418
1441
  "ui.settings.phone.error": "zapnuto, nedostupné",
@@ -1403,7 +1403,9 @@
1403
1403
  "ui.phone.page.waiting.title": "Wartet",
1404
1404
  "ui.phone.page.waiting.none": "Nichts wartet.",
1405
1405
  "ui.phone.page.waiting.where": "Entscheiden lässt sich am Computer in der Forschungsübersicht.",
1406
- "ui.phone.page.waiting.more": "{n, plural, one {und # weiteres am Computer} other {und # weitere am Computer}}",
1406
+ "ui.phone.page.waiting.more": "{n, plural, one {Weitere zeigen · noch #} other {Weitere zeigen · noch #}}",
1407
+ "ui.phone.page.waiting.loading": "Wird geladen…",
1408
+ "ui.phone.page.waiting.rest": "{n, plural, one {und # weiteres in der Forschungsübersicht am Computer} other {und # weitere in der Forschungsübersicht am Computer}}",
1407
1409
  "ui.phone.page.day": "Letzte 24 Std.",
1408
1410
  "ui.phone.page.day.people": "{n, plural, one {Person} other {Personen}}",
1409
1411
  "ui.phone.page.day.sources": "{n, plural, one {Quelle} other {Quellen}}",
@@ -1412,7 +1414,28 @@
1412
1414
  "ui.phone.page.log.more": "Ältere Änderungen stehen in der Forschungsübersicht am Computer.",
1413
1415
  "ui.phone.page.log.new": "{n, plural, one {# neue Änderung ↑} other {# neue Änderungen ↑}}",
1414
1416
  "ui.phone.page.log.lines": "{n, plural, one {und # weitere} other {und # weitere}}",
1417
+ "ui.phone.page.log.fold": "Weniger zeigen",
1415
1418
  "ui.phone.page.log.none": "Noch nichts gespeichert.",
1419
+ "ui.phone.page.finds": "Funde",
1420
+ "ui.phone.page.finds.since": "seit {time}",
1421
+ "ui.phone.page.finds.none": "Nichts Neues gefunden.",
1422
+ "ui.phone.page.finds.older": "Ältere Funde zeigen",
1423
+ "ui.phone.page.finds.loading": "Wird geladen…",
1424
+ "ui.phone.page.finds.cut": "{n, plural, one {und # weiterer in der Forschungsübersicht am Computer} other {und # weitere in der Forschungsübersicht am Computer}}",
1425
+ "ui.phone.page.finds.sources": "Neue Quellen",
1426
+ "ui.phone.page.finds.resolved": "Geklärt",
1427
+ "ui.phone.page.finds.kind.person": "Neu im Stammbaum",
1428
+ "ui.phone.page.finds.kind.family": "Neue Familie im Stammbaum",
1429
+ "ui.phone.page.finds.kind.name": "Name: {text}",
1430
+ "ui.phone.page.finds.kind.child": "Kind: {text}",
1431
+ "ui.phone.page.finds.kind.fact": "{text}",
1432
+ "ui.phone.page.finds.kind.fixed": "{text} · korrigiert",
1433
+ "ui.phone.page.finds.kind.cited": "{text} · neu belegt",
1434
+ "ui.phone.page.finds.kind.source": "{text}",
1435
+ "ui.phone.page.finds.kind.conflict": "Widerspruch: {text}",
1436
+ "ui.phone.page.finds.kind.hypothesis": "Frage: {text}",
1437
+ "ui.phone.page.finds.newMark": "neu",
1438
+ "ui.phone.page.finds.new": "{n, plural, one {# neu ↓} other {# neu ↓}}",
1416
1439
  "ui.settings.phone": "Verbindung mit dem Telefon (Fotos vom Telefon in die Forschung im lokalen Netz): {state}",
1417
1440
  "ui.settings.phone.on": "an, gekoppelte Telefone: {n}",
1418
1441
  "ui.settings.phone.error": "an, nicht erreichbar",
@@ -40,6 +40,12 @@
40
40
  <button id="treeBtn" class="tree" type="button" aria-haspopup="dialog"><span id="treeName"></span><span class="caret" aria-hidden="true">▼</span></button>
41
41
  <div class="status"><span id="dot" class="dot"></span><span id="statusText"></span></div>
42
42
  </header>
43
+ <!-- something new while the page is open: a small label under the header (no sound, no vibration, no dialog); the
44
+ progress's label of changes above stacked under it, never over it -->
45
+ <div class="notes">
46
+ <div class="findnote" aria-live="polite"><button id="findPill" class="findpill" type="button" hidden></button></div>
47
+ <button id="newPill" class="newpill" type="button" hidden></button>
48
+ </div>
43
49
  <div id="goneBanner" class="banner" hidden><span id="goneText"></span><button id="goneClose" class="x" type="button">×</button></div>
44
50
  <section id="down" class="card down" hidden>
45
51
  <h2 id="downTitle"></h2>
@@ -50,7 +56,7 @@
50
56
  <p id="noTrees" class="quiet" hidden></p>
51
57
  <section id="pairedCard" class="card" hidden><h2 id="pairedTitle"></h2><p id="pairedText" class="quiet"></p></section>
52
58
  <section id="archiveCard" class="card" hidden><p id="archiveText" class="strong"></p><p id="archivePhotos" class="quiet"></p></section>
53
- <!-- what the research does now, what waits, the last 24 hours and the progress: to look at alone (nothing here
59
+ <!-- what the research does now, what it found, the last 24 hours, the progress and what waits: to look at alone (nothing here
54
60
  answers, starts or decides anything) -->
55
61
  <div id="overview" hidden>
56
62
  <section id="nowCard" class="card">
@@ -58,12 +64,13 @@
58
64
  <ul id="nowLines" class="lines"></ul>
59
65
  <div id="nowIdle" hidden><p class="idle-row"><span class="ring" aria-hidden="true"></span><span id="nowIdleText"></span></p><p id="nowIdleLast" class="quiet small"></p></div>
60
66
  </section>
61
- <section id="waitCard" class="card">
62
- <h2 id="waitTitle" class="cap"></h2>
63
- <p id="waitNone" class="quiet" hidden></p>
64
- <ul id="waitList" class="waits"></ul>
65
- <p id="waitMore" class="quiet small" hidden></p>
66
- <p id="waitWhere" class="quiet small"></p>
67
+ <!-- what the research found since this phone looked last (the last 24 hours at least), the new ones marked -->
68
+ <section id="findsCard" class="card">
69
+ <h2 class="cap"><span id="findsTitle"></span> <span id="findsSince" class="since-label"></span></h2>
70
+ <p id="findsNone" class="quiet" hidden></p>
71
+ <ul id="findsList" class="finds"></ul>
72
+ <p id="findsCut" class="quiet small" hidden></p>
73
+ <p class="morerow"><button id="findsOlder" class="linkbtn" type="button" hidden></button></p>
67
74
  </section>
68
75
  <section id="dayCard" class="card" hidden>
69
76
  <h2 id="dayTitle" class="cap"></h2>
@@ -79,6 +86,15 @@
79
86
  <ul id="logList" class="log"></ul>
80
87
  <p id="logMore" class="quiet small" hidden></p>
81
88
  </section>
89
+ <!-- the last: each text whole, more of them asked for on a tap -->
90
+ <section id="waitCard" class="card">
91
+ <h2 id="waitTitle" class="cap"></h2>
92
+ <p id="waitNone" class="quiet" hidden></p>
93
+ <ul id="waitList" class="waits"></ul>
94
+ <p class="morerow"><button id="waitMore" class="linkbtn" type="button" hidden></button></p>
95
+ <p id="waitRest" class="quiet small" hidden></p>
96
+ <p id="waitWhere" class="quiet small"></p>
97
+ </section>
82
98
  </div>
83
99
  <p class="homerow"><button id="homeBtn" class="linkbtn" type="button" hidden></button></p>
84
100
  <section id="homeCard" class="card" hidden>
@@ -89,7 +105,6 @@
89
105
  <p><button id="homeClose" class="btn outline small" type="button"></button></p>
90
106
  </section>
91
107
  </div>
92
- <button id="newPill" class="newpill" type="button" hidden></button>
93
108
  <button id="strip" class="strip" type="button" hidden><span class="strip-bar"><span id="stripFill"></span></span><span id="stripText"></span></button>
94
109
  <footer class="bar">
95
110
  <button id="photoBtn" class="btn primary" type="button"></button>
@@ -74,20 +74,44 @@ button{font:inherit;color:inherit}
74
74
  .waits li{display:grid;grid-template-columns:8px minmax(0,1fr);gap:10px;padding:8px 0;border-top:1px solid var(--divider)}
75
75
  .waits li:first-child{border-top:0;padding-top:0}
76
76
  .waits .wdot{width:8px;height:8px;border-radius:50%;background:var(--waiting-dot);margin-top:7px}
77
- .waits .what{font-size:14.5px;font-weight:500}
78
- .waits .on{font-size:13px;color:var(--text-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
77
+ .waits .what{font-size:14.5px;font-weight:500;overflow-wrap:anywhere}
78
+ .waits .on{font-size:13px;color:var(--text-light);overflow-wrap:anywhere;margin-top:2px}
79
79
  #waitCard.none{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
80
80
  #waitCard.none .cap,#waitCard.none p{margin:0}
81
- #waitWhere,#waitMore,#logMore{margin:10px 0 0}
81
+ #waitWhere,#waitRest,#logMore{margin:10px 0 0}
82
+ .morerow{margin:6px 0 0}
83
+ .morerow .linkbtn{padding:10px 0;min-height:44px;text-align:left}
84
+ .morerow .linkbtn:disabled{color:var(--text-faint);text-decoration:none;cursor:default}
85
+ .finds li{padding:8px 0;border-top:1px solid var(--divider)}
86
+ .finds li:first-child{border-top:0;padding-top:0}
87
+ .finds .head{display:flex;align-items:baseline;gap:8px}
88
+ .finds .who{flex:1;min-width:0;font-size:15px;font-weight:600;overflow-wrap:anywhere}
89
+ .finds time{flex:none;overflow-wrap:normal;font-size:12.5px;color:var(--text-faint);font-variant-numeric:tabular-nums}
90
+ .finds p{margin:2px 0 0;font-size:14px;color:var(--text-light);overflow-wrap:anywhere}
91
+ .finds p.new{color:var(--text)}
92
+ .finds .nd{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-right:6px;vertical-align:middle}
93
+ .finds li.new{background:var(--primary-soft);border-radius:8px;margin:0 -8px;padding:8px;border-top-color:transparent}
94
+ .since-label{text-transform:none;letter-spacing:0;font-weight:400;color:var(--text-faint)}
95
+ #findsCard.none{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
96
+ #findsCard.none .cap,#findsCard.none p{margin:0}
97
+ #findsCut{margin:10px 0 0}
98
+ #findsCard,#waitCard{scroll-margin-top:calc(80px + env(safe-area-inset-top))}
99
+ /* the labels of something new: one sticky column under the header, the finds' first, the progress's under it (never
100
+ one over the other); of no height itself, so nothing under it is covered but the labels */
101
+ .notes{position:sticky;top:calc(65px + env(safe-area-inset-top));z-index:5;height:0;display:flex;flex-direction:column;align-items:center}
102
+ .findnote{display:flex;justify-content:center}
103
+ .findpill{margin-top:8px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--primary-dark);padding:0 14px;min-height:32px;font-size:13px;font-weight:600;cursor:pointer;box-shadow:0 1px 4px rgba(20,16,8,.15)}
82
104
  .day{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
83
105
  .day b{display:block;font-size:20px;font-weight:600;font-variant-numeric:tabular-nums}
84
106
  .day span{font-size:12.5px;color:var(--text-light)}
85
- .log li{display:grid;grid-template-columns:42px minmax(0,1fr);gap:8px;padding:7px 6px;margin:0 -6px;border-radius:8px}
86
- .log time{font-size:13px;color:var(--text-faint);font-variant-numeric:tabular-nums;padding-top:1px}
87
- .log p{margin:0;font-size:14px}
107
+ .log{display:grid;grid-template-columns:fit-content(88px) minmax(0,1fr)}
108
+ .log li{grid-column:1/-1;display:grid;grid-template-columns:fit-content(88px) minmax(0,1fr);grid-template-columns:subgrid;gap:8px;padding:7px 6px;margin:0 -6px;border-radius:8px}
109
+ .log time{min-width:42px;overflow-wrap:normal;font-size:13px;color:var(--text-faint);font-variant-numeric:tabular-nums;padding-top:1px}
110
+ .log p{margin:0;font-size:14px;overflow-wrap:anywhere}
88
111
  .log .more{font-size:13px;color:var(--text-faint)}
112
+ .log .unfold{display:block;background:none;border:0;padding:6px 0;margin:0;min-height:32px;font:inherit;font-size:13px;color:var(--primary);text-align:left;cursor:pointer}
89
113
  .log li.fresh{background:var(--primary-soft)}
90
- .newpill{position:fixed;top:calc(72px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);z-index:7;border:0;border-radius:999px;background:var(--primary);color:var(--on-primary);padding:0 16px;min-height:36px;font-size:13px;font-weight:600;cursor:pointer;box-shadow:0 2px 8px rgba(20,16,8,.25)}
114
+ .newpill{flex:none;margin-top:8px;border:0;border-radius:999px;background:var(--primary);color:var(--on-primary);padding:0 16px;min-height:36px;font-size:13px;font-weight:600;cursor:pointer;box-shadow:0 2px 8px rgba(20,16,8,.25)}
91
115
 
92
116
  /* the bar below: two buttons, the photos waiting above them */
93
117
  .bar{position:fixed;left:0;right:0;bottom:0;z-index:6;display:flex;gap:10px;padding:12px 16px max(12px,env(safe-area-inset-bottom));background:var(--bg);max-width:560px;margin:0 auto}