Files
2026-09-09 14:47:29 +08:00

569 lines
9.3 KiB
Plaintext

/* Personal storybook: horizontal pages with elder-friendly reading controls. */
.memories-shell {
height: 100vh;
min-height: 0;
overflow: hidden;
}
.memories-book {
display: flex;
width: 100%;
height: 100%;
min-height: 0;
overflow: hidden;
border-radius: 9px;
flex-direction: column;
}
.memories-head {
position: relative;
display: flex;
min-height: 66px;
flex: 0 0 auto;
align-items: center;
justify-content: space-between;
padding: 8px 10px 8px 12px;
border-bottom: 3px solid #9b332a;
}
.memory-back,
.memory-font,
.empty-action,
.memory-reread,
.memory-end-action {
display: flex;
min-height: 48px;
align-items: center;
justify-content: center;
padding: 6px 13px;
border: 2px solid #997a54;
border-radius: 7px;
font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif;
font-size: 18px;
font-weight: 850;
}
.memory-back,
.memory-font {
color: #52392a;
background: #ead8af;
}
.memories-heading {
position: absolute;
z-index: 1;
top: 8px;
right: 246px;
left: 134px;
display: flex;
min-width: 0;
align-items: center;
pointer-events: none;
flex-direction: column;
}
.memories-title {
overflow: hidden;
font-size: 29px;
font-weight: 900;
letter-spacing: 3px;
line-height: 1.16;
text-overflow: ellipsis;
white-space: nowrap;
}
.memories-subtitle {
overflow: hidden;
color: #725b43;
font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif;
font-size: 16px;
font-weight: 700;
text-overflow: ellipsis;
white-space: nowrap;
}
.capsule-safe-space {
width: 102px;
height: 48px;
flex: 0 0 102px;
}
.memories-head-actions {
position: absolute;
z-index: 2;
top: 8px;
right: 10px;
display: flex;
align-items: center;
gap: 10px;
}
.memory-font {
min-width: 112px;
white-space: nowrap;
}
.memory-back-short,
.memory-font-short {
display: none;
}
.memory-back {
position: absolute;
z-index: 2;
top: 8px;
left: 12px;
width: 112px;
min-width: 112px;
}
.empty-memory {
display: grid;
width: calc(100% - 48px);
max-width: 680px;
min-height: 230px;
align-self: center;
grid-template-columns: 132px minmax(0, 1fr);
align-items: stretch;
margin: auto;
overflow: hidden;
background: #f8ecc9;
border: 3px double #97784f;
border-radius: 6px;
box-shadow: 0 12px 28px rgba(67, 40, 23, 0.18);
}
.empty-bookmark {
display: flex;
align-items: center;
justify-content: center;
color: #f8e7bb;
background: #913128;
font-size: 30px;
font-weight: 900;
letter-spacing: 7px;
writing-mode: vertical-rl;
}
.empty-copy {
display: flex;
justify-content: center;
padding: 22px 28px;
flex-direction: column;
}
.empty-title {
font-size: 27px;
font-weight: 900;
}
.empty-text {
margin-top: 9px;
color: #604b36;
font-size: 18px;
font-weight: 650;
line-height: 1.55;
}
.empty-action {
width: 190px;
margin-top: 14px;
color: #fff0cc;
background: #943128;
border-color: #74231d;
}
.memory-scroll {
width: 100%;
min-height: 0;
flex: 1;
padding: 12px 0 10px;
}
.memory-pages {
display: inline-flex;
min-width: 100%;
height: 100%;
align-items: stretch;
gap: 16px;
padding: 0 18px;
}
.memory-sheet {
position: relative;
display: grid;
width: 710px;
height: 100%;
min-height: 0;
flex: none;
overflow: hidden;
grid-template-columns: 225px minmax(0, 1fr);
background:
repeating-linear-gradient(0deg, rgba(84, 55, 31, 0.025) 0, rgba(84, 55, 31, 0.025) 1px, transparent 1px, transparent 6px),
#f8edcc;
border: 3px double #91724b;
border-radius: 6px;
box-shadow: 0 10px 24px rgba(58, 35, 21, 0.2);
scroll-snap-align: center;
}
.memory-sheet-spine {
position: absolute;
z-index: 2;
top: 0;
bottom: 0;
left: 219px;
width: 7px;
pointer-events: none;
background: linear-gradient(90deg, rgba(81, 50, 27, 0.1), rgba(255, 255, 255, 0.58), rgba(81, 50, 27, 0.12));
}
.memory-left {
position: relative;
display: flex;
min-width: 0;
align-items: center;
padding: 17px 20px;
background: #263a3e;
flex-direction: column;
color: #f5e5bd;
}
.memory-page-number {
align-self: flex-start;
color: #d6ba7e;
font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif;
font-size: 16px;
font-weight: 750;
}
.memory-person-seal {
display: flex;
width: 74px;
height: 74px;
align-items: center;
justify-content: center;
margin-top: 4px;
color: #8d2d25;
background: #efe0b8;
border: 5px double #ad4d3a;
border-radius: 50%;
font-size: 37px;
font-weight: 900;
}
.memory-person {
margin-top: 5px;
font-size: 25px;
font-weight: 900;
}
.memory-era {
margin-top: 4px;
color: #e3cf9f;
font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif;
font-size: 16px;
font-weight: 650;
line-height: 1.4;
text-align: center;
}
.memory-object {
display: flex;
width: 100%;
margin-top: auto;
padding: 8px 10px;
color: #f5e5bd;
background: rgba(0, 0, 0, 0.18);
border-left: 4px solid #caa65e;
flex-direction: column;
font-size: 17px;
font-weight: 750;
line-height: 1.4;
}
.memory-right {
min-width: 0;
height: 100%;
padding: 14px 22px 16px 25px;
}
.memory-chapter {
display: block;
color: #8d2f27;
font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif;
font-size: 17px;
font-weight: 850;
}
.memory-echo {
display: block;
margin-top: 7px;
padding-bottom: 7px;
font-size: 23px;
font-weight: 900;
line-height: 1.45;
border-bottom: 1px solid #c9af7f;
}
.memory-note {
display: flex;
margin-top: 8px;
color: #4f3c2b;
font-size: 17px;
font-weight: 700;
line-height: 1.42;
flex-direction: column;
}
.memory-label {
display: block;
margin-bottom: 2px;
color: #a03b31;
font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif;
font-size: 15px;
font-weight: 850;
}
.family-note {
padding-left: 10px;
border-left: 4px solid #35634f;
}
.memory-reread {
width: 156px;
margin-top: 10px;
color: #fff0cc;
background: #8d3028;
border-color: #70231e;
}
.memory-end-card {
display: flex;
width: 310px;
height: 100%;
min-height: 0;
flex: none;
justify-content: center;
padding: 24px;
color: #f2e2b8;
background: #3a2a20;
border: 3px double #ad8d5e;
border-radius: 6px;
flex-direction: column;
font-size: 18px;
font-weight: 650;
line-height: 1.55;
}
.memory-end-title {
margin-bottom: 10px;
font-size: 26px;
font-weight: 900;
}
.memory-end-action {
width: 170px;
margin-top: 18px;
color: #34251c;
background: #e9d6a8;
}
.font-xlarge .memory-echo {
font-size: 26px;
}
.font-xlarge .memory-note,
.font-xlarge .memory-object,
.font-xlarge .memory-end-card {
font-size: 19px;
}
@media (max-width: 730px), (max-height: 400px) {
.memories-head {
min-height: 58px;
padding: 5px 4px;
}
.memories-heading {
top: 17px;
right: 158px;
left: 82px;
}
.memory-back,
.memory-font,
.empty-action,
.memory-reread,
.memory-end-action {
min-height: 48px;
padding-right: 8px;
padding-left: 8px;
font-size: 16px;
}
.memories-title {
font-size: 18px;
letter-spacing: 0;
}
.memories-subtitle {
display: none;
}
.capsule-safe-space {
width: 76px;
flex-basis: 76px;
}
.memory-font {
width: 72px;
min-width: 72px;
padding-right: 4px;
padding-left: 4px;
}
.memory-back {
top: 5px;
left: 4px;
width: 74px;
min-width: 0;
padding-right: 4px;
padding-left: 4px;
}
.memories-head-actions {
top: 5px;
right: 4px;
gap: 4px;
}
.memory-back-long,
.memory-font-long {
display: none;
}
.memory-back-short,
.memory-font-short {
display: inline;
}
.memory-scroll {
padding-top: 8px;
padding-bottom: 8px;
}
.memory-pages {
gap: 12px;
padding: 0 10px;
}
.memory-sheet {
width: 565px;
grid-template-columns: 170px minmax(0, 1fr);
}
.memory-sheet-spine {
left: 164px;
}
.memory-left {
padding: 10px 12px;
}
.memory-page-number {
font-size: 14px;
}
.memory-person-seal {
width: 58px;
height: 58px;
margin-top: 1px;
font-size: 29px;
}
.memory-person {
margin-top: 2px;
font-size: 21px;
}
.memory-era {
font-size: 14px;
line-height: 1.3;
}
.memory-object {
padding: 6px 8px;
font-size: 15px;
}
.memory-right {
padding: 10px 14px 12px 18px;
}
.memory-chapter {
font-size: 15px;
}
.memory-echo {
margin-top: 4px;
padding-bottom: 5px;
font-size: 20px;
line-height: 1.32;
}
.memory-note {
margin-top: 5px;
font-size: 15.5px;
line-height: 1.32;
}
.memory-label {
font-size: 14px;
}
.memory-reread {
width: 138px;
margin-top: 7px;
}
.font-xlarge .memory-echo {
font-size: 22px;
}
.font-xlarge .memory-note,
.font-xlarge .memory-object,
.font-xlarge .memory-end-card {
font-size: 17px;
}
.empty-memory {
width: calc(100% - 24px);
max-width: 590px;
min-height: 220px;
grid-template-columns: 100px minmax(0, 1fr);
}
.empty-bookmark {
font-size: 25px;
}
.empty-copy {
padding: 15px 20px;
}
.empty-title {
font-size: 23px;
}
.empty-text {
margin-top: 5px;
font-size: 16px;
line-height: 1.42;
}
.empty-action {
margin-top: 8px;
}
}