fix: refine heaven readings and heart breathing

This commit is contained in:
leefer
2026-07-23 20:15:30 +08:00
parent 95789c837c
commit e6db73f9ba
4 changed files with 170 additions and 23 deletions
+116 -6
View File
@@ -10392,7 +10392,7 @@ body.sidebar-collapsed .sidebar-collapse-button .lucide {
box-shadow: 0 0 14px 4px rgba(255, 180, 90, 0.35);
}
.heart-incense i.is-burning { animation: heart-incense-burn 30s linear forwards; }
.heart-incense i.is-burning { animation: heart-incense-burn 40s linear forwards; }
#heavenHeartPanel #beginCastingButton {
opacity: 0.35;
@@ -10787,6 +10787,9 @@ body.sidebar-collapsed .sidebar-collapse-button .lucide {
animation-duration: 1ms !important;
transition-duration: 1ms !important;
}
#heavenHeartPanel .heart-breath-enso,
#heavenHeartPanel .breathing-phase { transition: none !important; }
}
/* Shared paper mode: every heart stage uses the same surface as trend and fortune. */
@@ -10979,6 +10982,92 @@ body.sidebar-collapsed .sidebar-collapse-button .lucide {
opacity: 0.78;
}
/* Fixed ink enso: breath is expressed through tone and light, never geometry. */
#heavenHeartPanel .heart-breath-enso {
width: 176px;
height: 176px;
position: absolute;
top: 43%;
left: 50%;
z-index: 2;
color: rgba(111, 76, 54, 0.7);
opacity: 0.74;
filter: drop-shadow(0 0 5px rgba(154, 91, 69, 0.06));
transform: translate(-50%, -50%);
transition: color 3.8s cubic-bezier(0.22, 0.61, 0.36, 1), opacity 3.8s cubic-bezier(0.22, 0.61, 0.36, 1), filter 3.8s cubic-bezier(0.22, 0.61, 0.36, 1);
}
#heavenHeartPanel .heart-breath-enso::before {
content: "";
position: absolute;
inset: 12px;
border: 7px solid currentColor;
border-right-color: transparent;
border-bottom-color: rgba(111, 76, 54, 0.28);
border-radius: 49% 51% 47% 53% / 52% 48% 54% 46%;
box-shadow: inset 0 0 0 1px rgba(253, 252, 248, 0.76);
transform: rotate(-26deg);
}
#heavenHeartPanel .heart-breath-enso::after {
content: "";
position: absolute;
inset: 31px;
border: 1px solid rgba(139, 112, 77, 0.13);
border-radius: 50%;
}
#heavenHeartPanel .heart-breath-enso > i {
width: 8px;
height: 8px;
position: absolute;
top: 30px;
right: 31px;
border-radius: 50%;
background: currentColor;
box-shadow: 0 0 11px rgba(154, 91, 69, 0.18);
}
#heavenHeartPanel .breathing-scene[data-phase="inhale"] .heart-breath-enso {
color: rgba(126, 77, 52, 0.86);
opacity: 1;
filter: drop-shadow(0 0 13px rgba(194, 159, 90, 0.2));
}
#heavenHeartPanel .breathing-scene[data-phase="exhale"] .heart-breath-enso {
color: rgba(91, 99, 91, 0.48);
opacity: 0.5;
filter: drop-shadow(0 0 3px rgba(91, 99, 91, 0.04));
}
#heavenHeartPanel .breathing-scene[data-phase="settled"] .heart-breath-enso {
color: rgba(111, 76, 54, 0.64);
opacity: 0.72;
filter: none;
}
#heavenHeartPanel .breathing-phase {
top: 43%;
bottom: auto;
z-index: 3;
color: #76513d;
font-family: var(--heaven-serif);
font-size: 20px;
font-weight: 500;
transform: translateY(-50%);
transition: color 3.8s ease, opacity 3.8s ease;
}
#heavenHeartPanel .breathing-scene[data-phase="exhale"] .breathing-phase {
color: #6f756e;
opacity: 0.72;
}
#heavenHeartPanel .breathing-scene[data-phase="settled"] .breathing-phase {
color: #76513d;
opacity: 1;
}
/* Account identity and membership access states */
.account-menu-shell { position: relative; display: inline-flex; align-items: center; gap: 6px; }
.account-menu-chevron { width: 13px !important; height: 13px !important; margin-left: 1px; transition: transform 180ms var(--ease-out); }
@@ -11666,10 +11755,13 @@ button.account-role-badge:focus-visible { outline: 2px solid var(--blue); outlin
.heaven-reading-dialog {
width: min(920px, calc(100vw - 32px));
height: min(820px, calc(100dvh - 32px));
max-height: min(820px, calc(100dvh - 32px));
grid-template-rows: auto auto minmax(0, 1fr);
overflow: hidden;
background: #fdfcf8;
}
.heaven-reading-dialog[open] { display: grid; }
.heaven-reading-tabs {
display: flex;
gap: 4px;
@@ -11689,7 +11781,25 @@ button.account-role-badge:focus-visible { outline: 2px solid var(--blue); outlin
}
.heaven-reading-tabs button.active { border-bottom-color: #9a5b45; color: #6f3f31; font-weight: 700; }
.heaven-reading-tabs button:focus-visible { outline: 2px solid #9a5b45; outline-offset: 1px; }
.heaven-reading-current { min-height: 430px; max-height: calc(100dvh - 170px); overflow-y: auto; padding: 24px 28px 30px; }
.heaven-reading-current {
min-height: 0;
max-height: none;
overflow-y: auto;
padding: 24px 28px 30px;
scrollbar-gutter: stable;
overscroll-behavior: contain;
}
.heaven-reading-current::-webkit-scrollbar,
.heaven-reading-history-detail::-webkit-scrollbar,
.heaven-reading-history-list-wrap::-webkit-scrollbar { width: 9px; }
.heaven-reading-current::-webkit-scrollbar-thumb,
.heaven-reading-history-detail::-webkit-scrollbar-thumb,
.heaven-reading-history-list-wrap::-webkit-scrollbar-thumb {
border: 2px solid transparent;
border-radius: 8px;
background: rgba(112, 94, 72, .34);
background-clip: padding-box;
}
.heaven-reading-loading { min-height: 360px; display: grid; place-content: center; justify-items: center; gap: 10px; text-align: center; }
.heaven-reading-loading[hidden] { display: none; }
.heaven-reading-mark {
@@ -11719,7 +11829,7 @@ button.account-role-badge:focus-visible { outline: 2px solid var(--blue); outlin
.heaven-reading-history-detail > p { margin: 12px 0 0; color: var(--text-secondary); font-size: 12px; }
.heaven-reading-answer { margin-top: 24px; color: #303833; font-family: var(--heaven-serif); font-size: 15px; line-height: 1.95; }
.heaven-reading-answer .mentor-answer-heading { color: #713f31; }
.heaven-reading-history { min-height: 500px; max-height: calc(100dvh - 170px); display: grid; grid-template-columns: 270px minmax(0, 1fr); overflow: hidden; }
.heaven-reading-history { min-height: 0; max-height: none; display: grid; grid-template-columns: 270px minmax(0, 1fr); overflow: hidden; }
.heaven-reading-history[hidden] { display: none; }
.heaven-reading-history-list-wrap { min-width: 0; overflow-y: auto; border-right: 1px solid var(--border); background: rgba(246, 244, 237, .72); }
.heaven-reading-history-heading { display: flex; justify-content: space-between; gap: 10px; padding: 15px 16px 10px; color: var(--text-secondary); font-size: 11px; }
@@ -11741,9 +11851,9 @@ button.account-role-badge:focus-visible { outline: 2px solid var(--blue); outlin
.heart-toolbar-controls .heart-history-button { width: 36px; min-width: 36px; min-height: 36px; padding: 0; }
.heart-toolbar-controls span { display: none; }
.heart-read-actions { flex-wrap: wrap; justify-content: flex-end; }
.heaven-reading-dialog { width: calc(100vw - 16px); max-height: calc(100dvh - 16px); margin: 8px auto; }
.heaven-reading-current { min-height: 360px; max-height: calc(100dvh - 150px); padding: 20px 17px 24px; }
.heaven-reading-history { min-height: 0; max-height: calc(100dvh - 150px); grid-template-columns: 1fr; overflow-y: auto; }
.heaven-reading-dialog { width: calc(100vw - 16px); height: calc(100dvh - 16px); max-height: calc(100dvh - 16px); margin: 8px auto; }
.heaven-reading-current { min-height: 0; max-height: none; padding: 20px 17px 24px; }
.heaven-reading-history { min-height: 0; max-height: none; grid-template-columns: 1fr; overflow-y: auto; }
.heaven-reading-history-list-wrap { max-height: 210px; border-right: 0; border-bottom: 1px solid var(--border); }
.heaven-reading-history-detail { overflow: visible; padding: 20px 17px 24px; }
.heaven-reading-result > header,