:root{font-family:"Avenir Next","PingFang SC","Hiragino Sans GB",sans-serif;font-synthesis:none;color:#3d463c;background:#fafbf7;--muted:#8b9484;--line:#e6eadf;--ease:cubic-bezier(.22,1,.36,1)}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input,summary{touch-action:manipulation}button{color:inherit;cursor:pointer;background:none;border:0}button:disabled{cursor:default;opacity:.3}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,label:focus-within{outline:2px solid #7c9471;outline-offset:4px}a{color:inherit;text-decoration:none}.page{max-width:1060px;padding:0 48px;margin:0 auto}.topbar{height:106px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-size:19px;font-weight:550;letter-spacing:2px}.brand-dot{width:24px;height:24px;border-radius:50%;border:1px solid #e8dfbb;background:#fffef5;box-shadow:0 0 10px #f5e6ae70;position:relative}.brand-dot:after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:#8b9f80;top:8px;left:8px}.connection-state{display:flex;gap:6px;align-items:center;font-size:10px;color:var(--muted);letter-spacing:.02em}.connection-state i{width:5px;height:5px;border-radius:50%;background:#bfc6b7}.connection-state.live i{background:#829a70}.intro{display:flex;justify-content:space-between;align-items:center;padding:67px 0 61px}h1{font-family:"Songti SC","Noto Serif CJK SC",serif;font-size:40px;font-weight:500;letter-spacing:2px;line-height:1.5;margin:0 0 15px;color:#46513f}.connection-panel{border:1px solid #e9e6d6;background:#fcfbf3;border-radius:9px;padding:23px 28px;display:flex;justify-content:space-between;gap:20px;margin:0 0 35px}.connection-panel[hidden]{display:none}.connection-panel h2{font-size:14px;font-weight:500;margin:0 0 8px}.connection-panel p{font-size:11px;line-height:1.8;color:#90917d;margin:0}.connection-actions{display:flex;align-items:center;gap:10px;flex-shrink:0;flex-direction:column;justify-content:center}.primary{background:#778568;color:#fcfdf8;border-radius:6px;padding:10px 15px;font-size:11px;display:flex;align-items:center;gap:20px}.primary:hover{background:#65765a}.quiet-button{color:#8a957d;font-size:10px;padding:5px 0;text-decoration:none}.quiet-button:hover{color:#4f6842}.notice{padding:12px 16px;background:#f0f3e9;border-radius:6px;font-size:11px;color:#7e8d70;margin-bottom:24px}.notice[hidden]{display:none}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:27px}.section-heading h2{font-size:14px;font-weight:500;letter-spacing:1px;margin:0}.year-picker{display:flex;align-items:center;gap:13px;color:#87927c;font-size:12px;font-variant-numeric:tabular-nums}.year-picker button,.day-navigation>button{width:25px;height:25px;color:#8d9a80;font-size:20px;line-height:1;border-radius:5px}.year-picker button:hover,.day-navigation>button:hover{background:#edf1e7}.activity-scroll{overflow:auto;padding:3px 3px 9px;margin:0 -3px;scrollbar-width:thin;scrollbar-color:#d8dfcf transparent}.activity-inner{min-width:700px;width:100%}.month-labels{display:grid;margin-left:25px;grid-template-columns:repeat(53,1fr);font-size:9px;color:#a1aa96;height:24px}.month-labels span{white-space:nowrap}.activity-body{display:flex;gap:13px}.weekday-labels{display:flex;flex-direction:column;justify-content:space-between;width:12px;flex:none;font-size:8px;color:#a6ae9d;padding:1px 0}.heatmap{flex:1;display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,1fr);grid-template-columns:repeat(53,1fr);gap:4px;aspect-ratio:8.6}.heatmap button,.heatmap .padding-day{border-radius:2px;min-width:0;padding:0;border:1px solid #71836004;position:relative;transition:transform 150ms var(--ease),box-shadow 150ms}.heatmap button:hover{transform:scale(1.18);z-index:1;box-shadow:0 0 0 2px #fafbf7,0 0 0 3px #b3c09e}.heatmap button.selected{outline:1.5px solid #758a60;outline-offset:2px;z-index:1}.heatmap button.future{opacity:.4}.padding-day{visibility:hidden}.level-0{background:#eaf0e2}.level-1{background:#d4e0c2}.level-2{background:#afc694}.level-3{background:#8fab70}.level-4{background:#6b8952}.activity-caption{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:11px}.activity-caption p{font-size:10px;color:#8d9880;margin:0;line-height:1.8}.activity-caption strong{font-weight:500;color:#60764e}.legend{display:flex;align-items:center;gap:4px;flex:none}.legend span{font-size:9px;color:#9da58f;margin:0 4px}.legend i{width:10px;height:10px;border-radius:2px}.journal-section{border-top:1px solid var(--line);margin-top:45px;padding-top:46px;display:grid;grid-template-columns:1fr 2.35fr;gap:64px;padding-bottom:65px;min-height:360px}.today-button{display:flex;gap:22px;align-items:center;margin-top:24px;padding:0;font-size:10px;color:#748366}.today-button:hover{color:#3f6232}.day-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;padding-bottom:17px;border-bottom:1px solid var(--line)}.day-heading h3{font-size:16px;letter-spacing:1px;font-weight:500;margin:0 0 5px}.day-heading p{font-size:9px;color:#9ba58e;margin:0;letter-spacing:.5px}.day-navigation{display:flex;gap:9px;align-items:center}.date-control{width:18px;height:20px;position:relative;cursor:pointer;color:#a1ad94}.date-control svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.2}.date-control input{position:absolute;inset:0;width:100%;opacity:0;cursor:pointer}.date-control input::-webkit-calendar-picker-indicator{width:100%;height:100%;position:absolute;inset:0;cursor:pointer}.day-tasks{list-style:none;padding:8px 0 0;margin:0}.day-task{display:flex;gap:13px;align-items:flex-start;padding:12px 0;animation:reveal 250ms var(--ease) both}.task-symbol{width:18px;height:18px;margin-top:1px;border:1px solid #cdd7c3;border-radius:50%;flex:none;display:grid;place-items:center}.day-task.done .task-symbol{background:#edf3e6;border-color:#dce5d1;color:#8da077}.task-symbol svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.day-task-content{flex:1;min-width:0}.day-task-title{font-size:12px;line-height:1.8;word-break:break-word;color:#57634d}.day-task.done .day-task-title{color:#7f8d72}.day-task-meta{font-size:9px;color:#a2ac98;line-height:1.8;margin-top:3px}.task-time{font-size:9px;font-variant-numeric:tabular-nums;color:#a1ac97;margin-top:5px}.priority-mark{display:inline-block;width:5px;height:5px;border-radius:50%;background:#c6a568;margin-left:8px;vertical-align:middle}.priority-mark.low{background:#b4c1a8}.day-empty{padding:34px 0 36px;display:flex;align-items:center;flex-direction:column;justify-content:center;color:#a5ae9b}.day-empty[hidden]{display:none}.empty-mark{width:35px;height:35px;border-radius:50%;border:1px solid #e3e9db;display:grid;place-items:center;font-family:Georgia,serif;font-size:35px;color:#adbc9a;line-height:1}.day-empty p{font-size:11px;margin:13px 0 8px}.day-empty>span:last-child{font-size:9px;color:#b1b8a9}.page-footer{border-top:1px solid var(--line);padding:24px 0 28px;display:flex;justify-content:space-between;align-items:flex-start;font-size:9px;color:#a7af9b;gap:20px}.page-footer>span{letter-spacing:1px}.page-footer details{max-width:340px;text-align:right}.page-footer summary{cursor:pointer;list-style:none;color:#97a18a}.page-footer summary::-webkit-details-marker{display:none}.page-footer summary:hover{color:#718163}.data-panel{text-align:left;padding-top:16px;animation:reveal 200ms var(--ease)}.data-panel p{font-size:10px;line-height:1.8;margin:0 0 12px}.data-actions{display:flex;gap:18px;flex-wrap:wrap}.import-label{cursor:pointer}.import-label input{display:none}#connect-form{margin-top:16px}#connect-form>label{font-size:9px}#connect-form>div{display:flex;gap:8px;margin-top:7px}#connect-form input{width:0;flex:1;min-width:0;background:#f2f5ec;border:1px solid #e1e8d9;border-radius:4px;padding:7px 9px;font-size:10px;color:#647755}#connect-form button{font-size:10px;color:#6a8059}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#56664b;color:#f6f9ef;border-radius:8px;font-size:12px;padding:12px 20px;box-shadow:0 5px 20px #3d4b2920}.toast[hidden]{display:none}@keyframes reveal{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1400px){.page{max-width:1160px;padding:0 64px}.intro{padding-top:78px;padding-bottom:70px}.journal-section{padding-top:52px;min-height:380px}.topbar{height:112px}}@media(max-width:760px){.page{padding:0 25px}.topbar{height:80px}.intro{padding:44px 0 42px}h1{font-size:29px;letter-spacing:1px}.journal-section{gap:28px;grid-template-columns:1fr 2fr;padding-top:30px;margin-top:28px;padding-bottom:40px}.activity-caption p{font-size:9px}.legend{gap:3px}.legend i{width:8px;height:8px}.connection-panel{padding:20px;align-items:flex-start}.connection-actions{gap:6px}.connection-panel p{font-size:10px}}@media(max-width:520px){.page{padding:0 22px}.connection-state{font-size:8px}.brand{font-size:17px;gap:9px}.intro{padding:39px 0 35px}h1{font-size:26px;margin-bottom:12px}.connection-panel{flex-direction:column;gap:15px;margin-bottom:27px}.connection-actions{flex-direction:row;gap:20px}.connection-panel br{display:none}.section-heading{margin-bottom:19px}.section-heading h2{font-size:12px}.journal-section{display:block}.today-button{margin:0}.day-heading h3{font-size:15px}.page-footer{font-size:8px}.page-footer>span{flex-shrink:0;letter-spacing:0}.page-footer details{max-width:220px}.activity-caption{flex-wrap:wrap}.legend{margin-left:auto}.heatmap{gap:4px}.day-empty{padding:40px 0}.data-actions{gap:12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Minimal English interface. */
.page{max-width:980px}.brand{font-size:17px;letter-spacing:.4px}.intro{padding:40px 0 38px}h1{font-family:inherit;font-size:30px;font-weight:500;letter-spacing:-.7px;line-height:1.25;margin:0}.connection-panel{align-items:center;padding:16px 20px}.connection-actions{flex-direction:row;gap:18px}.journal-section{display:block;padding-top:30px;margin-top:32px;min-height:270px;padding-bottom:38px}.day-navigation .today-button{margin:0 12px 0 0;font-size:11px;width:auto;height:auto;line-height:1.5}.page-footer{justify-content:flex-end}.day-empty{min-height:150px}.day-empty p{margin:0;font-size:12px}.section-heading h2{letter-spacing:0}.day-heading h3{letter-spacing:0}@media(max-width:520px){.intro{padding:30px 0}h1{font-size:26px}.connection-panel{align-items:flex-start}.journal-section{padding-top:24px;min-height:240px}.day-navigation{gap:5px}.day-navigation .today-button{margin-right:7px}}

.priority-mark.urgent{background:#a280cd;outline:1px solid #a280cd70;outline-offset:2px}
