/* Independent local lights: the window keeps its time of day when the lamp changes. */
.room-night-off-art,.time-light{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity 1.2s}
.room-night-off-art{z-index:0;background:url(assets/room-night-off-v1.png) center/100% 100%}
.close-view .room-night-off-art{background-image:url(assets/sofa-night-off-v1.png)}
.app.night .room-night-art{opacity:0}
.app.night.lamp-on .room-night-art,.app.night:not(.lamp-on) .room-night-off-art{opacity:1}
.app:not(.lamp-on) .lamp-glow,.app:not(.lamp-on) .table-lamp::after{opacity:0}
.app.lamp-on .table-lamp::after{opacity:.8}
.app.lamp-on:not(.night) .lamp-glow{opacity:.30}
.time-light{z-index:2}
.app[data-phase=morning]:not(.rainy) .time-light{opacity:.7;background:radial-gradient(ellipse 60% 50% at 50% 20%,#ffe8ba30,transparent 95%),linear-gradient(123deg,transparent 36%,#ffe1a21c 37%,transparent 62%)}
.app[data-phase=dusk]:not(.rainy) .time-light{opacity:1;background:radial-gradient(ellipse 70% 65% at 55% 20%,#ffc08045,transparent 90%),linear-gradient(20deg,#80709615,transparent 65%)}
.app[data-phase=dusk]:not(.rainy) .rain{background:#f9b77925}
.app[data-phase=deep] .ambient-light{opacity:.18;background:linear-gradient(130deg,#7597c31f,transparent 72%)}

/* KN Maiyuan (荆南麦圆), SIL OFL 1.1; bundled subset keeps mobile diary text handwritten. */
@font-face{font-family:HarryHand;src:url(assets/diary-handwriting.woff2?v=moments55) format('woff2');font-weight:400;font-style:normal;font-display:swap}
.book-hotspot{position:absolute;z-index:5;left:0;top:77.4%;width:39.5%;height:13%;min-width:44px;min-height:44px;background:none;border:0;padding:0;border-radius:25%;-webkit-tap-highlight-color:transparent}
.book-hotspot:focus-visible{outline:2px dashed #fff1ba;outline-offset:2px;background:#fff3ce28}
.diary-cover{display:block;width:100%;height:100%;filter:drop-shadow(0 3px 1px #422b3250);stroke:none}
.diary-bookmark{position:absolute;right:21%;top:31%;width:5px;height:5px;border-radius:50%;background:#fff9da;box-shadow:0 0 5px 2px #fff4c88c,0 0 13px 4px #fae5ad42;pointer-events:none;animation:diary-glint 3.2s ease-in-out infinite}
.book-caption{position:absolute;bottom:95%;left:10%;white-space:nowrap;font-size:10px;color:#655640;background:#fff7e6eb;border:1px solid #d2bd96;border-radius:9px;padding:5px 9px;opacity:0;pointer-events:none;transition:opacity .2s}
.book-peek .book-caption,.book-hotspot:focus-visible .book-caption{opacity:1}
@media(hover:hover){.book-hotspot:hover .book-caption{opacity:1}}
.app.close-view .book-hotspot{display:none}
.night .diary-cover{filter:brightness(.55) saturate(.65) drop-shadow(0 2px 2px #151c28)}
.night.lamp-on .diary-cover{filter:brightness(.68) sepia(.15) drop-shadow(0 2px 2px #251c28)}
.rainy:not(.night) .diary-cover{filter:saturate(.65) brightness(.9) drop-shadow(0 2px 1px #422b3250)}
@keyframes diary-glint{50%{opacity:.45}}
.daily-dialog{width:min(92vw,440px);max-height:88dvh;padding:22px 25px;overflow:auto;overscroll-behavior:contain;border-radius:10px 22px 22px 10px;background:linear-gradient(90deg,#e6d6b64a,transparent 16px),#fff9ec;box-shadow:inset 6px 0 #ecdfc7,0 14px 60px #3a2c3450}
.daily-dialog .dialog-head{align-items:center;position:sticky;top:-22px;z-index:2;background:#fff9ec;padding:8px 0;border-bottom:1px solid #dfcfb34d}
.daily-dialog .eyebrow{font-size:10px;color:#9a8b71;letter-spacing:1.5px}
.daily-dialog button{min-height:44px;font-family:inherit}
.daily-dialog h2{font-family:HarryHand,serif;font-weight:400;font-size:29px;letter-spacing:1px;color:#67523d;margin:20px 0 8px}
.daily-dialog h2 span{font-size:23px;color:#87946e;margin-left:5px}
.daily-date{display:block;font-size:11px;letter-spacing:1.2px;color:#938065;font-variant-numeric:tabular-nums}
.daily-dialog .dialog-intro{font-size:11px;line-height:1.8;margin:8px 0 22px;color:#a29279}
.daily-list{list-style:none;margin:0;padding:0}
.daily-list li{padding:0 0 22px;margin:0 0 20px;border-bottom:1px solid #dac8aa61}
.daily-entry-head{display:flex;align-items:baseline;gap:11px}
.daily-entry-head time{font-size:12px;color:#83916e;font-variant-numeric:tabular-nums;white-space:nowrap}
.daily-entry-head h3{font-size:13px;font-weight:500;line-height:1.7;color:#71604d;margin:0}
.daily-reflection{font-family:HarryHand,serif;font-size:19px;font-weight:400;line-height:1.9;color:#8b6656;margin:9px 0 0;padding:0 2px 0 13px;letter-spacing:.2px;background:repeating-linear-gradient(transparent 0 calc(1.9em - 1px),#d8cbb536 calc(1.9em - 1px) 1.9em);border-left:2px solid #c7a58a50;overflow-wrap:anywhere;text-wrap:pretty}
.daily-empty{text-align:center;padding:26px 8px 35px;color:#a39076}
.daily-empty>span{font-size:34px;color:#a4ae8c}
.daily-empty p{font-family:HarryHand,serif;font-size:19px;line-height:1.8}
.daily-note{font-size:10px;line-height:1.9;color:#9a8b76;margin:9px 0}
.daily-fiction{text-align:center;font-size:9px;letter-spacing:.4px;margin:0 0 22px}
.daily-settings{border-top:1px dashed #d4c5ab;padding-top:8px}
.daily-settings summary{cursor:pointer;padding:10px 0;color:#98856d;font-size:11px;min-height:44px}
.daily-settings h3{font-size:12px;font-weight:500;color:#806b54;margin:10px 0}
.daily-environment{display:flex;gap:6px}
.daily-environment button{flex:1;padding:8px 6px;border-radius:12px;background:#f0e6d4;color:#786650;font-size:12px}
.daily-dialog button[aria-pressed=true]{background:#a9b593;color:#fffbed}
.daily-follow{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:15px 0;font-size:12px;color:#786650}
.daily-follow button{padding:8px 14px;border-radius:12px;background:#ece4d4;color:#7b6850}
.daily-dialog:focus{outline:none}
.speech p{white-space:nowrap;overflow:hidden}
.speech-paged{cursor:pointer}
.speech-paged .speech-mark{font-size:19px;color:#887452}
.speech-paged:focus-visible{outline:2px solid #8d9c72;outline-offset:3px}
@media(max-width:350px){.daily-dialog{padding:18px}.daily-dialog .dialog-head{top:-18px}.daily-reflection{font-size:18px;padding-left:9px}.daily-entry-head{gap:8px}.daily-entry-head h3{font-size:12px}}
@media(prefers-reduced-motion:reduce){.room-night-off-art,.time-light,.book-caption{transition:none}.diary-bookmark{animation:none}}
