:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans JP,sans-serif;color:#29443a;background:#f5f6f0;font-synthesis:none;font-weight:400}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;touch-action:manipulation}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #b88943;outline-offset:3px}main{max-width:620px;margin:auto;padding:calc(16px + env(safe-area-inset-top)) 20px calc(24px + env(safe-area-inset-bottom))}header{display:flex;justify-content:space-between;align-items:center;height:52px}.brand{display:flex;gap:10px;align-items:center;color:#29443a;text-decoration:none;font-size:25px}.brand span{font-size:16px;font-weight:700;letter-spacing:.08em}.text-button{border:0;background:transparent;color:#657b70;padding:12px;min-height:44px}.hero{text-align:center;padding:34px 0 32px}.eyebrow{font-size:12px;letter-spacing:.12em;color:#7e8d81;margin:0 0 35px}.hero-label{font-size:14px;margin:0 0 10px}h1{font-size:clamp(25px,7.5vw,42px);font-weight:600;letter-spacing:-.04em;margin:0 0 14px;min-height:52px;font-variant-numeric:tabular-nums}h1 span{font-size:21px;margin-left:5px}.muted,small{color:#6d7b70;font-size:12px}.card{background:#fff;border:1px solid #e3e8de;border-radius:22px;padding:24px;margin-bottom:18px;box-shadow:0 3px 15px #304e3811}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:18px}h2{font-size:16px;margin:0;letter-spacing:.02em}h3{font-size:13px;margin:26px 0 8px}.tag{font-size:11px;background:#eef3e9;color:#55724f;padding:6px 9px;border-radius:20px;white-space:nowrap}.segmented{display:flex;background:#f1f3ed;padding:4px;border-radius:12px;margin-bottom:22px}.segmented button{flex:1;min-height:44px;border:0;border-radius:9px;color:#64725f;background:transparent;font-size:13px}.segmented .active{background:#fff;color:#29443a;box-shadow:0 2px 5px #243b3012;font-weight:600}label{display:block;font-size:13px;margin-top:14px}input,textarea{display:block;border:1px solid #dce3d7;background:#fcfdfa;border-radius:10px;padding:12px;width:100%;margin:8px 0 0;color:#29443a;min-width:0}textarea{resize:vertical;line-height:1.7}textarea::-moz-placeholder{color:#7c8978}textarea::placeholder{color:#7c8978}.primary{width:100%;border:0;border-radius:12px;padding:16px 10px;min-height:52px;background:#426b50;color:#fff;font-weight:600;margin-top:18px}.primary:hover{background:#34563f}.notice{font-size:12px;color:#426b50;margin:0 0 14px;min-height:16px;text-align:center}.hint{font-size:11px;color:#6c7a68;line-height:1.9;margin:8px 0 14px}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.day{text-align:center;border-radius:10px;padding:8px 0;background:#f7f8f3;font-variant-numeric:tabular-nums}.day span{font-size:9px;color:#6d7a66;display:block}.day b{font-size:13px;display:block;margin:5px 0}.dots{font-size:9px;height:13px;color:#65845a;letter-spacing:1px}.today{box-shadow:inset 0 0 0 1px #7b976c;background:#edf3e6}.interval{display:grid;grid-template-columns:42px 1fr 100px;gap:10px;align-items:center;margin:14px 0;font-size:11px;font-variant-numeric:tabular-nums}.interval b{text-align:right;font-weight:500}.track{height:9px;background:#f0f3e9;border-radius:10px;overflow:hidden}.track div{height:100%;background:#a1b58a;border-radius:10px}.empty{font-size:12px;color:#71806a;text-align:center;padding:22px 0}.history{list-style:none;padding:0;margin:0;max-height:560px;overflow:auto}.history li{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;border-top:1px solid #eef0e9;padding:15px 0}.history li>div:first-child{min-width:0}.entry-date{font-size:13px;font-weight:600;margin:5px 0}.memo{font-size:12px;color:#64715f;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;margin:6px 0}.history .text-button{font-size:11px;padding:8px;flex-shrink:0}.delete-confirm{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:150px;font-size:11px}.delete-confirm span{width:100%;text-align:right}.delete-confirm button{min-height:44px;border:1px solid #dedfd4;border-radius:8px;background:#f9faf6;color:#78564c}.error{font-size:12px;line-height:1.8;color:#a04537;background:#fff2ec;padding:12px;border-radius:8px}fieldset{padding:0;border:0;margin:18px 0}legend{font-size:13px;margin-bottom:10px}.periods{display:flex;gap:6px}.periods button{flex:1;min-height:44px;border:1px solid #dfe4d9;border-radius:9px;background:#fff;color:#64715e;font-size:12px}.periods .selected{background:#eaf1e3;border-color:#7b976c;color:#34563f}footer{text-align:center;color:#718169;font-size:11px;line-height:2.2;padding:18px 0}footer small{font-size:10px}@media (max-width:380px){main{padding-left:12px;padding-right:12px}.card{padding:18px}.tag{font-size:10px}.interval{grid-template-columns:36px 1fr 90px}}.back-link{text-decoration:none;display:inline-flex;align-items:center}.settings-title{font-size:18px;letter-spacing:.04em;margin:0;min-height:0}.header-spacer{width:65px}.settings-content{margin-top:28px}.weekday{text-align:center;font-size:11px;color:#6d7a66;padding:4px 0}.settings-content .card{margin-top:0}
