:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:#26352f;background:#f7f4ed;font-synthesis:none}*{box-sizing:border-box}html{min-width:320px}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit}.boot-screen{min-height:100vh;display:grid;place-items:center;color:#78847a;letter-spacing:.15em}.hidden{display:none!important}.serif{font-family:"Noto Serif SC","Songti SC",serif}.icon{width:21px;height:21px;display:inline-block;flex:none;vertical-align:middle}.arrow{font-size:23px;font-weight:300;line-height:1}.muted{color:#829087}.eyebrow{font-size:11px;letter-spacing:.22em;font-weight:700;color:#799083}.button{border:0;border-radius:14px;padding:12px 17px;background:#2c463d;color:white;font-weight:650}.button:hover{background:#38594d}.button.secondary{background:#e8ece4;color:#2c463d}.button.ghost{background:transparent;color:#54675c}.button.danger{background:#f4e8e3;color:#a9563d}.button.small{padding:9px 12px;border-radius:10px;font-size:13px}.text-button{border:0;background:none;color:#547467;padding:7px 0;font-weight:650}.text-button:hover{text-decoration:underline}.empty{padding:60px 20px;text-align:center;border:1px dashed #d5ded2;border-radius:24px;background:#fffdfa;color:#8b988e}.empty .serif{font-size:24px;color:#34463a;margin:8px 0}.empty p{font-size:14px;line-height:1.8}.empty .button{margin-top:12px}
.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-aside{position:relative;background:#2c463d;color:#f5f0e4;padding:clamp(36px,6vw,96px);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.login-aside:before,.login-aside:after{content:"";position:absolute;width:340px;height:340px;border:1px solid #708a78;border-radius:50%;right:-70px;bottom:-95px;opacity:.45}.login-aside:after{width:470px;height:470px;right:-130px;bottom:-165px}.brand{display:flex;gap:10px;align-items:center;font-family:"Noto Serif SC","Songti SC",serif;font-size:23px;font-weight:700;letter-spacing:.12em}.brand-mark{width:28px;height:28px;border:2px solid currentColor;display:grid;grid-template-columns:1fr 1fr;gap:2px;padding:5px;transform:rotate(-7deg)}.brand-mark i{border:1px solid currentColor;display:block}.login-quote{position:relative;z-index:1;max-width:520px}.login-quote h1{font-size:clamp(42px,5.5vw,80px);line-height:1.25;letter-spacing:.08em;font-weight:500;margin:0 0 28px}.login-quote p{color:#c8d7c9;font-size:16px;line-height:2}.login-foot{color:#b2c2b3;font-size:12px;letter-spacing:.12em}.login-form-wrap{display:grid;place-items:center;padding:32px}.login-form{width:min(100%,390px)}.login-form h2{font-size:36px;margin:14px 0 7px;font-weight:600}.login-form>p{color:#829087;margin:0 0 44px}.field{display:block;margin:0 0 23px}.field>span{display:block;font-size:13px;font-weight:650;color:#64766b;margin-bottom:10px}.field input{width:100%;height:50px;border:1px solid #dce4db;background:#fffefa;border-radius:12px;padding:0 15px;outline:0;color:#26352f}.field input:focus,.search-box:focus-within,.editor-title:focus,.editor-body:focus,.editor-date:focus,.editor-tags:focus{border-color:#739789;box-shadow:0 0 0 3px #dce8db}.login-form .button{width:100%;height:52px;margin-top:8px}.form-error{min-height:23px;color:#b44c3c;font-size:13px;margin-top:12px}
.shell{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;background:#f0f1e9;border-right:1px solid #e5e9df;padding:30px 18px;display:flex;flex-direction:column}.sidebar .brand{padding:7px 13px;margin-bottom:55px;color:#2c463d}.sidebar-nav{display:grid;gap:6px}.nav-item{width:100%;display:flex;align-items:center;gap:14px;border:0;background:transparent;color:#657369;border-radius:13px;padding:14px 16px;text-align:left;font-weight:650;font-size:14px}.nav-item:hover{background:#e5eae0}.nav-item.active{background:#dfe9db;color:#2c463d}.sidebar-bottom{margin-top:auto;border-top:1px solid #dce3d8;padding:20px 12px 2px;color:#849285;font-size:12px;line-height:1.7}.sidebar-bottom strong{color:#516b58;display:block;margin-bottom:6px}.mobile-nav{display:none}.main{min-width:0}.content{width:min(100%,1100px);margin:0 auto;padding:46px clamp(24px,5vw,80px) 100px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:50px}.today-date{color:#8c9a8f;font-size:12px;letter-spacing:.16em;font-weight:700}.top-actions{display:flex;align-items:center;gap:14px}.avatar{height:35px;width:35px;border-radius:50%;background:#e4eadd;color:#4e6557;display:grid;place-items:center;font-family:serif}.page-head{margin-bottom:28px}.page-head h1{font-size:clamp(32px,4vw,52px);letter-spacing:.03em;font-weight:500;margin:10px 0 8px;color:#26372f}.page-head p{color:#8c998f;margin:0;font-size:14px;line-height:1.8}.hero{background:#dfeadc;border-radius:27px;padding:clamp(26px,4vw,46px);display:grid;grid-template-columns:1fr 170px;min-height:240px;overflow:hidden;position:relative;margin-bottom:46px}.hero:after{content:"";position:absolute;width:270px;height:270px;right:0;bottom:-140px;border-radius:50%;border:1px solid #9fbca6}.hero h2{font-size:clamp(27px,3vw,38px);font-weight:500;margin:22px 0 9px;line-height:1.4}.hero p{font-size:14px;color:#6b7b70;line-height:1.8;max-width:470px}.hero .button{margin-top:18px}.hero-art{position:relative;z-index:1;align-self:center;justify-self:center;font-family:"Noto Serif SC",serif;font-size:100px;color:#9bb8a5;transform:rotate(12deg);line-height:1}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 18px}.section-heading h2{font-size:19px;margin:0;font-weight:600}.entry-list{display:grid;gap:13px}.entry-card{border:1px solid #e6e9df;background:#fffdfa;border-radius:18px;padding:22px 24px;display:grid;grid-template-columns:64px 1fr auto;gap:20px;text-align:left;color:inherit;width:100%;transition:transform .15s,border-color .15s}.entry-card:hover{transform:translateY(-2px);border-color:#afc7b7}.entry-date{border-right:1px solid #e8ebe4;padding-right:13px;text-align:center;align-self:start}.entry-date strong{display:block;font-size:29px;line-height:1.05;font-family:Georgia,serif;font-weight:400}.entry-date span{font-size:11px;color:#98a69b}.entry-content{min-width:0}.entry-content h3{font-size:17px;font-weight:600;margin:1px 0 7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry-content p{font-size:13px;color:#89968c;margin:0;line-height:1.6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry-meta{display:flex;gap:7px;align-items:center;margin-top:13px;flex-wrap:wrap}.tag{background:#edf2e8;color:#667d68;border-radius:6px;padding:4px 7px;font-size:11px}.mood-dot{height:9px;width:9px;border-radius:50%;background:#82ae88;display:inline-block}.mood-happy{background:#e9bb6b}.mood-sad{background:#9faec8}.mood-tired{background:#b5a6b8}.mood-excited{background:#d3937b}.entry-arrow{color:#9bab9e;font-size:23px;align-self:center}.stats-row{display:flex;gap:10px;flex-wrap:wrap;margin:28px 0 0}.stat{background:#fffdfa;border:1px solid #e6e9df;border-radius:14px;padding:13px 17px;color:#819083;font-size:12px;min-width:105px}.stat strong{font-size:19px;color:#34493b;display:block;font-weight:600;margin-bottom:3px}
.toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:26px 0}.search-box{border:1px solid #dde4d9;border-radius:12px;background:#fffdfa;display:flex;align-items:center;gap:9px;padding:0 13px;min-width:240px;flex:1;max-width:430px}.search-box input{width:100%;border:0;outline:0;background:transparent;height:45px;color:#2c463d;font-size:14px}.pill-row{display:flex;gap:7px;overflow:auto;scrollbar-width:none}.pill{border:1px solid #dce4d7;background:#fffefa;border-radius:100px;padding:8px 13px;color:#78887c;font-size:12px;white-space:nowrap}.pill.active{background:#2c463d;border-color:#2c463d;color:white}.month-head{display:flex;align-items:center;justify-content:space-between;margin:22px 0}.month-head h2{font-size:23px;font-weight:500;margin:0}.month-controls{display:flex;gap:7px}.icon-btn{border:1px solid #dfe7da;background:#fffdfa;color:#496251;border-radius:10px;min-width:39px;height:39px;display:grid;place-items:center}.calendar{background:#fffdfa;border:1px solid #e6e9df;border-radius:20px;padding:22px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.weekday{text-align:center;color:#9ba89d;font-size:12px;padding:9px 0}.day{border:0;background:transparent;min-height:76px;border-radius:11px;text-align:left;padding:8px;display:flex;flex-direction:column;justify-content:space-between;color:#52645a}.day:not(.blank):hover{background:#edf3e9}.day.today{background:#f3f4e8}.day.selected{background:#dcebd9}.day.blank{pointer-events:none}.day span:first-child{font-size:12px}.day .dots{display:flex;gap:3px;flex-wrap:wrap}.day .dots i{width:5px;height:5px;border-radius:50%;background:#6d9e79}.calendar-note{margin:22px 0 0}.calendar-note h3{font-size:16px;font-weight:600}.calendar-note .entry-list{margin-top:15px}
.editor-wrap{max-width:760px;margin:0 auto}.editor-top{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:29px}.back{border:0;background:none;color:#728879;font-size:14px;display:flex;gap:7px;align-items:center;padding:10px 0}.save-status{font-size:12px;color:#8b9b8e;white-space:nowrap}.save-status.error{color:#b35a49}.editor-paper{background:#fffefa;border:1px solid #e7e9df;border-radius:22px;padding:clamp(25px,5vw,60px);box-shadow:0 20px 70px #4857490a}.editor-date-row{display:flex;gap:12px;align-items:center;margin-bottom:30px;color:#6d8b76;font-size:13px;font-weight:650;letter-spacing:.08em}.editor-date{border:0;background:transparent;color:#6d8b76;outline:0;padding:7px 5px;border-radius:7px}.editor-title{width:100%;font-family:"Noto Serif SC","Songti SC",serif;font-size:clamp(29px,4vw,42px);color:#26372f;border:0;background:transparent;outline:0;resize:none;line-height:1.4;min-height:64px;padding:0;border-radius:8px}.editor-title::placeholder,.editor-body::placeholder{color:#b7c1b5}.mood-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:23px 0;border-bottom:1px solid #e8ede5;padding-bottom:24px}.mood-row span{color:#94a195;font-size:12px;margin-right:3px}.mood-button{background:#f3f5ef;border:1px solid transparent;border-radius:100px;padding:7px 11px;font-size:12px;color:#778a7b}.mood-button.active{border-color:#91b399;background:#e3eee0;color:#356148}.editor-body{display:block;width:100%;min-height:360px;border:0;outline:0;resize:vertical;padding:0;background:transparent;color:#33443a;line-height:2.1;font-size:15px;border-radius:8px}.editor-bottom{border-top:1px solid #e8ede5;padding-top:18px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.editor-tags{border:0;outline:0;padding:9px;background:transparent;width:min(100%,360px);color:#526c57;font-size:13px;border-radius:8px}.editor-bottom-right{display:flex;gap:13px;align-items:center;color:#97a49a;font-size:12px}.editor-actions{display:flex;justify-content:space-between;gap:12px;margin-top:19px}.editor-actions .danger{margin-right:auto}
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.setting-card{background:#fffdfa;border:1px solid #e6e9df;border-radius:18px;padding:27px}.setting-card.wide{grid-column:1/-1}.setting-card h2{font-size:18px;margin:8px 0 7px}.setting-card p{font-size:13px;line-height:1.8;color:#89968c;margin:0 0 19px}.setting-icon{font-size:28px;color:#6d9376}.trash-item{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid #e9ede5;padding:14px 0}.trash-item:first-child{border-top:0}.trash-item strong{display:block;font-size:14px}.trash-item small{color:#9aa79d}.trash-actions{display:flex;gap:8px}.toast{position:fixed;bottom:27px;left:50%;transform:translateX(-50%);background:#29443a;color:white;padding:12px 18px;border-radius:10px;box-shadow:0 12px 35px #1a35273b;z-index:40;font-size:13px;max-width:calc(100vw - 30px)}.toast.error{background:#a65846}
@media(max-width:850px){.shell{display:block}.sidebar{display:none}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:30;background:#fffefaee;backdrop-filter:blur(18px);border-top:1px solid #e6eae2;box-shadow:0 -6px 30px #26372f0a;padding:8px max(10px,env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom));justify-content:space-around;align-items:center}.mobile-nav button{border:0;background:transparent;color:#8b9a8d;min-width:56px;display:grid;gap:4px;justify-items:center;font-size:10px;font-weight:650;padding:5px}.mobile-nav button.active{color:#2c634b}.mobile-nav .write-btn{height:48px;width:48px;min-width:48px;border-radius:50%;background:#2c463d;color:white;font-size:27px;display:grid;place-items:center;margin-top:-23px;box-shadow:0 5px 15px #26372f36}.content{padding:26px 21px calc(105px + env(safe-area-inset-bottom))}.topbar{margin-bottom:35px}.login{grid-template-columns:1fr}.login-aside{min-height:230px;padding:24px 30px}.login-aside .brand{font-size:19px}.login-quote h1{font-size:30px;margin:10px 0 0}.login-quote p,.login-foot{display:none}.login-aside:before{width:250px;height:250px;right:-80px;bottom:-130px}.login-aside:after{width:330px;height:330px;right:-120px;bottom:-170px}.login-form-wrap{align-items:start;padding:45px 28px}.login-form h2{font-size:29px}.login-form>p{margin-bottom:34px}}
@media(max-width:540px){.topbar{margin-bottom:30px}.page-head h1{font-size:34px}.hero{grid-template-columns:1fr;min-height:230px;padding:25px;margin-bottom:37px}.hero h2{margin:17px 0 5px}.hero p{margin:0}.hero-art{position:absolute;right:9px;bottom:5px;font-size:92px;opacity:.35}.hero .button{margin-top:15px}.entry-card{grid-template-columns:47px 1fr 12px;gap:12px;padding:18px 14px}.entry-date{padding-right:9px}.entry-date strong{font-size:24px}.entry-content h3{font-size:15px}.entry-content p{font-size:12px}.entry-arrow{font-size:17px}.toolbar{display:block}.search-box{max-width:none;margin-bottom:12px}.calendar{padding:10px}.calendar-grid{gap:1px}.weekday{font-size:10px}.day{min-height:53px;padding:6px}.day span:first-child{font-size:11px}.settings-grid{grid-template-columns:1fr}.setting-card.wide{grid-column:auto}.editor-paper{padding:24px 22px}.editor-body{min-height:48vh}.editor-top{margin-bottom:17px}.editor-actions{flex-wrap:wrap}.editor-actions .button{flex:1}.editor-actions .danger{flex:0 0 100%}.trash-item{align-items:flex-start;flex-direction:column}.trash-actions{width:100%}}
