:root{--paper:#f5f3ec;--ink:#29382e;--muted:#7d8276;--green:#435b3e;--line:#dfdfd2;--peach:#e8b39a;--white:#fffef9;--serif:'Songti SC','Noto Serif CJK SC','STSong',serif;font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;color:var(--ink);background:var(--paper);font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #c78d62;outline-offset:4px}button{border:0;background:none}a{color:inherit}.topbar{height:91px;max-width:1320px;padding:0 52px;margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:11px;align-items:center;text-decoration:none}.brand-icon{font-size:39px;line-height:1;color:var(--green)}.brand b{font-family:var(--serif);font-size:23px;letter-spacing:3px}.brand b span{display:block;font-family:inherit;letter-spacing:3.5px;font-size:8px;padding-top:3px}.topbar nav{display:flex;gap:34px;height:100%;align-items:center}.nav{height:100%;font-weight:500;color:var(--muted);position:relative;padding:0 3px}.nav.active{color:var(--ink)}.nav.active:after{position:absolute;content:'';bottom:-1px;height:3px;background:var(--green);left:2px;right:2px}.local-label{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:7px}.local-label i{width:6px;height:6px;background:#789164;border-radius:50%}main{max-width:1216px;margin:auto;padding:0 44px}.hero{display:grid;grid-template-columns:1fr 380px;align-items:center;padding:63px 18px 52px;min-height:396px}.eyebrow{font-size:10px;letter-spacing:2px;color:#8d907e;font-weight:600;margin:0 0 18px}h1{font-family:var(--serif);font-size:43px;line-height:1.5;letter-spacing:2px;font-weight:500;margin:0}h1 span{position:relative;white-space:nowrap}h1 span:after{content:'';position:absolute;bottom:1px;left:1px;right:0;height:9px;background:#e7c9ad;z-index:-1;transform:rotate(-2deg)}.intro{color:var(--muted);line-height:1.9;font-size:13px;margin:18px 0 23px}.primary{background:var(--green);color:#fffdf7;padding:12px 21px;border-radius:7px;font-weight:500;min-height:43px}.primary:hover{background:#334a2e}.primary span{margin-right:10px;font-size:17px}.hero-art{height:270px;position:relative;display:flex;justify-content:center;align-items:center}.art-card{transform:rotate(8deg);width:218px;height:268px;border:1px solid #dedfd1;background:#eeeedf;border-radius:8px;box-shadow:0 10px 25px #3039230a;padding:25px 25px;position:relative}.art-card>span:first-child{font-size:10px;letter-spacing:2px;color:#7f8670}.art-card p{font-family:var(--serif);line-height:1.8;font-size:20px;margin-top:29px}.art-card em{font-style:normal;font-size:16px}.art-line{height:1px;background:#d3d6c4;margin:16px 0;width:100%}.art-line.short{width:60%;margin-top:-5px}.art-foot{font-size:9px;color:#8c927d;position:absolute;bottom:23px}.art-shadow{position:absolute;width:218px;height:268px;transform:rotate(-7deg) translate(-18px,7px);border:1px solid #e6d9ca;border-radius:8px;background:#f2e6d6}.sun{position:absolute;width:48px;height:48px;background:#dba17e;border-radius:50%;right:20px;top:26px}.art-spark{font-size:63px;position:absolute;right:35px;bottom:-4px;color:#7c8b5d;transform:rotate(12deg)}.section-top{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:31px;margin-top:16px}.section-top .eyebrow{margin-bottom:9px;font-size:9px}h2{font-family:var(--serif);font-weight:500;font-size:24px;margin:0}.section-top h2 span{font-family:system-ui;font-size:12px;margin-left:7px;color:var(--muted);vertical-align:middle}.quiet{color:var(--muted);font-size:12px;padding:10px;border-radius:5px}.quiet:hover{background:#e9e9df;color:var(--ink)}.toolbar{margin:25px 0 25px;display:flex;justify-content:space-between;gap:15px;align-items:center}.filters{display:flex;gap:6px;flex-wrap:wrap}.chip{padding:8px 13px;font-size:12px;white-space:nowrap;color:var(--muted);border-radius:5px}.chip.active{background:#e5e8db;color:var(--green)}.search{border:1px solid #dedfd5;display:flex;align-items:center;border-radius:6px;padding:0 11px;gap:8px;background:#faf9f4;max-width:250px}.search span{font-size:21px;color:#8c927e}.search input{width:100%;max-width:190px;padding:10px 0;border:0;outline:none;background:transparent;font-size:12px}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px;align-items:start;min-height:12px}.moment-card{background:var(--white);border:1px solid #e4e4d8;border-radius:9px;padding:22px;text-align:left;min-height:226px;position:relative;display:flex;flex-direction:column;overflow:hidden;transition:transform .18s,box-shadow .18s;width:100%}.moment-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #35402d0c}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.card-date{font-size:10px;letter-spacing:1px;color:#929586}.badge{font-size:10px;color:#737d60;background:#edf0e3;padding:4px 7px;border-radius:4px}.badge.wait{background:#f5e8dd;color:#a37a59}.moment-card h3{font-family:var(--serif);font-size:20px;line-height:1.5;margin:0 0 12px;font-weight:500;overflow-wrap:anywhere}.card-snippet{font-size:12px;color:#939386;line-height:1.9;margin:0 0 20px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.card-footer{border-top:1px solid #edeee4;padding-top:13px;display:flex;justify-content:space-between;font-size:10px;color:#9a9d8d;margin-top:auto}.empty{text-align:center;padding:40px 20px 53px;border:1px dashed #dcded0;border-radius:9px;background:#f8f7f0}.empty-symbol{font-size:42px;color:#98a083;margin-bottom:9px}.empty h3{font-family:var(--serif);font-size:22px;font-weight:500;margin:5px}.empty p{font-size:12px;line-height:2;color:var(--muted);margin:13px 0 18px}.outline{border:1px solid #b8c2a9;border-radius:6px;padding:11px 17px;background:#fafbf6;color:var(--green);font-size:12px}.outline:hover{background:#edf0e4}.text-button{font-size:11px;color:var(--muted);text-decoration:underline;text-underline-offset:3px;padding:10px}.empty .text-button{display:block;margin:8px auto 0}footer{margin:53px 0 22px;border-top:1px solid var(--line);padding-top:23px;display:flex;justify-content:space-between;align-items:center;color:#999c8f;font-size:10px;letter-spacing:1px}dialog{border:1px solid #dfdfd2;border-radius:12px;background:#fcfbf6;color:var(--ink);width:min(920px,calc(100% - 36px));max-height:90dvh;padding:29px;box-shadow:0 28px 80px #202b2440}dialog::backdrop{background:#25332966;backdrop-filter:blur(4px)}dialog .eyebrow{font-size:8px;margin-bottom:7px}.dialog-heading{display:flex;justify-content:space-between;align-items:start;margin-bottom:23px}.dialog-heading h2{font-size:25px}.close{font-size:27px;color:#7c8474;padding:0 6px}.editor-meta{display:flex;gap:17px;margin-bottom:18px}label{display:block;font-size:12px;font-weight:500}label small{display:block;font-size:11px;color:#949783;font-weight:400;margin:8px 0}input,select,textarea{background:#fffef9;border:1px solid #dedfd4;border-radius:5px;padding:10px;outline:none}input:focus,textarea:focus,select:focus{border-color:#8b9e73;box-shadow:0 0 0 3px #75835412}label input,label select{display:block;margin-top:8px;width:100%}.editor-meta label{flex:1}.title-label span{font-size:10px;color:var(--muted);font-weight:400;margin-left:8px}.title-label{margin-bottom:23px}.event-label{padding:20px;background:#efeee3;border-radius:7px}.field-number{font-family:var(--serif);font-size:14px;color:#92967a;margin-right:5px}textarea{display:block;width:100%;resize:vertical;line-height:1.8;min-height:80px;font-size:13px}.event-label textarea{margin-top:10px;min-height:87px}.reflection-columns{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:26px}.reflection-columns section{padding:17px;border-radius:7px;background:#f3f2e9;align-self:start}.reflection-columns .after-column{background:#eef1e7}.column-heading{padding-bottom:10px;border-bottom:1px solid #dadfce;margin-bottom:17px}.phase{float:right;font-size:10px;padding:3px 6px;background:#e3e6d8;color:#7b8765;border-radius:4px}.column-heading h3{font-family:var(--serif);font-weight:500;margin:0;font-size:19px}.column-heading p{font-size:10px;color:var(--muted);margin:9px 0 0}.reflection-columns label{margin-bottom:17px}.reflection-columns label:last-child{margin-bottom:0}.reflection-columns textarea{margin-top:8px;min-height:84px}.editor-note,.hint{font-size:11px;line-height:1.9;color:#8a907e}.editor-note{margin:21px 0 16px}.editor-actions{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid var(--line);padding-top:18px}.editor-actions>div{display:flex;gap:2px;flex-wrap:wrap}.editor-actions .primary{white-space:nowrap}.diary-heading{padding:52px 15px 33px}.diary-layout{display:grid;grid-template-columns:270px 1fr;gap:29px}.diary-aside{background:#eeeee3;padding:25px;border-radius:8px;align-self:start}.diary-aside input{display:block;width:100%;margin-top:10px}.diary-aside h3{font-size:12px;font-weight:500;margin:25px 0 15px}.diary-aside .outline{width:100%;margin-top:20px}.diary-list-item{display:block;width:100%;text-align:left;padding:10px 0;border-bottom:1px solid #dcdfd1;font-size:12px;line-height:1.6;overflow-wrap:anywhere}.diary-paper{border:1px solid #e1e2d7;background:#fffef9;border-radius:8px;padding:25px}.paper-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.paper-top span{font-size:10px;color:var(--muted)}#diary-text{min-height:460px;border:0;box-shadow:none;background:repeating-linear-gradient(transparent,transparent 30px,#efefe6 31px);line-height:31px;padding:0;font-size:13px}.paper-actions{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:20px}.paper-top h2{font-size:21px}#share-dialog{max-width:620px}#share-options{display:flex;flex-wrap:wrap;gap:15px;margin:20px 0}#share-options label{font-weight:400;display:flex;align-items:center;gap:5px;font-size:11px}#share-options input{margin:0;width:auto}#share-preview{white-space:pre-wrap;overflow-wrap:anywhere;max-height:45dvh;overflow:auto;border:1px solid #dedfce;padding:25px;background:#f0f0e4;border-radius:8px;line-height:1.9;font-family:var(--serif);font-size:14px}#help-dialog{max-width:600px;font-size:13px;line-height:2}#help-dialog p{color:#6f7969}#help-dialog h3{font-family:var(--serif);font-size:19px;font-weight:500}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);background:#34462f;color:#fffdf3;padding:12px 23px;border-radius:7px;font-size:12px;opacity:0;transition:.2s;pointer-events:none;z-index:10;max-width:calc(100% - 24px);text-align:center}#toast.show{opacity:1;transform:translate(-50%,0)}#editor-error,#warnings{color:#9e5141;font-size:12px;line-height:1.8;white-space:pre-wrap}#warnings:empty{display:none}[hidden]{display:none!important}
@media(min-width:1400px){.hero{padding-top:80px;padding-bottom:68px}.hero h1{font-size:48px}}
@media(max-width:900px){.topbar{padding:0 28px}.hero{grid-template-columns:1fr 280px;padding-left:5px;padding-right:5px}.hero-art{transform:scale(.85)}.art-spark{right:-5px}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar{align-items:stretch;flex-direction:column}.search{max-width:none;width:100%}.search input{max-width:none}.diary-layout{grid-template-columns:220px 1fr;gap:18px}}
@media(max-width:600px){.topbar{height:74px;padding:0 19px}.brand-icon{font-size:29px}.brand b{font-size:19px}.brand b span{font-size:6px}.topbar nav{gap:18px}.nav{font-size:12px}.local-label{display:none}main{padding:0 20px}.hero{grid-template-columns:1fr;min-height:0;padding:39px 1px 33px;position:relative;overflow:hidden}.hero h1{font-size:33px;letter-spacing:1px}.hero .eyebrow{font-size:8px;letter-spacing:1.6px;position:relative;z-index:1}.hero .intro{font-size:12px;margin-top:14px;position:relative;z-index:1}.hero-art{position:absolute;right:-94px;top:34px;transform:scale(.5);opacity:.35;pointer-events:none}.hero .primary{position:relative;z-index:1}.section-top{padding-top:25px;margin-top:0}.section-top h2{font-size:22px}.quiet{font-size:11px}.toolbar{margin-top:18px;margin-bottom:20px;gap:12px}.filters{gap:3px}.chip{font-size:11px;padding:8px 10px}.card-grid{grid-template-columns:1fr;gap:13px}.moment-card{min-height:190px;padding:20px}.card-top{margin-bottom:14px}.moment-card h3{font-size:21px}.empty{padding:26px 16px 32px}.empty h3{font-size:20px}.empty p{font-size:11px}footer{margin-top:35px;font-size:8px;letter-spacing:0}.diary-heading{padding:37px 0 25px}.diary-heading h1{font-size:31px}.diary-layout{grid-template-columns:1fr}.diary-aside{padding:19px}.diary-aside h3{margin-top:20px}.diary-paper{padding:20px}#diary-text{min-height:420px}dialog{width:calc(100% - 18px);padding:20px 16px;max-height:94dvh;border-radius:10px}.dialog-heading h2{font-size:23px}.reflection-columns{grid-template-columns:1fr;gap:16px;margin-top:18px}.reflection-columns section{padding:15px}.editor-actions{position:sticky;bottom:-21px;background:#fcfbf6;padding-bottom:12px;flex-wrap:wrap}.editor-actions>div{gap:0}.editor-actions .primary{margin-left:auto}.editor-note{font-size:10px}.event-label{padding:15px}.paper-actions .primary{padding:11px 13px;font-size:12px}}
#editor[open]{display:flex;flex-direction:column;padding:0;overflow:hidden}
#editor>.editor-heading{flex-shrink:0;margin:0;padding:24px 28px 19px;background:#fcfbf6;border-bottom:1px solid var(--line);gap:16px;align-items:center}
.editor-heading .close{flex-shrink:0;min-width:38px;min-height:38px;border-radius:6px;line-height:1}
.editor-heading .close:hover{background:#e9ecdf}
.editor-scroll{overflow-y:auto;min-height:0;padding:20px 28px 0;overscroll-behavior:contain}
#editor .editor-actions{position:sticky;bottom:0;background:#fcfbf6;padding:14px 0 17px;margin-top:16px;box-shadow:0 -10px 16px #fcfbf6}
.field-caption{display:flex;align-items:center;gap:7px;min-height:25px}
.field-caption label{margin:0;line-height:1.6}
.field-help{width:19px;height:19px;flex-shrink:0;border:1px solid #a5af97;border-radius:50%;padding:0;color:#71805f;font-size:11px;line-height:17px;font-weight:500;display:inline-flex;justify-content:center;align-items:center}
.field-help:hover,.field-help[aria-expanded=true]{background:#435b3e;border-color:#435b3e;color:#fffef9}
.reflection-field{margin:0 0 18px}.reflection-field:last-child{margin-bottom:0}.reflection-field textarea{margin-top:7px}
.reflection-columns .reflection-field label{margin:0}.insight-group{padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid #d5ddc9}.group-label{font-size:11px;color:#71805f;margin:0 0 13px;font-weight:600}
.status-field{flex:1}.status-field select{display:block;width:100%;margin-top:8px}.editor-meta{align-items:end}.editor-meta>.status-field .field-caption{min-height:19px}.optional{font-size:10px;font-weight:400;color:var(--muted);margin-left:4px}
.template-note{display:flex;align-items:center;gap:8px;font-size:11px;color:#7d866e;margin:-6px 0 16px;line-height:1.7}
.event-label>small{display:block;font-size:11px;color:#949783;margin:7px 0 0;line-height:1.8}
.field-tooltip{position:fixed;inset:auto;margin:0;width:min(355px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow-y:auto;border:1px solid #ccd3bd;border-radius:9px;background:#fffef8;color:#56634d;box-shadow:0 12px 36px #29382e29;padding:18px 20px;font-size:12px;line-height:1.85;overflow-wrap:anywhere}
.field-tooltip h3{font-family:var(--serif);font-weight:500;font-size:18px;line-height:1.5;color:#29382e;margin:0 0 11px}.field-tooltip p{margin:0 0 10px}.field-tooltip p:last-child{margin-bottom:0}.field-tooltip strong{font-weight:600;color:#435b3e}.field-tooltip .tip-example{border-left:2px solid #d9bea4;padding-left:11px;color:#7a745f}.field-tooltip .tip-note{font-size:11px;color:#8b8e7e}
@media(max-width:600px){#editor>.editor-heading{padding:17px 16px 14px}.editor-scroll{padding:17px 16px 0}#editor .editor-actions{bottom:0;padding-bottom:13px}.field-help{width:24px;height:24px;line-height:22px}.status-field .field-caption{min-height:24px}.template-note{font-size:10px}.field-tooltip{padding:16px 18px;font-size:12px}.reflection-columns .phase{font-size:9px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Daily cards, timeline and portable storage */
*{-webkit-tap-highlight-color:transparent}button,a,input,select,textarea{outline-color:#718467}button:focus:not(:focus-visible),a:focus:not(:focus-visible){outline:none}button:focus-visible,a:focus-visible{outline:2px solid #718467;outline-offset:4px}
.compose-hero{padding:38px 0 30px;border-bottom:1px solid #dcded0}.compose-meta{display:flex;justify-content:space-between;color:#7a826e;font-size:12px;letter-spacing:1px;margin-bottom:17px}.compose-entry{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;border:0;background:#e6eadb;border-radius:22px;padding:29px 30px;color:#34462f;transition:background .2s}.compose-entry:hover{background:#dfe5d3}.compose-copy{display:grid;gap:10px}.compose-copy strong{font-family:serif;font-size:30px;font-weight:500;letter-spacing:2px}.compose-copy>span{font-size:12px;color:#77816b;letter-spacing:.4px}.compose-plus{width:66px;height:66px;border-radius:50%;display:grid;place-items:center;background:#42583b;color:#f5f3ec;flex-shrink:0;margin-left:20px;box-shadow:0 5px 14px #42583b15}.compose-plus svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}.card-section-top{padding-top:28px}.collection-actions{display:flex;gap:13px}.collection-actions .quiet{font-size:12px;padding:8px 0}.empty-caption{font-size:13px;color:#949986;text-align:center;padding:45px 10px;line-height:1.8}
.timeline-heading{padding:42px 0 26px}.timeline-heading h1{font-family:serif;font-size:36px;font-weight:400;letter-spacing:2px;margin:15px 0}.timeline-heading h1 span{color:#7c8b67}.timeline-heading .intro{font-size:13px}.timeline-search{display:flex;align-items:center;gap:14px;margin-bottom:32px}.timeline-search .search{flex:1}.timeline-search>span{font-size:11px;color:#8c947f;white-space:nowrap}.timeline-list{padding:0 0 10px 7px}.timeline-day{border-left:1px solid #d4dac8;padding:0 0 30px 24px;position:relative}.timeline-date{display:flex;align-items:center;gap:14px;margin-bottom:16px;position:relative}.timeline-date h2{font-size:13px;font-weight:500;letter-spacing:1px;margin:0}.timeline-date>span:last-child{font-size:11px;color:#9ca28e}.timeline-dot{width:9px;height:9px;border:2px solid #f5f3ec;outline:1px solid #8d9e7c;background:#8d9e7c;border-radius:50%;position:absolute;left:-29px}.timeline-day-cards{display:grid;gap:12px}.timeline-card{position:relative;display:grid;gap:12px;text-align:left;width:100%;padding:20px 23px;background:#faf9f4;border:1px solid #e0e3d7;border-radius:13px;color:#34422e;box-shadow:0 3px 10px #3f4d301f;transition:background .2s}.timeline-card:hover{background:#eef1e5}.timeline-card-top{display:flex;justify-content:space-between;align-items:center}.timeline-card-top time{font-size:11px;color:#919984}.timeline-card>strong{font-family:serif;font-size:19px;font-weight:500;letter-spacing:.5px;padding-right:20px}.timeline-excerpt{font-size:12px;line-height:1.8;color:#88907c;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;padding-right:15px}.timeline-open{position:absolute;right:20px;top:62px;color:#a0a88f}#timeline-sentinel{text-align:center;padding:15px}
.settings-section{padding:22px 0;border-bottom:1px solid #e1e3d7}.settings-section:last-of-type{border:0}.settings-section h3{font-size:14px;margin:0 0 12px;color:#42583b}.settings-section p{font-size:12px;line-height:1.9;color:#7d866f;margin:10px 0}.settings-section code{display:block;white-space:normal;overflow-wrap:anywhere;font-size:11px;line-height:1.9;background:#ecefe4;padding:12px;border-radius:8px;color:#58674c;margin:14px 0}.export-options{display:flex;gap:10px}.settings-section button{min-height:42px}.settings-section .secondary{padding:10px 18px}#settings-dialog{max-height:85dvh;overflow:auto;width:min(540px,calc(100vw - 30px))}
@media(max-width:600px){.compose-hero{padding:25px 0}.compose-entry{padding:24px 21px;border-radius:17px}.compose-copy strong{font-size:25px}.compose-copy>span{font-size:11px}.compose-plus{width:56px;height:56px;margin-left:12px}.collection-actions{gap:12px}.card-section-top h2{font-size:18px}.timeline-heading{padding-top:27px}.timeline-heading h1{font-size:28px}.timeline-heading .eyebrow{font-size:9px}.timeline-day{padding-left:21px}.timeline-dot{left:-26px}.timeline-card{padding:18px}.timeline-card>strong{font-size:18px}}

.settings-kicker{font-size:14px;color:#42583b}.storage-path{overflow-wrap:anywhere;background:#ecefe4;padding:12px;border-radius:8px;font-family:monospace;font-size:11px!important}#settings-error{color:#a35f43;font-size:12px}

/* Full-page journal: the paper is the writing surface. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body.journal-open{overflow:hidden}body.journal-open>main,body.journal-open>.topbar{pointer-events:none}
#editor.journal-page{position:fixed;inset:0;z-index:50;width:100%;height:100%;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#faf8f1;display:flex;flex-direction:column;overflow:hidden;transform:translateX(100%);transition:transform .22s cubic-bezier(.22,.68,.34,1);box-shadow:-8px 0 28px #34422e12}
#editor.journal-page[hidden]{display:none}#editor.entered{transform:translateX(0)}#editor.leaving{transform:translateX(100%)}#editor.dragging{transition:none}
.journal-header{height:64px;min-height:64px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#faf8f1;border-bottom:1px solid #e6e5db;z-index:2}.journal-header h2{font-family:var(--serif);font-size:18px;font-weight:500;letter-spacing:2px;margin:0}.journal-back{width:42px;height:44px;display:grid;place-items:center;padding:8px;border:0;background:none;border-radius:50%;color:#4e6045}.journal-back svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.journal-save{font-size:13px;letter-spacing:1px;color:#fbfaf5;background:#52674a;border:0;border-radius:22px;min-height:36px;padding:8px 19px}.journal-save:disabled{opacity:.5}
#editor .editor-scroll{padding:0 28px;flex:1;overflow-y:auto;overscroll-behavior:contain;scroll-padding-bottom:40px}#card-form{width:100%;max-width:760px;margin:0 auto;padding:32px 0 42px}.journal-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:27px}.date-display{display:flex;align-items:center;gap:7px;padding:6px 0;background:none;border:0;font-size:12px;color:#829077;letter-spacing:.3px;min-height:38px}.date-display svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.3}.journal-status{display:flex;align-items:center;gap:7px}.status-display{display:flex;align-items:center;gap:7px;border:1px solid #dce2d1;background:#eef1e6;border-radius:20px;color:#75876b;padding:7px 11px;font-size:11px;white-space:nowrap;min-height:33px}.status-dot,.choice-dot{width:5px;height:5px;background:#8fa47a;border-radius:50%;flex-shrink:0}.status-display[data-status="待行动"]{background:#f3e9dd;color:#a07d57;border-color:#ebdccc}.status-display[data-status="待行动"] .status-dot{background:#b4916c}.status-display[data-status="待回看"]{background:#ecebe0;color:#969367}.status-chevron{opacity:.65}.journal-status .field-help{border:0;background:none;color:#a4af97;font-size:12px;width:22px;height:28px}
#editor .title-label{display:block;margin:0 0 25px}#editor .title-label input{padding:0 0 12px;margin:0;background:none;border:0;border-radius:0;box-shadow:none;width:100%;font-family:var(--serif);font-size:24px!important;line-height:1.65;color:#35462e;letter-spacing:.5px}#editor .title-label input::placeholder{color:#b9bdad;font-size:22px}
#editor .template-note{font-size:11px;margin:0 0 28px;color:#a1a790}#editor .template-note .field-help{border:0;color:#a4af97}#editor .event-label{padding:0;background:none;border-radius:0}#editor .event-label>small{display:none}#editor .field-caption{margin-bottom:9px;gap:9px}#editor .field-caption label{font-family:var(--serif);font-size:16px;letter-spacing:1px;font-weight:500;color:#58674c;line-height:1.8}#editor .field-caption .field-help{width:24px;height:24px;border:0;color:#a4af97;font-size:12px;background:none}#editor .field-caption .field-help:hover,#editor .field-caption .field-help[aria-expanded=true]{color:#52674a;background:#e7ecdf}
#editor textarea{display:block;box-sizing:border-box;width:100%;min-height:96px;height:96px;margin:0;padding:0 1px;border:0;border-radius:0;resize:none;overflow:hidden;outline:none;box-shadow:none;background:repeating-linear-gradient(to bottom,transparent 0,transparent 31px,#e3e3d5 31px,#e3e3d5 32px);background-attachment:local;font-family:inherit;font-size:16px;line-height:32px;color:#394632;letter-spacing:.4px;caret-color:#52674a;scroll-margin-bottom:45px}#editor textarea:focus{outline:none;border:0;box-shadow:none}#editor .event-label textarea{margin:0;min-height:96px}
#editor .reflection-columns{display:block;margin:40px 0 0}#editor .reflection-columns section{padding:0;border-radius:0;background:none;margin:0 0 42px}#editor .column-heading{border:0;display:flex;flex-direction:column;gap:9px;margin:0 0 26px;padding:0}.journal-section-index{font-family:serif;font-size:10px;letter-spacing:2px;color:#a7b09a}#editor .column-heading h3{font-family:var(--serif);font-size:22px;color:#667559;font-weight:400;letter-spacing:2px;margin:0}#editor .reflection-field{margin:0 0 29px}#editor .reflection-field:last-child{margin-bottom:0}#editor .insight-group{padding:0;margin:0 0 29px;border:0}#editor .editor-note{font-size:11px;line-height:1.9;color:#a3aa98;margin:22px 0}#editor .editor-actions{position:static;padding:16px 0 0;margin:0;background:none;box-shadow:none;border-top:1px solid #e3e3d5;display:block}#editor .editor-actions>div{gap:20px}#editor .editor-actions button{font-size:11px;padding:9px 0;color:#8c9980}
.journal-picker{width:min(360px,calc(100vw - 36px));padding:22px;border:1px solid #e3e6d8;border-radius:20px;background:#faf8f1;color:#53634a;box-shadow:0 12px 60px #273c2529;max-height:85dvh;overflow:auto}.journal-picker::backdrop{background:#26352045}.picker-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.picker-heading h2{font-family:var(--serif);font-size:19px;font-weight:500;letter-spacing:1px;margin:0}.picker-heading h2 span{font:11px sans-serif;color:#a4ad97}.picker-close{border:0;background:none;font-size:25px;color:#9ca88e;width:32px;height:32px;padding:0}.calendar-month{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;font-size:14px;letter-spacing:1px}.calendar-month button{border:0;border-radius:50%;background:#edf0e3;color:#7b8b6d;font-size:23px;width:36px;height:36px}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-weekdays{color:#a6af98;font-size:11px;text-align:center;margin-bottom:9px}.calendar-day{aspect-ratio:1;min-width:0;padding:0;border:1px solid transparent;border-radius:50%;background:none;color:#6b785f;font-size:13px;position:relative}.calendar-day.today:after{content:'';position:absolute;width:3px;height:3px;border-radius:50%;background:currentColor;bottom:4px;left:calc(50% - 1.5px)}.calendar-day[aria-pressed=true]{background:#607352;color:#faf8f1}.calendar-day:hover{border-color:#c6d0b8}.calendar-today{display:block;margin:18px auto 0;border:0;background:none;color:#889a78;font-size:12px;padding:10px 15px}.status-choice{width:100%;display:flex;align-items:center;gap:12px;text-align:left;background:none;border:1px solid transparent;padding:15px 10px;border-radius:12px;color:#6b795f;margin-top:5px}.status-choice>span:nth-child(2){flex:1;display:grid;gap:7px}.status-choice strong{font-size:13px;font-weight:500}.status-choice small{font-size:11px;color:#9aa48d;line-height:1.6}.status-choice[aria-pressed=true]{background:#eaf0df;border-color:#dce5ce}.choice-check{font-size:16px;color:#778e64}.status-choice .choice-dot{width:6px;height:6px}.status-choice[data-value="待行动"] .choice-dot{background:#b4916c}.status-choice[data-value="待回看"] .choice-dot{background:#b0ad7b}
@media(max-width:600px){#editor .editor-scroll{padding:0 23px}#card-form{padding-top:22px}.journal-header{padding:0 13px;height:58px;min-height:58px}.journal-header h2{font-size:16px}.journal-meta{margin-bottom:21px;gap:5px}.date-display{font-size:11px;letter-spacing:0}.status-display{font-size:10px;padding:6px 9px;gap:5px}.journal-status{gap:1px}.journal-meta .status-chevron{font-size:10px}#editor .title-label input{font-size:23px!important}#editor .template-note{font-size:10px;gap:4px;line-height:1.9}#editor .field-caption label{font-size:15px}#editor .reflection-columns{margin-top:35px}.journal-picker{padding:20px}}

/* Two touch-driven pages, each retaining its own vertical reading position. */
body{overflow:hidden}body>main{display:flex;flex-direction:column;height:calc(100dvh - var(--tabbar-height,91px));overflow:hidden}
#tab-viewport{display:flex;flex:1;min-height:0;width:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}
#tab-viewport::-webkit-scrollbar{display:none}
#tab-viewport>.tab-panel{flex:0 0 100%;width:100%;min-width:0;height:100%;overflow-y:auto;overflow-x:hidden;scroll-snap-align:start;scroll-snap-stop:always;overscroll-behavior-y:contain;scrollbar-width:thin;padding:0 1px 24px}
body>main>footer{flex-shrink:0;margin:0;padding:10px 0;min-height:42px}
.topbar nav{position:relative}.nav.active:after{display:none}#tab-indicator{position:absolute;bottom:-1px;left:0;height:3px;background:var(--green);pointer-events:none;will-change:transform,width}

.footer-links{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.footer-links .text-button{padding:2px 0}.site-filing{font-size:10px;line-height:1.6;letter-spacing:0;color:#949c88;text-decoration:none}.site-filing:hover{text-decoration:underline}body>main>footer{min-height:55px}
