:root{color-scheme:light;--bg:#f5f0e8;--paper:#fffdf8;--ink:#403a35;--muted:#786e60;--line:#ded3bf;--gold:#987b45;--green:#56664d;--soft:#e9eddf}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}main{max-width:760px;margin:auto;padding:32px 20px 24px}header{padding:12px 4px 24px}.eyebrow{font-size:12px;letter-spacing:.16em;color:var(--gold)}h1{font-size:36px;font-weight:550;letter-spacing:.08em;margin:8px 0}h1 span{font-size:26px;color:var(--gold);margin-left:16px}header p{color:var(--muted);margin:0}h2{font-size:20px;margin:0 0 14px;font-weight:550}p{margin:8px 0}nav{display:flex;border-bottom:1px solid var(--line);margin:0 0 22px;gap:8px}button,input,textarea,select{font:inherit}button{cursor:pointer;min-height:46px;padding:10px 18px;border:1px solid transparent;border-radius:12px;color:white;background:var(--green);font-weight:550}button:hover{filter:brightness(.96)}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #ad8b49;outline-offset:3px}.secondary{color:var(--ink);background:transparent;border-color:var(--line)}nav button{flex:1;color:var(--muted);background:transparent;border-radius:0;font-size:15px;padding:12px 4px}nav button[aria-selected=true]{color:var(--ink);border-bottom:3px solid var(--gold)}.panel{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:0 8px 32px #76674a05}.section-head{display:flex;justify-content:space-between;gap:10px}#today-tag{font-size:12px;color:var(--muted)}label,legend{display:block;margin:20px 0 7px;font-weight:550}fieldset{margin:0;padding:0;border:0}legend{padding:0}small{color:var(--muted);font-size:12px;font-weight:400}input,textarea,select{color:var(--ink);background:#fffefa;border:1px solid var(--line);border-radius:10px;padding:12px;width:100%;min-height:48px}input[type=date]{max-width:100%;min-width:0}textarea{resize:vertical}input[type=checkbox]{width:20px;min-height:20px;height:20px;accent-color:var(--green);flex-shrink:0}.choices{display:flex;gap:10px;flex-wrap:wrap}.choice{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:12px;padding:10px 14px;margin:0;cursor:pointer;background:var(--paper);overflow-wrap:anywhere}.choice:has(input:checked){border-color:var(--green);background:var(--soft)}.inline{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.new-task .inline{flex-wrap:nowrap}.inline input{flex:1;min-width:0}.inline button{flex-shrink:0}.duration{max-width:230px}.hint{color:var(--muted);font-size:13px;line-height:1.7}.actions{margin-top:24px}.actions #save-entry{flex:1}.divider{border-top:1px solid var(--line);margin:28px 0 22px}.empty{color:var(--muted);padding:24px 4px;font-size:14px}.record{border-bottom:1px solid #e9e1d5;padding:18px 0}.record:last-child{border-bottom:0}.record-head{display:flex;gap:10px;align-items:baseline;justify-content:space-between;flex-wrap:wrap}.record-name{font-weight:600;overflow-wrap:anywhere}.record-meta{font-size:12px;color:var(--muted)}.feeling{white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0}.record-actions{display:flex;gap:18px;margin-top:12px}.text-button{background:none;color:var(--green);min-height:40px;padding:4px 0;border:0;border-radius:3px;font-size:14px}.danger{color:#9b4f3d}.month-controls{display:flex;align-items:center;justify-content:space-between}.month-controls h2{margin:0}.icon{width:46px;font-size:26px;padding:0}.weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.weekdays{text-align:center;font-size:12px;color:var(--muted);padding:16px 0 10px}.calendar-grid button{background:transparent;color:var(--ink);border:1px solid #e9e1d5;border-radius:9px;min-height:82px;padding:6px 2px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px;font-weight:400;min-width:0}.calendar-grid button.is-today{border-color:var(--gold)}.calendar-grid button.selected{background:var(--soft);border:2px solid var(--green)}.calendar-grid .day-num{font-size:14px}.calendar-grid .day-summary{font-size:10px;line-height:1.4;width:100%;white-space:pre-line;overflow-wrap:anywhere;color:var(--green)}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0}.stat{border:1px solid var(--line);border-radius:12px;padding:12px 8px;background:#f7f3ea;overflow-wrap:anywhere;text-align:center}.stat strong{display:block;font-size:28px;color:var(--green)}.stat span{font-size:13px}.storage{padding:30px 4px 0}.storage h2{font-size:17px}.storage p{font-size:13px;color:var(--muted)}.storage .inline{margin:18px 0 12px}.storage button{font-size:13px;flex:1}footer{text-align:center;font-size:12px;line-height:2;color:var(--muted);padding:32px 0 12px}#notice{position:sticky;top:8px;z-index:5;background:#e6eddd;border:1px solid #95a584;border-radius:12px;padding:12px 16px;margin-bottom:16px;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}#notice.error{background:#fff0e8;border-color:#c88266;color:#7e3c26}[hidden]{display:none!important}@media(max-width:420px){main{padding:22px 12px}.panel{padding:20px 14px}h1{font-size:31px}.calendar-grid{gap:3px}.calendar-grid button{min-height:80px}.choice{padding:9px 10px}.new-task button{padding:10px 12px}.stats{gap:6px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
h3{font-size:18px;margin:0 0 8px;font-weight:550}.prominent{border:1px solid #cdbb97;background:#f8f3e7;border-radius:14px;padding:16px;margin:20px 0}.prominent label{margin-top:12px}.suggestions{display:flex;gap:7px;flex-wrap:wrap}.suggestions button{font-size:13px;min-height:40px;padding:6px 12px;background:#fffdf8}.project-management{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:18px 0;padding:13px 0}.project-management summary{cursor:pointer;color:var(--green);font-size:14px;min-height:30px}.manage-row{display:flex;gap:7px;align-items:center;margin:12px 0}.manage-row input{min-width:0;flex:1;font-size:14px}.manage-row button{padding:8px;font-size:12px;flex-shrink:0}.record-actions{flex-wrap:wrap}@media(max-width:420px){.prominent .inline{flex-wrap:wrap}.prominent .inline input{flex-basis:100%}.prominent .inline button{width:100%}.manage-row{gap:5px}}

.date-time-row{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:12px}.date-time-row>div{min-width:0}.date-time-row input{min-width:0;max-width:100%}.date-time-row .text-button{font-size:12px;min-height:32px}input[type=time]{width:100%}

.history-filters{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.history-filters>div{flex:1;min-width:180px}.history-filters button{font-size:13px}.history-counts{margin:22px 0;padding:14px;background:#eef0e6;border-radius:10px;font-size:14px}.date-links{display:flex;gap:8px;flex-wrap:wrap}.date-links button{font-size:13px;min-height:44px;padding:8px 12px}.stats button.stat{color:var(--ink);cursor:pointer;min-height:110px;font-weight:400}.stats button.stat:hover{border-color:var(--green)}#app-version{font-size:12px}input[type=month]{min-width:0;max-width:100%}

.choice .selection-state{display:none;font-size:12px;font-weight:600;color:var(--green)}.choice input:checked~.selection-state{display:inline}

#auth-gate{margin-top:20px}#auth-submit{width:100%;margin-top:22px}.consent{display:flex;gap:10px;align-items:flex-start;font-size:14px;font-weight:400}#migration-wrap{background:#fff2df;border-radius:10px;padding:14px;margin-top:18px;font-size:14px}dialog{max-width:min(92vw,460px);border:1px solid var(--line);border-radius:18px;padding:24px;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#403a3566}dialog .inline{margin-top:20px}#lock-button{margin-bottom:16px}#app-content[aria-busy=true]{opacity:.7}

.password-field{position:relative}.password-field input{padding-right:62px}.password-toggle{position:absolute;right:3px;top:50%;transform:translateY(-50%);width:48px;min-height:44px;padding:10px;background:transparent;color:var(--green);border-radius:8px;display:flex;align-items:center;justify-content:center}.password-toggle svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.password-toggle .eye-closed{display:none}.password-toggle[aria-pressed=true] .eye-open{display:none}.password-toggle[aria-pressed=true] .eye-closed{display:block}.filing-link{color:inherit;text-decoration:underline;text-underline-offset:3px}.filing-link:focus-visible{outline:3px solid #ad8b49;outline-offset:3px}
