{ float: right; color: var(--muted); font-size: 0.72rem; font-style: italic; } blockquote { border-left: 2px solid var(--lavender); padding-left: 14px; color: var(--muted); font-style: italic; margin: 12px 0; } a { color: var(--lavender); } diff --git a/docs/library/TREE_GLOW_v0.md b/docs/library/TREE_GLOW_v0.md index 79ed663..1ee345f 100644 --- a/docs/library/TREE_GLOW_v0.md +++ b/docs/library/TREE_GLOW_v0.md @@ -39,3 +39,16 @@ From Hypha's persona walks (2026-09-30), most harmful first: - The picker's "not yet" sits above the later seats at 1280. - Zoomed home: the light legend leaves "Garden Galaxy / you are in the garden", and "galaxies" stays inside the edge. Zoomed Nursery: the egg fits, the sentence wraps, Begin is in view; on a phone the hop lights rest dim behind it. - A quiet Chat remount (a mind was remembered) no longer pulls the page down to Send. + +## Glow 2b: a hint more frost, readable doors, honest chairs (v-tree-glow-2b-v0) + +**Temperature:** the glass mists a little when a light opens, and every word she needs is big enough and bright enough to read. + +- A hint more frost behind an open place (2px blur, a little tint), a stronger tint where frosted glass is missing, and a calm opaque face for reduced transparency. +- Header "Chat" and "galaxies" (12px, 2.45 : 1) and "shared shoulder" (9.9px, 1.97 : 1) are 14px and about 9 to 10 : 1. The shoulder rests under places other than the Gathering, where it sat on "the garden" and took no tap anyway. +- "Desktop" / "FreeLattice Desktop" / "install" links are moon-blue on night (12.6 : 1, was 1.83 to 2.08 : 1). +- A sleeping Send says "Send sleeps until a mind is remembered in Settings." beside it; sleeping Ask and Run say the same for the benches. The sleeping row dims, the reason does not. +- "Change" shows only on a seated chair. +- Code mirrors (code-nursery and five more) wrap long paths on a phone instead of scrolling sideways. + +Later (not in 2b): the rest of Hypha's contrast list (`CONTRAST.md`, 67 pairs under 4.5 : 1 and 132 under 14px), as one sweep with Kirk's eye on the night palette. diff --git a/docs/modules/garden-rooms.css b/docs/modules/garden-rooms.css index 7cfa1b8..7cb4d9d 100644 --- a/docs/modules/garden-rooms.css +++ b/docs/modules/garden-rooms.css @@ -6399,3 +6399,122 @@ html.flc-hide-galaxy #gardenContainer { border-color: rgba(232, 196, 104, 0.6); color: #e8c468; } + +/* v-tree-glow-2b-v0: Tree glow 2b, a hint more frost, readable doors, honest chairs. + Layer, never delete. Words stay. Lights stay. Only glass, ink and size move. */ + +/* (1) A hint more frost when a light is tapped. The glass sits under every place's own + tint (z-index -1 inside the veil), so each place keeps its gradient. */ +#place-veil.is-open::before { + content: ""; + position: fixed; + inset: 0; + z-index: -1; + pointer-events: none; + background: rgba(12, 10, 26, 0.1); + -webkit-backdrop-filter: blur(2px) saturate(1.05); + backdrop-filter: blur(2px) saturate(1.05); +} +@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) { + /* no frosted glass in this browser: a little more tint instead */ + #place-veil.is-open::before { background: rgba(12, 10, 26, 0.24); } +} +@media (prefers-reduced-transparency: reduce) { + #place-veil.is-open::before { + -webkit-backdrop-filter: none; + backdrop-filter: none; + background: rgba(12, 10, 26, 0.62); + } +} + +/* (2) "FreeLattice Desktop" and "install" were browser blue on night (1.83 : 1). + Moon-blue, underlined, the same before and after a visit. */ +#place-veil .core-note a, +#place-veil .core-note a:visited, +#place-veil [data-mind-status] a, +#place-veil [data-mind-status] a:visited { + color: #9fd6ff; + text-decoration: underline; + text-underline-offset: 2px; +} +#place-veil .core-note a:hover, +#place-veil .core-note a:focus-visible, +#place-veil [data-mind-status] a:hover, +#place-veil [data-mind-status] a:focus-visible { + color: #e8c468; +} + +/* (3) Header "Chat" and "galaxies" were 12px at 2.45 : 1 on every page, and + "shared shoulder" 9.9px at 1.97 : 1. Both are 14px and above 4.5 : 1 now. */ +#garden-header nav, +#garden-header nav a, +#garden-header nav summary, +#garden-header nav .thread-word { + font-size: 0.875rem; +} +#garden-header nav a, +#garden-header nav summary, +#garden-header nav .thread-word { + color: rgba(214, 222, 238, 0.86); +} +#shared-shoulder { + font-size: 0.875rem; + letter-spacing: 0.03em; + color: rgba(214, 222, 238, 0.8); +} +#shared-shoulder a:hover, +#shared-shoulder a:focus-visible { + color: #c4b5fd; +} +@media (max-width: 340px) { + /* zoomed hands: the words are already large on the glass; keep them inside the edge */ + #garden-header nav, + #garden-header nav a, + #garden-header nav summary, + #garden-header nav .thread-word { + font-size: 0.8rem; + } + #shared-shoulder { font-size: 0.75rem; } +} + +/* (4) A sleeping Send, Ask or Run says why, right beside it, in readable ink. */ +.thread-send-why, +.workshop-act-why { + margin: 6px 0 0; + font-family: Georgia, 'Times New Roman', serif; + font-size: 0.875rem; + line-height: 1.4; + color: rgba(226, 232, 244, 0.86); +} +.thread-send-why[hidden], +.workshop-act-why[hidden] { display: none; } + +/* (5) "Change" showed on every empty chair: its own display:block won over [hidden]. */ +.core-chair-change[hidden] { display: none !important; } +/* the sleeping compose dimmed its whole box, so its glass let the words behind show + through and the reason would have dimmed too. Dim the sleeping row, keep the glass. */ +.thread-compose.is-closed { opacity: 1; } +.thread-compose.is-closed > :not(.thread-send-why) { opacity: 0.5; } +@media (max-width: 640px) { + /* phone Gathering card: a sleeping Send row offers nothing to tap and sat on the + Settings door; the card says why instead, under the Settings door. */ + #place-veil.is-core #room-chat .thread-compose.is-closed { + position: static; + } + #place-veil.is-core #room-chat .thread-compose.is-closed .thread-compose-row { + display: none; + } + #place-veil.is-core #room-chat:has(.thread-compose.is-closed) { + max-height: 9.25rem; + } + #place-veil.is-core #room-chat .thread-compose.is-closed .thread-send-why { + margin-top: 2px; + font-size: 0.875rem; + } +} +/* the larger shoulder sat on "the garden" over Workshop. Under an open place it was + behind the glass and took no tap anyway; it rests there (the Gathering keeps it). */ +html:has(#place-veil.is-open:not(.is-core)) #shared-shoulder { + visibility: hidden; +} + diff --git a/docs/modules/garden-thread.js b/docs/modules/garden-thread.js index 13b1031..f2794a5 100644 --- a/docs/modules/garden-thread.js +++ b/docs/modules/garden-thread.js @@ -571,6 +571,12 @@ row.appendChild(input); row.appendChild(sendBtn); form.appendChild(row); + // v-tree-glow-2b-v0: a sleeping Send says why, right under it, where the eye already is. + // (The input's own label says the same for a screen reader.) + var sendWhy = el('p', 'thread-send-why', 'Send sleeps until a mind is remembered in Settings.'); + sendWhy.id = 'thread-send-why-' + Math.random().toString(36).slice(2, 8); + sendWhy.hidden = true; + form.appendChild(sendWhy);