@charset "UTF-8";
:root{--purple:#9074d9;--purple-deep:#7052b2;--lavender:#f0ebfa;--ink:#34313c;--muted:#92909a;--line:#eeedf0;--paper:#faf9fb;--white:#fff;--yellow:#f5d77d;--green:#94b39e;--font:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.6 var(--font);-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit;color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{border:0;background:none}a{color:inherit;text-decoration:none}button,input,textarea,select,a{outline-offset:4px}button:focus-visible,a:focus-visible{outline:2px solid var(--purple)}button:disabled{opacity:.45;cursor:not-allowed}button,a{transition:background .15s,color .15s,transform .15s}svg.icon{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle;flex-shrink:0}h1,h2,h3,p{margin:0}h1{font-size:28px;letter-spacing:1px;font-weight:650}h2{font-size:18px;font-weight:650}h3{font-size:15px;font-weight:600}small{font-size:11px}::selection{background:#e4d8fa}.sidebar{position:fixed;width:224px;left:0;top:0;bottom:0;background:#fff;border-right:1px solid var(--line);padding:33px 20px 0;display:flex;flex-direction:column;z-index:20}.brand{display:flex;gap:11px;align-items:center;margin:0 10px 33px}.brand>span{font-size:27px;font-weight:750;letter-spacing:4px;line-height:1.2}.brand small{display:block;font:9px/2 var(--font);letter-spacing:.25px;color:#97919f;margin-top:4px;white-space:nowrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:9px;padding:10px 18px;font-size:13px;font-weight:550;white-space:nowrap}.primary{background:var(--purple);color:white;box-shadow:0 3px 7px #8974bb18}.primary:hover{background:var(--purple-deep);transform:translateY(-1px)}.sidebar-write{width:100%;margin-bottom:31px;padding:12px}.key{margin-left:auto;font-size:10px;font-weight:400;border:1px solid #ffffff55;line-height:17px;width:18px;border-radius:4px}.nav-label{font-size:10px;color:#a3a0ac;letter-spacing:1px;padding-left:13px;margin-bottom:12px}.sidebar nav{display:grid;gap:5px}.sidebar nav a{display:flex;align-items:center;gap:13px;padding:12px 14px;color:#7e7a86;border-radius:9px;font-size:13px}.sidebar nav a:hover{background:#f8f6fb}.sidebar nav a.active{background:var(--lavender);color:#8062c2;font-weight:600}.nav-dot{width:6px;height:6px;background:var(--purple);border-radius:50%;margin-left:auto;display:none}.active .nav-dot{display:block}.nav-count{margin-left:auto;font-size:10px;background:#f3f1f6;border-radius:5px;padding:0 5px}.second-label{margin-top:28px}.tiny-tag{font-size:8px;letter-spacing:.5px;margin-left:auto;color:#93aa90;background:#f0f5eb;padding:1px 5px;border-radius:4px}.sidebar-bottom{margin-top:auto;padding-top:26px}.sidebar-note{position:relative;border:1px dashed #dfd6ef;border-radius:11px;padding:21px 13px 17px;background:#fcfaff;transform:rotate(-2deg);margin:0 4px 22px}.sidebar-note p{font-size:12px;line-height:1.9;color:#8c7c9f}.note-star{position:absolute;right:13px;top:4px;color:var(--purple);font-size:27px}.note-line{font:italic 10px Georgia,serif;color:#b2a2c8;display:block;margin-top:9px}.settings-link{display:flex;gap:12px;align-items:center;color:#8b8594;font-size:12px;padding:10px 12px;width:100%}.profile{display:flex;gap:11px;align-items:center;border-top:1px solid var(--line);margin-top:16px;padding:19px 0}.avatar{background:#fae6b3;color:#94774e;border:3px solid #fff4d9;width:37px;height:37px;display:grid;place-items:center;border-radius:50%;font-size:25px;line-height:1}.profile strong{display:block;font-size:12px;font-weight:600}.profile small{display:block;color:#a19aa9;font-size:9px;margin-top:3px}.profile-flower{margin-left:auto;color:#b5a4d3;font-size:22px}.workspace{margin-left:224px}.topbar{height:76px;border-bottom:1px solid var(--line);background:#ffffffb8;display:flex;align-items:center;justify-content:space-between;padding:0 38px;gap:20px}.breadcrumb{display:flex;gap:17px;font-size:11px;align-items:center;white-space:nowrap}.breadcrumb-root,.slash{color:#aaa5b1}.breadcrumb strong{font-weight:500;color:#77717f}.top-actions{display:flex;align-items:center;gap:19px}.search{display:flex;align-items:center;gap:8px;background:#f6f5f8;border:1px solid #f0eef3;border-radius:7px;padding:7px 10px;color:#a5a0ac;width:229px}.search .icon{width:15px}.search input{border:0;background:none;outline:none;min-width:0;width:100%;font-size:11px}.search input::placeholder{color:#aaa4b0}.search kbd{font-size:10px;border:1px solid #e6e1ea;border-radius:3px;width:15px;text-align:center}.sync-state{color:#a19ba8;font-size:10px;white-space:nowrap}.sync-state:before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:#a4b89b;margin-right:6px}.icon-button{width:32px;height:32px;display:inline-grid;place-items:center;border-radius:8px;color:#9c94a6;flex-shrink:0}.icon-button:hover{background:var(--lavender);color:var(--purple-deep)}.small.avatar{width:30px;height:30px;font-size:21px}.mobile-menu{display:none}main{max-width:1450px;margin:auto;padding:33px 38px 25px;min-height:calc(100vh - 137px)}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px;gap:20px}.page-heading h1{font-size:25px}.page-heading p{font-size:12px;color:#9992a3;margin-top:5px;letter-spacing:.4px}.date-badge{display:flex;align-items:center;gap:8px;font-size:11px;color:#99909f;background:white;border:1px solid var(--line);border-radius:7px;padding:7px 11px;white-space:nowrap}.date-badge .icon{width:14px}.dashboard-top{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(240px,1fr);gap:20px}.hero{background:#eee7f7;border:1px solid #e6dcf3;border-radius:15px;position:relative;overflow:hidden;min-height:254px;padding:27px 28px;display:flex;align-items:center}.hero:after{content:"";position:absolute;inset:0;background-image:radial-gradient(#cabada60 .65px,transparent .65px);background-size:7px 7px;pointer-events:none}.hero-copy{position:relative;z-index:2;width:63%}.eyebrow{font-size:9px;letter-spacing:2px;color:#9a87b2;font-weight:600}.hero h2{font-size:28px;line-height:1.55;letter-spacing:1px;margin:10px 0 11px;font-weight:650}.hero h2 em{font-style:normal;position:relative;z-index:0}.hero h2 em:after{content:"";height:8px;position:absolute;left:0;right:0;bottom:1px;background:#f7d98a;z-index:-1;transform:rotate(-2deg)}.hero p{color:#9b8dab;font-size:11px;line-height:1.9;margin-bottom:20px}.hero .button{font-size:11px;padding:9px 13px}.hero .icon{width:15px}.hero-art{width:49%;position:absolute;right:-7px;top:12%;z-index:1;transform:rotate(-2deg)}.hero-scribble{position:absolute;bottom:16px;right:58px;color:#9c88b5;font:italic 12px Georgia,serif;transform:rotate(-8deg)}.card{background:white;border:1px solid var(--line);border-radius:13px}.mood-card{padding:22px 20px 16px;position:relative}.card-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.card-top h2{font-size:14px}.card-top .mini-label{font-size:9px;letter-spacing:1px;color:#aaa3b0}.mood-card .caption{font-size:11px;color:#a39baa;margin-top:8px}.mood-picker{display:flex;justify-content:space-between;gap:6px;margin-top:24px}.mood-option{border-radius:10px;padding:5px 2px;display:flex;flex-direction:column;align-items:center;gap:9px;flex:1;color:#a79dab;font-size:9px}.mood-option .face{width:32px;height:32px;border-radius:50%;background:#faf0bd;display:grid;place-items:center;font-size:23px;filter:saturate(.75);line-height:1}.mood-option:nth-child(2) .face{background:#e8e1f4}.mood-option:nth-child(3) .face{background:#f8e1b8}.mood-option:nth-child(4) .face{background:#dfe8f2}.mood-option:nth-child(5) .face{background:#f0dedf}.mood-option:hover,.mood-option.selected{background:#f2ecfc;color:var(--purple-deep)}.mood-note{font-size:10px;color:#aea3b6;text-align:center;border-top:1px dashed #ece5f0;padding-top:16px;margin-top:20px}.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:21px 0 28px}.stat-card{padding:17px 19px;display:flex;align-items:center;gap:13px;background:white;border:1px solid var(--line);border-radius:11px}.stat-icon{display:grid;place-items:center;width:41px;height:41px;border-radius:12px;color:#aa8ccc;background:#f4effb;flex-shrink:0}.stat-card:nth-child(2) .stat-icon{background:#fff2e9;color:#dba17b}.stat-card:nth-child(3) .stat-icon{background:#edf4ed;color:#8fb49b}.stat-card:nth-child(4) .stat-icon{background:#fff6df;color:#d6b569}.stat-info small{color:#a098a8;display:block;font-size:10px;margin-bottom:3px}.stat-number{font-size:23px;font-weight:650;line-height:1.2;letter-spacing:.5px}.stat-number span{font-size:10px;color:#aaa2af;margin-left:6px;font-weight:400}.stat-trail{font-size:8px;line-height:1.8;color:#ada4b6;margin-left:auto;max-width:55px}.content-columns{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(240px,1fr);gap:22px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.section-heading h2{font-size:16px;display:flex;align-items:center;gap:9px}.section-heading h2 .icon{color:#a48bbb;width:17px}.section-heading h2 small{font-size:9px;font-weight:400;color:#b1a8b9;letter-spacing:1.1px;margin-left:2px}.text-link{display:inline-flex;gap:5px;align-items:center;font-size:10px;color:#a495b5}.text-link:hover{color:var(--purple-deep)}.text-link .icon{width:13px}.filter-tabs{display:flex;gap:8px;align-items:center;margin-bottom:17px;flex-wrap:wrap}.filter-tabs button{font-size:11px;color:#aaa1b2;padding:5px 13px;border-radius:6px}.filter-tabs button.active{color:var(--purple-deep);background:#eae3f5}.filter-tabs .view-toggle{margin-left:auto;padding:5px 7px}.journal-list{display:grid;gap:15px}.entry-card{padding:19px 21px;position:relative;overflow:hidden}.entry-top{display:flex;align-items:center;gap:9px;color:#a69aaf;font-size:10px;margin-bottom:11px}.entry-top .entry-date{color:#9992a1;font-size:10px}.mood-pill{padding:2px 7px;border-radius:5px;background:#faf2dc;font-size:9px;color:#b2a073}.entry-star{margin-left:auto;padding:0;color:#c6becd;display:grid;place-items:center;width:24px;height:24px}.entry-star.is-starred{color:#ddb758}.entry-star.is-starred .icon{fill:#f6df98}.entry-body-button{display:block;width:100%;text-align:left;padding:0}.entry-body-button h3{font-size:15px;margin-bottom:8px;letter-spacing:.4px}.entry-body-button p{color:#9a90a3;font-size:11px;line-height:1.95;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-line}.entry-image{display:block;width:100%;max-height:158px;object-fit:cover;border-radius:7px;margin:14px 0 0}.entry-bottom{display:flex;align-items:center;gap:7px;margin-top:14px}.tag{font-size:9px;color:#a89bb5;background:#f6f2fa;border-radius:4px;padding:2px 7px}.entry-location{margin-left:auto;font-size:9px;color:#b2a8bc;display:flex;align-items:center;gap:3px}.entry-location .icon{width:12px;height:12px}.entry-sticker{position:absolute;right:27px;bottom:54px;transform:rotate(12deg);font-size:38px;opacity:.8;pointer-events:none}.entry-card.has-image .entry-sticker{bottom:40px}.sample-chip{color:#b2a6ba;font-size:9px;border:1px dashed #dcd1e7;border-radius:4px;padding:0 5px}.sample-hint{font-size:10px;color:#aaa1b4;margin:-4px 0 12px}.right-column{display:grid;gap:19px;align-content:start}.mini-calendar{padding:18px 18px 15px}.calendar-title{font-size:12px;font-weight:600}.cal-controls{display:flex;align-items:center;gap:2px}.cal-controls .icon-button{width:23px;height:24px}.cal-controls .icon{width:13px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center;margin-top:14px}.cal-weekday{font-size:9px;color:#b7adbd;margin-bottom:4px}.cal-day{position:relative;font-size:10px;color:#9d92a6;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;padding:0}.cal-day.today{background:var(--purple);color:white;font-weight:600}.cal-day.recorded:not(.today){background:#f0e8f9;color:#9675bd}.cal-day.recorded:after{content:"";position:absolute;bottom:3px;width:3px;height:3px;background:#c5aedb;border-radius:50%}.cal-day.selected{box-shadow:0 0 0 2px #c9b1e6}.cal-day.future{opacity:.5}.cal-day:hover{background:#eee5f7;color:#7857a8}.calendar-note{display:flex;align-items:center;gap:5px;border-top:1px dashed #eee8f2;margin-top:13px;padding-top:13px;color:#b3a8be;font-size:9px}.calendar-note span{width:5px;height:5px;border-radius:50%;background:#c8b0e2}.habit-card{padding:18px}.habit-subtitle{font-size:10px;color:#b3a8bb;margin-top:5px}.habit-list{display:grid;gap:12px;margin-top:19px}.habit-item{display:flex;align-items:center;gap:10px;font-size:11px;color:#92869f}.habit-emoji{width:25px;text-align:center;font-size:17px}.habit-item .habit-check{margin-left:auto;width:20px;height:20px;border:1px solid #e2d9ea;border-radius:50%;display:grid;place-items:center;padding:0;color:white}.habit-check.checked{background:#ac97cc;border-color:#ac97cc}.habit-check .icon{width:12px;height:12px}.habit-progress{height:4px;background:#f1ecf6;border-radius:8px;margin-top:18px;overflow:hidden}.habit-progress span{height:100%;display:block;background:#b9a4d5;transition:width .3s}.habit-progress-caption{font-size:9px;color:#b8aebe;margin-top:7px;text-align:right}.prompt-card{position:relative;background:#faf4df;border:1px solid #f3eacb;border-radius:12px;padding:20px}.prompt-card .eyebrow{color:#baa774;font-size:8px}.prompt-card h3{font-size:14px;color:#978758;margin:10px 0 14px;line-height:1.8;font-weight:500}.prompt-card .text-link{color:#b09a64}.prompt-flower{position:absolute;right:18px;top:10px;font-size:30px;color:#d3b35a}.page-footer{max-width:1450px;display:flex;justify-content:space-between;padding:13px 38px 21px;margin:auto;color:#b9b1c1;font-size:9px;letter-spacing:.5px}.page-footer>span:first-child{font-size:8px;letter-spacing:2px}.page-footer i{font-style:normal;color:#bca3d8;margin-left:8px}.subpage-toolbar{display:flex;gap:13px;align-items:center;margin:23px 0}.subpage-toolbar select{border:1px solid #e8e1ee;border-radius:7px;background:white;padding:7px 12px;font-size:11px}.journal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.journal-grid .entry-card{align-self:start}.empty-state{border:1px dashed #dcd2e8;border-radius:14px;padding:55px 25px;text-align:center;background:#ffffff8a}.empty-state .empty-art{font-size:48px;color:#b29ace;margin-bottom:10px}.empty-state h3{font-size:18px;margin-bottom:9px}.empty-state p{font-size:12px;color:#a095ad;margin-bottom:21px}.calendar-layout{display:grid;grid-template-columns:1.45fr 1fr;gap:24px}.large-calendar{padding:24px}.large-calendar .cal-day{border-radius:10px;font-size:15px;aspect-ratio:1.05;display:flex;flex-direction:column;justify-content:center;gap:3px}.day-mood{font-size:18px;line-height:1}.large-calendar .cal-weekday{font-size:12px}.mood-summary{display:flex;flex-wrap:wrap;gap:9px;padding-top:20px;font-size:10px;color:#aa9ab5}.mood-summary span{background:#f7f3fb;padding:6px 9px;border-radius:6px}.day-entries .section-heading{margin-top:4px}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.polaroid{background:white;border:1px solid #ede6f2;padding:11px 11px 17px;box-shadow:0 4px 13px #6e4e9210;transform:rotate(-1deg);text-align:left}.polaroid:nth-child(2n){transform:rotate(1.3deg)}.polaroid:hover{transform:rotate(0) translateY(-3px)}.polaroid img{width:100%;height:190px;object-fit:cover;background:#f2edf7;display:block}.polaroid h3{font-size:13px;margin:14px 5px 2px}.polaroid small{color:#a597b0;margin:0 5px;font-size:10px}.habits-layout{max-width:900px}.habit-full{padding:22px 25px;margin-bottom:15px}.habit-full .habit-item{font-size:15px}.habit-full .habit-emoji{font-size:26px;width:36px}.habit-full .habit-check{width:30px;height:30px}.habit-week{display:flex;gap:10px;margin:18px 0 0 46px}.habit-day{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:9px;color:#aaa0b3}.habit-day i{font-style:normal;width:31px;height:31px;display:grid;place-items:center;border-radius:9px;background:#f4f0f9;color:#c7bad6}.habit-day.done i{background:#e7dbf6;color:#9675bb}.habit-day i .icon{width:15px}.habit-add-form{display:flex;gap:10px;margin-top:22px}.habit-add-form input{padding:11px 14px;background:white;border:1px solid #e7dfee;border-radius:8px;flex:1;min-width:0}.achievement-banner{padding:29px 30px;background:#eee6f7;border-radius:14px;margin-bottom:24px;display:flex;align-items:center;gap:24px}.achievement-level{font-size:40px}.achievement-banner h2{font-size:22px}.achievement-banner p{color:#9e8db0;font-size:12px;margin-top:7px}.achievement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}.achievement{padding:30px 23px;text-align:center}.achievement-emoji{font-size:43px;margin-bottom:14px}.achievement.locked .achievement-emoji{filter:grayscale(1);opacity:.4}.achievement h3{font-size:15px}.achievement p{font-size:11px;color:#a697b2;margin:8px 0 17px}.achievement-status{background:#f4effa;border-radius:20px;padding:5px 12px;font-size:10px;color:#ab98bd}.achievement.unlocked{background:#fdfaff;border-color:#e3d6f0}.achievement.unlocked .achievement-status{background:#eee3fa;color:#8f67bb}.subtle{background:#f5f1fa;color:#9b7fbb;border:1px solid #ece4f4}.subtle:hover{background:#ebe1f6}.danger{background:#f9e8eb;color:#b76c7c}.danger:hover{background:#f4d6dc}.settings-link:hover{color:var(--purple)}dialog{border:1px solid #e9e1f0;border-radius:18px;box-shadow:0 24px 100px #3e294f30;color:var(--ink);padding:28px;max-width:calc(100vw - 32px);max-height:90vh;overflow:auto;background:#fefcff}dialog::backdrop{background:#3d304355;backdrop-filter:blur(5px)}.editor-dialog{width:680px}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px}.dialog-heading h2{font-size:21px;margin-top:5px}.dialog-heading h2 span{color:#bea0db}.editor-meta{display:flex;gap:20px;font-size:11px;color:#ac9bb9}.editor-meta label{display:flex;align-items:center;gap:9px}.editor-meta input,.editor-meta select{border:1px solid #e7dcee;background:white;border-radius:6px;padding:5px 8px;color:#8e7c9e;font-size:11px}.title-input{width:100%;background:none;border:none;border-bottom:1px solid #eee4f5;font-size:23px;font-weight:600;padding:22px 0 17px;outline:none}.title-input::placeholder{color:#c4b5d0;font-weight:400}#entry-content{border:0;resize:vertical;width:100%;min-height:185px;max-height:40vh;background:none;outline:none;padding:17px 0;line-height:2;font-size:14px}#entry-content::placeholder{color:#b7a7c4;font-size:13px}.editor-mood{display:flex;align-items:center;gap:20px;border-top:1px dashed #e8ddef;padding:13px 0;font-size:11px;color:#a08aaf}.editor-mood .mood-picker{margin:0;flex:1}.editor-mood .mood-option{gap:3px;flex:none;padding:4px 9px}.editor-mood .mood-option .face{width:25px;height:25px;font-size:20px}.editor-extras{display:grid;gap:7px}.editor-extras label{display:flex;gap:9px;align-items:center;color:#b9a5ca}.editor-extras .icon{width:15px}.editor-extras input{border:0;background:none;width:100%;font-size:11px;padding:6px 0;outline:none}.editor-extras input::placeholder{color:#b8a7c6}.editor-tools{display:flex;gap:17px;align-items:center;margin-top:15px;font-size:11px;color:#b4a2c2}.editor-tools .button{font-size:10px;padding:7px 12px}.sticker-label select{border:1px solid #eee3f5;border-radius:5px;background:white;padding:4px}#word-count{margin-left:auto;font-size:10px}.editor-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ede3f4;margin-top:21px;padding-top:18px;gap:12px}.editor-footer small{font-size:10px;color:#b7a4c5}.photo-preview{display:flex;gap:9px;flex-wrap:wrap;margin-top:10px}.photo-thumb{position:relative}.photo-thumb img{width:80px;height:65px;object-fit:cover;border-radius:7px}.photo-thumb button{position:absolute;right:0;top:0;background:#4c365ab3;color:white;border-radius:50%;width:20px;height:20px;line-height:15px}.detail-dialog{width:670px}.detail-dialog .detail-content{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:2.1;margin:22px 0;color:#766481}.detail-photos{display:grid;gap:12px}.detail-photos img{max-width:100%;max-height:60vh;object-fit:contain;border-radius:8px;background:#f2ebf7}.detail-footer{display:flex;justify-content:space-between;margin-top:25px;gap:10px}.detail-footer>div{display:flex;gap:8px}.detail-footer .button{font-size:11px;padding:8px 12px}.settings-dialog{width:520px}.settings-section{padding:18px 0;border-top:1px solid #ece3f3}.settings-section h3{margin-bottom:8px}.settings-section p{font-size:12px;color:#a18cb0;margin-bottom:14px;line-height:1.9}.settings-section input{border:1px solid #e7dcec;border-radius:7px;padding:8px 12px;max-width:100%;width:230px}.settings-actions{display:flex;gap:10px;flex-wrap:wrap}.confirm-dialog{width:420px}.confirm-dialog p{font-size:12px;color:#a594b3;margin:14px 0 25px}.dialog-actions{display:flex;justify-content:flex-end;gap:9px}#toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,20px);z-index:100;background:#584667;color:#fff;padding:12px 22px;border-radius:10px;font-size:12px;box-shadow:0 6px 30px #47325125;opacity:0;pointer-events:none;transition:.25s;max-width:90vw}#toast.visible{opacity:1;transform:translate(-50%,0)}.memory-card{padding:18px;background:#f4eee0;border:1px solid #efe7d4;border-radius:12px}.memory-card p{font-size:12px;color:#a29375;margin:9px 0 13px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(min-width:1550px){main{padding-top:40px}.hero{min-height:290px}.hero-art{width:48%;top:5%}.hero h2{font-size:34px}.hero p{font-size:12px}.mood-card{padding:26px}.mood-card .mood-picker{margin-top:36px}.mood-note{margin-top:29px}.entry-image{max-height:210px}.sidebar{width:245px}.workspace{margin-left:245px}.brand{margin-bottom:39px}.sidebar nav a{padding:14px}}
@media(max-width:1180px){.sidebar{width:200px;padding-left:15px;padding-right:15px}.workspace{margin-left:200px}.topbar{padding:0 24px}main{padding:27px 24px}.page-footer{padding-left:24px;padding-right:24px}.hero{padding:24px 21px}.hero h2{font-size:25px}.hero-art{width:47%;right:-17px;top:20%}.hero-copy{width:70%}.stat-card{padding:14px 12px;gap:9px}.stat-trail{display:none}.stat-icon{width:34px;height:34px}.dashboard-top,.content-columns{grid-template-columns:minmax(0,1.8fr) minmax(230px,1fr);gap:17px}.search{width:185px}.sync-state{display:none}.top-actions{gap:13px}.section-heading h2 small{display:none}.brand{margin-left:8px}.brand small{font-size:8px}.hero-scribble{right:25px;bottom:22px;font-size:10px}}
@media(max-width:950px){.dashboard-top,.content-columns{grid-template-columns:1fr}.hero{min-height:240px}.hero-copy{width:62%}.hero-art{width:40%;right:7px;top:1%;height:95%}.mood-card{padding:18px 22px}.mood-card .mood-picker{margin-top:12px}.mood-card .mood-note{margin-top:12px;padding-top:10px}.mood-card .mood-option{flex-direction:row;justify-content:center;gap:7px;padding:7px}.right-column{grid-template-columns:1fr 1fr}.prompt-card{grid-column:1/-1}.mini-calendar{min-width:0}.stats-row{gap:10px}.stat-card{flex-direction:column;align-items:flex-start;position:relative;padding:12px}.stat-icon{position:absolute;right:9px;top:13px;width:26px;height:26px;border-radius:8px}.stat-icon .icon{width:15px}.stat-number{font-size:21px}.stat-info small{font-size:9px;margin-bottom:6px}.calendar-layout{grid-template-columns:1fr}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-heading h1{font-size:23px}.date-badge{font-size:9px}.journal-grid{grid-template-columns:1fr}.sidebar-note{padding:17px 10px}.page-footer>span:last-child{display:none}}
@media(max-width:700px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:224px;box-shadow:10px 0 80px #4f366630}.sidebar.open{transform:translateX(0)}.workspace{margin-left:0}.topbar{height:62px;padding:0 18px;gap:10px}.mobile-menu{display:inline-grid}.breadcrumb{gap:8px;font-size:10px}.breadcrumb-root,.slash{display:none}.top-actions{gap:8px}.search{width:158px;padding:6px 8px}.search input{font-size:10px}.search kbd,.help-button,.small.avatar{display:none}main{padding:25px 19px}.page-heading{gap:10px;margin-bottom:19px;align-items:flex-start}.page-heading h1{font-size:23px}.page-heading p{font-size:10px;max-width:230px}.date-badge{padding:6px;gap:4px;font-size:9px}.date-badge .icon{display:none}.hero{min-height:248px;padding:22px 19px}.hero-copy{width:73%}.hero h2{font-size:25px;line-height:1.6}.hero-art{width:44%;right:-15px;top:31%;height:auto;opacity:.9}.hero-scribble{font-size:9px;right:17px;bottom:10px}.hero p{font-size:10px;max-width:190px}.hero .eyebrow{font-size:8px}.stats-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:17px 0 24px}.stat-card{flex-direction:row;padding:13px 14px;gap:12px}.stat-icon{position:static;width:35px;height:35px}.stat-info small{margin-bottom:4px}.stat-number{font-size:22px}.stat-number span{font-size:9px}.mood-picker{gap:2px}.mood-card{padding:18px 14px}.mood-card .mood-option{flex-direction:column;gap:5px}.mood-option .face{width:34px;height:34px}.right-column{gap:13px}.habit-card{padding:15px 12px}.mini-calendar{padding:15px 11px}.cal-grid{gap:3px}.calendar-title{font-size:10px}.habit-item{font-size:10px;gap:5px}.habit-list{gap:14px;margin-top:18px}.habit-emoji{font-size:15px;width:20px}.card-top h2{font-size:12px}.calendar-note{font-size:8px}.entry-card{padding:17px}.entry-image{max-height:180px}.entry-bottom{flex-wrap:wrap}.entry-location{font-size:8px}.page-footer{padding:9px 19px 22px}.photo-grid{gap:13px}.polaroid img{height:145px}.polaroid h3{font-size:11px}.polaroid{padding:7px 7px 12px}.achievement-grid{gap:12px}.achievement{padding:24px 14px}.achievement h3{font-size:13px}.achievement p{font-size:10px}.achievement-banner{padding:23px 19px;gap:15px}.achievement-banner h2{font-size:19px}.achievement-banner p{font-size:10px}.subpage-toolbar{flex-wrap:wrap;gap:8px}.subpage-toolbar .filter-tabs{margin-bottom:0}.subpage-toolbar select{font-size:10px}.large-calendar{padding:17px}.large-calendar .calendar-title{font-size:14px}.habit-week{gap:8px;margin-left:0;justify-content:space-between}.habit-full{padding:18px}.habit-add-form .button{font-size:11px;padding:9px 11px}.habit-add-form input{font-size:12px}.habit-add-form{gap:7px}dialog{padding:21px 19px;max-width:calc(100vw - 22px)}.dialog-heading h2{font-size:19px}.editor-meta{gap:12px;flex-wrap:wrap}.editor-mood{display:block}.editor-mood .mood-picker{margin-top:9px}.editor-mood .mood-option{padding:5px 7px}.editor-tools{gap:8px;font-size:10px}.editor-tools .button{padding:6px 8px}.editor-footer{align-items:flex-start}.editor-footer small{max-width:120px}.editor-footer .button{font-size:11px;padding:9px 11px}.detail-footer{flex-wrap:wrap}.detail-footer .button{font-size:10px}.settings-section input{width:180px}.title-input{font-size:20px}.settings-actions .button{font-size:11px}.section-heading h2{font-size:15px}}
/* Legible ink and expressive faces keep the scrapbook usable every day. */
.face{color:#9f8134}.face svg{width:29px;height:29px}.mood-option:nth-child(2) .face{color:#9478ad}.mood-option:nth-child(3) .face{color:#b08342}.mood-option:nth-child(4) .face{color:#7996b0}.mood-option:nth-child(5) .face{color:#b38996}.editor-mood .face svg{width:24px;height:24px}
.page-heading p{color:#89808f}.entry-body-button p{color:#83798c;font-size:12px}.entry-date,.entry-top .entry-date{color:#8e8497}.hero p{color:#8a779e;font-size:12px}.caption,.mood-card .caption{color:#908298}.habit-item{color:#867493}.tag{color:#937ca7}.mood-note{color:#9c8ba8}.sample-hint{color:#9b8ca7}.stat-info small{color:#8e809b}.stat-trail{color:#9e90ad;font-size:9px}.entry-sticker{opacity:.6;right:24px;bottom:17px;font-size:32px}.entry-card.has-image .entry-sticker{bottom:40px}.entry-card:has(.entry-sticker) .entry-bottom{padding-right:38px}.sidebar{overflow-y:auto}.sidebar-note{flex-shrink:0}
@media(min-width:701px){.sidebar nav a{font-size:14px}.nav-label{font-size:11px}.page-heading p{font-size:12px}.hero h2{font-size:30px}.mood-card .card-top h2{font-size:15px}.mood-option{font-size:10px}.entry-top .entry-date{font-size:11px}.tag{font-size:10px}.habit-item{font-size:12px}.stat-info small{font-size:11px}.stat-trail{max-width:64px}}
@media(max-width:700px){.sidebar{visibility:hidden;box-shadow:none}.sidebar.open{visibility:visible;box-shadow:10px 0 80px #4f366630}.hero p{font-size:11px;max-width:205px}.hero-art{right:-8px;top:38%;width:42%}.hero-copy{width:80%}.hero h2{font-size:24px}.entry-body-button p{font-size:12px}.entry-sticker{right:18px;font-size:27px}.mood-note{font-size:10px}.settings-section p{color:#90799e}}
@media(max-width:700px){.hero p{max-width:178px}.hero-art{top:auto;bottom:48px;right:-9px;width:40%}.hero-scribble{bottom:14px}.editor-meta input[type="date"]{max-width:130px}}
.public-mode [hidden]{display:none!important}.public-mode .mood-option:disabled{opacity:1;cursor:default}.public-mode .mood-option:disabled:hover{background:none}.public-mode .hero-copy{padding-bottom:18px}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* 站长登录入口与访客浏览模式(2026-10-30 单站点改造) */
.owner-toggle{display:flex;gap:12px;align-items:center;color:#7052b2;font-size:12px;padding:10px 12px;width:100%;font-weight:600}
.owner-toggle .icon{width:16px;height:16px}
.login-dialog{width:min(420px,92vw);border:0;border-radius:22px;padding:26px 26px 22px;box-shadow:0 24px 60px rgba(52,49,60,.22)}
.login-dialog .dialog-heading{margin-bottom:10px}
.login-hint{margin:0 0 16px;color:#92909a;font-size:12.5px;line-height:1.7}
.login-field{display:block;margin-bottom:12px}
.login-field span{display:block;margin-bottom:6px;font-size:12px;color:#8b8594}
.login-field input{width:100%;padding:11px 13px;border:1px solid #e6e4ea;border-radius:12px;background:#fbfaff}
.login-field input:focus{border-color:#9074d9;outline:none;box-shadow:0 0 0 3px rgba(144,116,217,.16)}
.login-error{margin:0 0 12px;min-height:18px;font-size:12.5px;color:#c0566a}
.login-dialog .dialog-actions{display:flex;gap:10px;justify-content:flex-end}
/* 访客模式:个人数据相关的入口隐去,浏览与搜索保留 */
.public-mode .sidebar-write,
.public-mode [data-action="write"],
.public-mode [data-action="write-day"],
.public-mode [data-action="write-photo"],
.public-mode [data-action="prompt-write"],
.public-mode [data-action="star"],
.public-mode [data-action="star-detail"],
.public-mode [data-action="edit"],
.public-mode [data-action="delete"],
.public-mode .mood-picker,
.public-mode .settings-link:not(.owner-toggle){display:none !important}
