/* 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; } }