:root{color-scheme:light;--cocoa:#765442;--muted:#a18777;--pink:#c88f98}*{box-sizing:border-box}body{margin:0;background:#eee5da;color:var(--cocoa);font-family:"Songti SC","STSong",Georgia,serif}button,input,select,textarea{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid #a4b9c7;outline-offset:4px}button{border:0;background:none}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.diary-page{width:min(100%,520px);margin:auto;min-height:100svh;padding:45px 22px 44px;background:#fff8ef url('assets/memory-bear-cream-v2.png') center top/100% auto no-repeat}.top{display:flex;align-items:center;justify-content:space-between;text-align:center;margin:0 5px 8px}.top>a{font:35px/1 Georgia;width:30px}.top small{font:8px/1.4 Georgia;letter-spacing:.32em}.top h1{font-size:25px;letter-spacing:.09em;font-weight:400;margin:9px 0 0}.top h1:after{content:"";display:block;height:5px;background:#efcdd0;opacity:.55;width:85px;margin:5px auto;transform:rotate(-2deg);border-radius:50%}.top button{width:30px;padding:5px}.top svg{width:21px;fill:none;stroke:currentColor;stroke-width:1.5}.bookshelf{position:relative;height:210px;margin:12px 0 0}.books{position:absolute;inset:0 6px 5px;display:flex;align-items:flex-end;justify-content:center;gap:0}.book{position:relative;padding:0;width:33.3%;flex-shrink:0;transform-origin:50% 95%;transition:transform .3s ease,filter .3s;filter:drop-shadow(0 3px 3px #684b3920)}.book img{display:block;width:100%;height:auto}.book.shen{transform:rotate(-5deg) translate(4px,-6px)}.book.nuo{transform:translateY(-13px);z-index:2}.book.exchange{transform:rotate(5deg) translate(-4px,-5px)}.book.selected{transform:translateY(-25px) rotate(0);z-index:3;filter:drop-shadow(0 3px 4px #c88f9855)}.pocket{position:absolute;z-index:4;left:0;right:0;bottom:0;height:44px;pointer-events:none;border:1px solid #ffffffb8;border-top:1px solid #ffffffeb;border-radius:9% 9% 20px 20px / 18% 18% 55% 55%;background:linear-gradient(175deg,#fffdf55c,#e9d2cb85 65%,#fff8ee88);box-shadow:0 6px 12px #8f6e5210,inset 0 -2px 6px #ffffff55;backdrop-filter:blur(3px)}.pocket span{display:block;text-align:center;font-size:31px;line-height:39px;color:#c58d94b0;text-shadow:0 1px #fff9}.shelf-caption{text-align:center;font-size:10px;color:#a08a7a;margin:12px 0 18px;letter-spacing:.07em}.actions{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:0 0 24px}.actions button{min-height:55px;border:1px solid #d6ada878;border-radius:22px;background:#fffdf58f;font-size:12px;padding:6px 1px;transition:background .2s,transform .2s}.actions button span{display:block;font-size:21px;line-height:24px;color:#b9868c}.actions button[aria-pressed=true]{background:#f6dde0ad}.actions button:active{transform:scale(.96)}.section-head{display:flex;align-items:center;justify-content:space-between;margin:0 3px 11px}.section-head h2{font-size:16px;font-weight:400;margin:0}.section-head i{font-style:normal;color:#d39ba2;margin-left:6px}.section-head button{font-size:10px;color:#a08778}.entry{position:relative;display:block;width:100%;aspect-ratio:2001/503;margin:0 0 13px;padding:12px 27% 10px 17px;text-align:left;background:url('assets/diary-cover-star-v1.png') center/100% 100% no-repeat;transition:transform .2s;filter:drop-shadow(0 3px 5px #8f6e5208)}.entry:active{transform:scale(.985)}.entry small{display:block;font-family:Georgia,"Songti SC",serif;font-size:8px;color:#a28677;letter-spacing:.04em}.entry h3{font-size:14px;font-weight:500;margin:6px 0 5px;line-height:1.3;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.entry p{font-size:10px;line-height:1.65;color:#967d6e;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.entry.read-dot:after{content:"";position:absolute;right:28%;top:15px;width:5px;height:5px;border-radius:50%;background:#d59ba5}.pagination{display:flex;justify-content:center;align-items:center;gap:20px;font-size:11px;color:#a48b7a;margin-top:16px}.pagination button{font-size:22px;min-width:32px}.pagination button:disabled{opacity:.3;cursor:default}.prototype{text-align:center;font-size:8px;color:#ac9887;line-height:1.8;margin:20px 0 0}.exchange-note{padding:20px 16px;margin-bottom:22px;border-radius:17px;background:#fffcf3bd;border:1px solid #d9b9b35e;text-align:center}.exchange-note small{letter-spacing:.2em;font-size:8px}.exchange-note h2{font-size:18px;font-weight:400}.exchange-note p,.exchange-note div{font-size:11px;line-height:1.9}.hint{font-size:10px!important;color:#a48b7a;line-height:1.6}.pagination[hidden],#emptyState[hidden]{display:none}#emptyState{font-size:12px;text-align:center;padding:35px 10px;line-height:1.9}dialog{border:1px solid #e0c9bd;border-radius:20px;background:#fffaf3;width:min(90vw,420px);padding:24px;color:var(--cocoa);max-height:85svh;overflow:auto}dialog::backdrop{background:#513b3540;backdrop-filter:blur(4px)}dialog h2{font-size:22px;font-weight:400;margin:10px 0 20px}dialog small{font-size:8px;letter-spacing:.15em}label{display:block;font-size:12px;margin:14px 0 7px}input,select,textarea{width:100%;border:1px solid #dcc9bd;border-radius:9px;padding:10px;background:#fffdf8;outline-color:#cfa9ad;font-size:14px}textarea{resize:vertical;line-height:1.8}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.dialog-actions button{padding:9px 18px;border-radius:16px;background:#f0dfdb;font-size:12px}#searchPanel{padding:0 9px 16px}#clearFilter{font-size:10px;padding:9px 0}#toast{position:fixed;bottom:35px;left:50%;transform:translateX(-50%);background:#795d4e;color:#fff9f0;padding:10px 18px;border-radius:20px;font-size:12px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:10}#toast.show{opacity:1}.reader-page{padding-bottom:25px}.reader-top{display:flex;align-items:center;justify-content:space-between;margin:0 1px 18px}.reader-top a{font-size:13px}.reader-top small{font-size:9px;letter-spacing:.12em}.paper{position:relative;isolation:isolate;overflow:hidden;border-radius:13px;background:url('assets/diary-paper-star-texture-v1.png') center/100% auto repeat-y;min-height:650px;padding:100px 25px 195px}.paper:before,.paper:after{content:"";position:absolute;z-index:-1;left:0;right:0;background-size:100% auto;background-repeat:no-repeat;pointer-events:none}.paper:before{top:0;aspect-ratio:915/420;background-image:url('assets/diary-paper-star-header-v1.png')}.paper:after{bottom:0;aspect-ratio:915/472;background-image:url('assets/diary-paper-star-footer-v1.png')}.paper .kicker{font:8px/1.5 Georgia;letter-spacing:.16em;color:#b0867e}.paper time{display:block;font-size:10px;letter-spacing:.04em;margin-top:17px}.paper h1{font-size:23px;font-weight:500;line-height:1.5;margin:12px 0 9px}.paper .author{font-size:12px;color:#b1857c;margin-bottom:28px}.paper .body p{font-size:15px;line-height:2;letter-spacing:.02em;margin:0 0 20px;overflow-wrap:anywhere}.paper .signature{font-size:10px;margin-top:28px;color:#a88b7b}.reader-paging{display:flex;justify-content:space-between;margin:18px 4px;font-size:11px}.reader-paging button:disabled{opacity:.3}.paper:focus{outline:none}@media(min-width:450px){.bookshelf{height:255px}.entry{padding-top:16px}.entry h3{font-size:17px}.entry p{font-size:12px}.entry small{font-size:10px}.paper{padding-top:120px}}@media(max-width:360px){.diary-page{padding-inline:17px}.bookshelf{height:188px}.entry{padding-left:12px;padding-top:10px}.entry h3{font-size:13px;margin:5px 0 3px}.entry p{font-size:9px}.actions{gap:5px}.paper{padding-inline:22px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* Diary mobile review v2: compact books, deeper pocket, readable cover text. */
.bookshelf{height:177px;margin:8px 0 0}.books{inset:8px 0 3px;align-items:flex-end}.book{width:28%;max-width:95px;margin-inline:-5px}.book.shen{transform:rotate(-7deg) translate(7px,-8px)}.book.nuo{transform:translateY(-17px)}.book.exchange{transform:rotate(7deg) translate(-7px,-8px)}.book.selected{transform:translateY(-29px) rotate(0)}.pocket{left:4%;right:4%;height:76px;border-radius:12% 12% 21px 21px / 13% 13% 27% 27%;background:linear-gradient(174deg,rgba(255,253,246,.44),rgba(239,217,209,.56) 62%,rgba(255,249,240,.69));backdrop-filter:blur(1.5px);box-shadow:0 5px 12px #8f6e5210,inset 0 -2px 6px #ffffff55}.pocket span{position:absolute;left:50%;top:16px;transform:translateX(-50%);font-size:30px}.shelf-caption{margin:12px 0 17px}.entry{aspect-ratio:auto;min-height:126px;padding:15px 30% 15px 18px;background-size:100% 100%;margin-bottom:15px}.entry small{font-size:11px;line-height:1.5;color:#896c5c;letter-spacing:.015em;font-weight:500}.entry h3{font-size:16px;line-height:1.45;margin:8px 0 7px;font-weight:500}.entry p{font-size:12px;line-height:1.8;color:#806657;-webkit-line-clamp:2}.entry.read-dot:after{right:29%;top:19px}.section-head{margin-bottom:13px}.section-head button{font-size:12px}.section-head h2{font-size:17px}
/* On the reading page, keep the theme's lace edges without clipping side bears. */
.reader-page{background:#fff8ef;position:relative;padding-top:48px;padding-bottom:45px;isolation:isolate}.reader-page:before,.reader-page:after{content:"";position:absolute;left:0;right:0;z-index:-1;pointer-events:none;height:35px;background-image:url('assets/memory-bear-cream-v2.png');background-size:100% auto;background-repeat:no-repeat}.reader-page:before{top:0;background-position:center top}.reader-page:after{bottom:0;background-position:center bottom}.reader-top{margin-bottom:16px}.paper{padding:80px 24px 185px;min-height:620px;border-radius:12px}.paper time{font-size:13px;line-height:1.7;color:#7c5e4d;letter-spacing:.025em;margin-top:13px}.paper h1{font-size:23px;line-height:1.5;font-weight:500;margin-top:13px}.paper .author{font-size:14px;color:#8c6557;margin-top:11px;margin-bottom:27px}.paper .body p{font-size:16px;line-height:2;letter-spacing:.015em;color:#705442;margin-bottom:20px}.paper .signature{font-size:12px;color:#927364;line-height:1.8}.doodle{position:relative;isolation:isolate;padding-inline:2px;background:none;color:inherit;box-decoration-break:clone;-webkit-box-decoration-break:clone}.doodle:before{content:"";position:absolute;z-index:-1;inset:43% -3px 0;background:#efc6cc7d;clip-path:polygon(1% 17%,12% 9%,24% 16%,38% 4%,53% 13%,68% 5%,82% 14%,98% 6%,100% 76%,85% 89%,69% 79%,52% 97%,34% 86%,18% 97%,0 79%);transform:rotate(-1deg)}.doodle.blue:before{background:#c9dde67d}.author .doodle:before{inset:40% -5px -2px}.paper .kicker{font-size:8px;color:#a9837a}
@media(min-width:450px){.bookshelf{height:205px}.book{max-width:112px}.pocket{height:84px}.entry{min-height:145px;padding-top:18px}.entry small{font-size:12px}.entry h3{font-size:18px}.entry p{font-size:13px}.paper{padding-top:100px}}@media(max-width:360px){.bookshelf{height:164px}.book{max-width:86px}.pocket{height:70px}.entry{min-height:125px;padding-left:14px;padding-right:30%}.entry h3{font-size:15px}.entry small{font-size:10px}.entry p{font-size:11px}.paper{padding-inline:21px}.paper h1{font-size:21px}.paper .body p{font-size:15px}}

.pocket svg{position:absolute;left:50%;top:15px;transform:translateX(-50%);width:48px;height:35px;fill:#efc9cc7d;stroke:#c38f98;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 0 #fff9)}
/* Grow the writing space without stretching the bear illustration. */
.entry{isolation:isolate;background:#fffaf3 url('assets/diary-cover-writing-v2.png') left center/72% 100% no-repeat;border-radius:7px;overflow:hidden}.entry:before{content:"";position:absolute;z-index:-1;right:0;top:0;bottom:0;width:30%;background:#fffaf3 url('assets/diary-cover-bear-v2.png') right bottom/100% auto no-repeat}.entry:after{pointer-events:none}.entry small,.entry h3,.entry p{position:relative;z-index:1}
/* v3: small symbolic diaries, seamless cover, compact inner-page composition. */
.bookshelf{height:138px;margin-top:5px}.books{inset:3px 0 6px;align-items:center}.book{width:23%;max-width:76px;margin-inline:-2px}.book.shen{transform:rotate(-7deg) translate(4px,-8px)}.book.nuo{transform:translateY(-14px)}.book.exchange{transform:rotate(7deg) translate(-4px,-8px)}.book.selected{transform:translateY(-24px)}.pocket{left:10%;right:10%;height:48px;bottom:0;backdrop-filter:blur(.8px);background:linear-gradient(174deg,#fffdf666,#efd9d166 65%,#fff9f0a8);border-radius:13% 13% 17px 17px / 17% 17% 36% 36%}.pocket svg{width:37px;height:28px;top:10px}.shelf-caption{margin-top:10px;font-size:10px}.entry{background:#fffaf3 url('assets/diary-cover-writing-v2.png') left center/100% 100% no-repeat;padding-right:31%;min-height:126px}.entry:before{z-index:0;background:transparent url('assets/diary-cover-bear-clean-v3.png') center bottom/contain no-repeat;width:31%;top:21px;right:1px;bottom:6px;mask-image:linear-gradient(to right,transparent,#000 18%);-webkit-mask-image:linear-gradient(to right,transparent,#000 18%)}.entry small{font-size:11px}.entry h3{font-size:16px}.entry p{font-size:12px}.entry.read-dot:after{z-index:2;right:30%;top:15px}
.paper{padding:28px 23px 165px;min-height:0;background:#fffcf6;box-shadow:0 3px 16px #79583f08}.paper:before{display:none}.paper:after{aspect-ratio:915/472;background-size:100% auto;opacity:.92}.paper .kicker{display:none}.paper time{margin-top:0;font-size:13px}.paper h1{margin:13px 0 10px;font-size:23px;line-height:1.55}.paper .author{margin-bottom:24px}.paper .body p{font-size:16px;line-height:1.95;margin-bottom:18px}.paper .signature{margin-top:23px}.paper{background-image:radial-gradient(ellipse at 20% 8%,#f4dce133,transparent 55%),radial-gradient(ellipse at 90% 60%,#dbe8ed22,transparent 50%)}@media(min-width:450px){.bookshelf{height:159px}.book{max-width:89px}.pocket{height:54px}.entry{min-height:145px}.entry h3{font-size:18px}.entry p{font-size:13px}.paper{padding-top:34px;padding-bottom:200px}}@media(max-width:360px){.bookshelf{height:128px}.book{max-width:69px}.pocket{height:46px}.entry{min-height:125px}.entry small{font-size:10px}.entry h3{font-size:15px}.entry p{font-size:11px}.paper{padding-inline:21px;padding-top:26px}.paper h1{font-size:21px}.paper .body p{font-size:15px}}

/* Pocket resting position and a quiet month picker. */
.books{inset:3px 0 5px;align-items:flex-end}.book.shen{transform:translateX(4px) rotate(-5deg)}.book.nuo{transform:translateY(0)}.book.exchange{transform:translateX(-4px) rotate(5deg)}.book.shen.selected{transform:translate(4px,-10px) rotate(-5deg)}.book.nuo.selected{transform:translateY(-10px)}.book.exchange.selected{transform:translate(-4px,-10px) rotate(5deg)}
.top-spacer{width:30px;flex-shrink:0}.search-dock{display:flex;justify-content:flex-end;margin:0 0 12px;padding-right:0}.search-dock #searchOpen{width:30px;height:30px;padding:7px;display:grid;place-items:center;border:1px solid #d4e0e6;border-radius:50%;background:#f0f6f8d9;color:#8ea7b3;box-shadow:inset 0 0 0 2px #ffffff6b}.search-dock svg{display:block;width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}.shelf-caption{margin-bottom:8px}
#monthDialog{width:min(calc(100vw - 76px),310px);padding:24px 20px 20px;border:1px solid #ebd8cf;border-radius:23px;background:#fffaf3;color:#806451;box-shadow:0 12px 45px #6f4f3d20}#monthDialog h2{font-size:19px;font-weight:400;margin:0 0 17px}#monthDialog::backdrop{background:#5a423c45;backdrop-filter:blur(3px)}.month-year{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.month-year span{font-size:15px;letter-spacing:.07em}.month-year button{width:30px;height:30px;border-radius:50%;background:#f5e8e5;color:#ad8186;font:24px Georgia}.month-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.month-grid button{font-size:13px;padding:10px 0;border:1px solid #eadcd1;border-radius:12px;background:#fffdf8;color:#967d6a}.month-grid button[aria-pressed=true]{background:#f2dfe2;border-color:#dbb4bc;color:#a56e7a}#monthDialog .dialog-actions{margin-top:20px;gap:9px}#monthDialog .dialog-actions button{font-size:12px;padding:9px 18px;border-radius:20px;background:#f3e6e1;color:#936e5e}#monthDialog .dialog-actions button[value=apply]{background:#b78a79;color:#fffaf3}

/* v5: use the original continuous illustration; never join two paper crops. */
.entry{background:#fffaf3 url('assets/diary-cover-star-v1.png') right center/auto 100% no-repeat;padding-right:39%}.entry:before{display:none}.entry.read-dot:after{right:32%}
.top{margin-bottom:0}.top h1{position:relative;isolation:isolate;display:inline-block;margin-bottom:4px}.top h1:after{position:absolute;z-index:-1;left:-7px;right:-10px;bottom:1px;width:auto;height:.62em;margin:0;border-radius:7px 13px 5px 10px;background:linear-gradient(90deg,rgba(243,191,201,.46),rgba(239,174,188,.34) 78%,rgba(247,204,211,.18));opacity:1;transform:rotate(-.8deg) skewX(-4deg)}
.bookshelf{height:118px;margin-top:0}.pocket{left:16%;right:16%}.shelf-caption{margin:8px 0 13px;padding-inline:24px;line-height:1.6}.search-dock{position:relative;height:0;margin:0 0 5px}.search-dock #searchOpen{position:absolute;right:0;bottom:5px;width:27px;height:27px;padding:6px}.actions{position:relative;margin-bottom:31px}.actions:after{content:"";position:absolute;left:0;right:0;bottom:-16px;height:1px;background:linear-gradient(90deg,transparent,#d4b1a780 30%,#b88b7e99 50%,#d4b1a780 70%,transparent)}
.weekdays,.day-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.weekdays{font-size:10px;text-align:center;color:#b69a8a;margin:9px 0}.day-grid button{position:relative;min-height:30px;padding:6px 0 9px;border-radius:10px;font-size:12px;color:#92735f}.day-grid button[aria-pressed=true]{background:#f0dce1;color:#a76f7d}.day-grid button.has-entry:after{content:"";position:absolute;bottom:4px;left:calc(50% - 1.5px);width:3px;height:3px;border-radius:50%;background:#c48e9c}.calendar-note{font-size:10px;color:#a38a7a;margin:12px 0 0;text-align:center}#monthDialog .month-year #calendarHeading{width:auto;height:auto;background:none;border-radius:0;font:14px Georgia;padding:4px 8px}#monthDialog .month-year #calendarHeading span{font-size:14px}#monthDialog .dialog-actions{gap:5px;justify-content:space-between}#monthDialog .dialog-actions button{padding:8px 12px}#monthDialog #allDates{padding-inline:0;background:none;color:#a17b6f;font-size:11px}#monthDialog button:disabled{opacity:.4}.month-grid{margin-bottom:12px;gap:5px}.month-grid button{padding:7px 0;font-size:11px}
@media(min-width:450px){.bookshelf{height:137px}}@media(max-width:360px){.bookshelf{height:110px}}

/* v6: paint the cover as one image layer, with text above it. */
.entry{background:#fffaf3;position:relative;isolation:isolate}.entry>.entry-art{display:block;position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:right center;z-index:0;pointer-events:none}.entry>small,.entry>h3,.entry>p{background:transparent;z-index:1}.entry:before{display:none!important}
.top>div{display:flex;flex-direction:column;align-items:center;gap:0}.top small{display:block;line-height:1.5}.top h1{display:block;margin:7px 0 4px}.top{align-items:center}.bookshelf{margin-top:2px}
.paper:before{display:block;top:0;left:0;right:0;aspect-ratio:915/420;background: url('assets/diary-paper-star-header-v1.png') right top/100% auto no-repeat;opacity:1;pointer-events:none}.paper time{max-width:calc(100% - 72px);line-height:1.7}.paper h1{padding-right:64px;position:relative;z-index:0}.entry-title-brush{padding:0 3px;box-decoration-break:clone;-webkit-box-decoration-break:clone;background:linear-gradient(177deg,transparent 40%,rgba(183,213,229,.58) 42% 89%,transparent 92%);border-radius:5px 9px 4px 7px}.paper .author{position:relative;z-index:0}

/* v7: gentle relief and clear author colours. */
.entry{box-shadow:0 3px 8px #8a675515,0 1px 2px #80604b0a;filter:none}.entry h3{font-weight:600;color:#765342;text-shadow:0 1px 0 #fffdf7,0 2px 2px #7b574427;letter-spacing:.015em}.writer-name{font-weight:600;letter-spacing:.03em}.writer-name.shen{color:#527b92}.writer-name.nuo{color:#ad657c}.entry .writer-name{font-size:12px}.entry[data-author=shen] h3{text-shadow:0 1px 0 #fffdf7,0 2px 2px #60889b22}.entry[data-author=nuo] h3{text-shadow:0 1px 0 #fffdf7,0 2px 2px #aa708522}
.diary-page:not(.reader-page){position:relative}.diary-page>.top>a{position:absolute;left:17px;top:25px;width:36px;height:36px;display:grid;place-items:center;font-size:28px;line-height:1;z-index:2}.top{justify-content:center}.top-spacer{display:none}
@media(max-width:360px){.entry .writer-name{font-size:11px}.diary-page>.top>a{left:12px}}
