:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Malgun Gothic,sans-serif;color:#293b33;background:#f7f8f2;font-size:18px;line-height:1.6;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,.button,.file-button,summary{cursor:pointer}button,.button,.file-button{min-height:48px;border:1px solid #b7c8bc;border-radius:12px;background:#fff;color:#304e3e;padding:10px 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}button:hover,.button:hover,.file-button:hover{background:#eaf0e7}button:disabled,.disabled{opacity:.55;cursor:default}button:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #366b52;outline-offset:3px}.primary{background:#36694f;color:#fff;border-color:#36694f}.primary:hover{background:#29533d}.selected,button[aria-pressed=true]{background:#e0eddf;border:2px solid #477452;font-weight:700}.danger{color:#9c3030;border-color:#e3bcbc}.hint{font-size:.9rem;color:#576a60}.error{color:#9c3030}.notice{border:1px solid #d9c79a;border-radius:12px;padding:14px;background:#fff8e9}.app-header{max-width:1000px;margin:auto;padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;gap:12px;align-items:center;font-size:1.3rem}.brand>span,.brand-mark{color:#477452;font-size:2.3rem}.user-name{color:#576a60;font-size:.9rem}.main-nav{display:flex;gap:8px;padding:0 20px 20px;max-width:790px;margin:auto}.main-nav button{flex:1}.workspace{max-width:790px;margin:auto;padding:0 20px 20px}h1{font-size:1.5rem;line-height:1.5;margin:6px 0 20px}h2{font-size:1.15rem;margin:0 0 10px}p{margin:10px 0 16px}.card,.date-card{background:#fff;border:1px solid #dce4d7;border-radius:20px;padding:28px;margin-bottom:20px}.date-card{background:#edf2e7}.eyebrow{color:#4e6657;font-size:.85rem}.date-nav{display:grid;grid-template-columns:1fr .8fr 1fr;gap:8px}.date-links{display:flex;gap:12px;margin-top:12px}.date-links button{flex:1;background:transparent}.section-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.save-state{color:#38674e;font-size:.9rem;min-height:1.6em}label{display:block;margin:12px 0}input:not([type=checkbox]):not([type=range]),textarea{display:block;width:100%;padding:12px 14px;border:1px solid #b3c3b8;border-radius:12px;background:#fff;color:#293b33;margin-top:6px;min-width:0}textarea{min-height:220px;resize:vertical;line-height:1.7;font-size:1rem}textarea::placeholder{color:#63776b}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:16px 0}.file-button{position:relative;margin:0}.file-button input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.feelings{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.feelings button{flex-direction:column;padding:12px 4px;min-width:0}.feelings button span{font-size:1.8rem;line-height:1.4}.health-toggle{width:100%;justify-content:space-between;border:0;padding:0;text-align:left;font-weight:700;background:transparent}.health-toggle span{font-weight:400;font-size:.9rem}.health{margin-top:20px}.pain{display:flex;align-items:center;gap:12px;margin:12px 0}.pain button{min-width:48px}.pain input{min-width:0;width:100%;accent-color:#36694f}fieldset{border:0;margin:22px 0 0;padding:0}legend{margin-bottom:10px;font-weight:600}.three-level{display:flex;gap:10px}.three-level button{flex:1;min-width:0;padding:8px}.attachments{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px}.attachment{border:1px solid #dce4d7;border-radius:12px;padding:12px;min-width:0}.attachment img{width:100%;height:180px;object-fit:cover;border-radius:8px}.attachment audio{width:100%}.attachment button{width:100%;margin-top:8px}.more summary{min-height:48px}.more button{margin-top:12px}.record-list{display:grid;gap:12px}.record-list button{text-align:left;display:block;width:100%;overflow-wrap:anywhere}.record-list span{display:block;font-size:.9rem;color:#576a60;margin-top:4px}.trash-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;border-bottom:1px solid #dce4d7;padding:16px 0}.settings-actions{display:grid;gap:12px;margin-bottom:32px}.login{max-width:470px;margin:5vh auto;padding:24px}.login>h1{font-size:2rem;margin-bottom:8px}.login form{margin-top:28px;background:#fff;border:1px solid #dce4d7;border-radius:20px;padding:24px}.login .primary{width:100%}.check{display:flex;align-items:center;gap:12px;min-height:48px}.check input{width:22px;height:22px;accent-color:#36694f}.login summary{min-height:48px;margin-top:16px;font-size:.9rem}footer{text-align:center;color:#576a60;font-size:.85rem;padding:12px 20px 30px}.recording{background:#993c39;color:#fff}.calendar-dialog{width:min(440px,100%);max-width:100%;border:1px solid #b7c8bc;border-radius:20px;padding:22px;color:#293b33}.calendar-dialog::backdrop{background:#20362ab0}.calendar-dialog>.primary{width:100%}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:0;text-align:center;margin-top:16px}.calendar-grid>span{padding:6px 0;font-size:.85rem}.calendar-grid button{min-width:44px;min-height:52px;padding:2px;border-radius:8px;position:relative;border-color:transparent}.calendar-grid .selected{border:2px solid #477452}.calendar-grid .today{color:#294f3b;text-decoration:underline;font-weight:700}.calendar-grid small{position:absolute;bottom:0;font-size:14px;line-height:1}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@media(max-width:480px){.app-header{padding:16px}.main-nav{padding:0 12px 16px}.workspace{padding:0 12px 12px}.card,.date-card{padding:20px 16px;border-radius:16px}.date-nav{gap:6px}.date-nav button{padding:8px 4px;font-size:.9rem}.feelings{gap:8px}.feelings button{font-size:.85rem}.section-top h1{font-size:1.3rem}.toolbar>button,.toolbar>.file-button{flex:1 1 125px;white-space:nowrap}.attachments{grid-template-columns:1fr}.calendar-dialog{padding:18px 5px}.calendar-dialog>h2,.calendar-dialog>label,.calendar-dialog>p{padding:0 10px}h1{font-size:1.35rem}.login{padding:16px}.login form{padding:20px 16px}.trash-row .toolbar{width:100%}.user-name{max-width:45%;overflow-wrap:anywhere}}@media(prefers-reduced-motion:no-preference){button{transition:background .12s}}
