:root{font-family:Hiragino Sans,Yu Gothic UI,Meiryo,system-ui,sans-serif;color:#24352f;background:#f7f4ee;--green:#355f52;--paper:#fff;--line:#ded8ce;--muted:#6e7b76;--accent:#d97745}*{box-sizing:border-box}body{margin:0;font-size:17px}button,input,textarea{font:inherit}.app{max-width:560px;min-height:100dvh;margin:auto;background:#f7f4ee}.app>nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:min(560px,100%);display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);z-index:20}.app>nav button{border:0;background:#fff;padding:9px;color:var(--muted);font-size:23px}.app>nav span{display:block;font-size:12px}.app>nav .active{color:var(--green);background:#edf3f0}main{min-height:100dvh;padding:18px 15px calc(100px + env(safe-area-inset-bottom))}header p{margin:0;color:var(--muted);font-size:14px}h1{margin:2px 0 14px;font-size:28px}h2{font-size:18px;margin:20px 0 10px}.daynav{display:grid;grid-template-columns:1fr auto 1fr;gap:8px}.daynav button,.filters button,.choices button,.status button{border:1px solid var(--line);background:#fff;border-radius:11px;padding:9px;color:#24352f}.today-btn{color:var(--green)!important;font-weight:700}.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.summary div{background:#fff;border:1px solid var(--line);border-radius:13px;padding:11px;text-align:center}.summary b,.summary span{display:block}.summary span{font-size:12px;color:var(--muted)}.quick{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.quick button{min-height:80px;border:1px solid var(--line);border-radius:15px;background:#fff;color:#24352f;font-weight:700}.quick i{display:block;font-style:normal;font-size:28px}.entry{display:flex;gap:10px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;margin:9px 0}.entry.private{background:#fff8fc;border-color:#d9bfd0}.time{width:44px;font-size:13px;color:var(--muted)}.entry-main{flex:1;min-width:0}.entry-main p{margin:6px 0 0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-wrap}.entry-main p.open{display:block}.tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:5px}.tags span{font-size:13px;background:#f3efe8;border-radius:999px;padding:3px 8px}.more{border:0;background:none;color:var(--accent);padding:5px 0}.empty{background:#fff;border:1px dashed var(--line);border-radius:13px;padding:18px;text-align:center;color:var(--muted)}.journal{border:1px solid #d9bfd0;background:#fff8fc;border-radius:16px;padding:0 11px 8px;margin-top:18px}.section-head{display:flex;align-items:center;justify-content:space-between}.section-head button{border:0;background:var(--green);color:#fff;border-radius:10px;padding:8px 12px}.fab{position:fixed;bottom:calc(75px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);width:min(520px,calc(100% - 30px));border:0;border-radius:999px;background:var(--green);color:#fff;padding:16px;font-size:19px;font-weight:700;box-shadow:0 4px 16px #355f5255}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0007;z-index:40;display:flex;align-items:flex-end;justify-content:center}.sheet{width:min(560px,100%);max-height:92dvh;overflow:auto;background:#f7f4ee;border-radius:20px 20px 0 0;padding:10px 16px calc(20px + env(safe-area-inset-bottom))}.grab{width:42px;height:5px;border-radius:99px;background:#bbb;margin:auto}.sheet-title{display:flex;justify-content:space-between;align-items:center}.sheet-title button{border:0;background:none;font-size:22px}.sheet label{display:block;font-weight:700;margin:13px 0}.sheet input,.sheet textarea,.date-pick{display:block;width:100%;margin-top:6px;border:1px solid var(--line);border-radius:11px;padding:11px;background:#fff}.sheet textarea{min-height:100px}.choices,.status,.filters{display:flex;gap:7px;flex-wrap:wrap}.selected{background:var(--green)!important;color:#fff!important;border-color:var(--green)!important}.save{width:100%;border:0;border-radius:13px;background:var(--green);color:#fff;padding:15px;font-weight:700;margin-top:15px}.date-pick,.filters{margin:12px 0}.settings{display:grid;gap:10px}.settings button{text-align:left;border:1px solid var(--line);background:#fff;border-radius:14px;padding:15px;color:#24352f}.settings b,.settings span{display:block}.settings span{font-size:13px;color:var(--muted);margin-top:3px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}.field-grid select{display:block;width:100%;margin-top:6px;border:1px solid var(--line);border-radius:11px;padding:11px;background:#fff}.range-value{margin-left:10px;color:var(--green)}.detail{font-size:14px;margin-top:3px}.media-strip{display:flex;gap:7px;overflow-x:auto;margin-top:8px}.thumb{width:76px;height:76px;object-fit:cover;border-radius:10px;border:1px solid var(--line)}.viewer{position:fixed;top:0;right:0;bottom:0;left:0;background:#000e;z-index:100;display:flex;align-items:center;justify-content:center}.viewer>div{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:55px}.viewer-asset{max-width:100%;max-height:100%;object-fit:contain}.viewer button{position:fixed;border:0;border-radius:99px;background:#fff3;color:#fff;width:46px;height:46px;font-size:28px}.viewer-close{right:12px;top:12px}.viewer-prev{left:8px}.viewer-next{right:8px}.viewer span{position:fixed;bottom:20px;color:#fff}.account-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;margin-bottom:14px}.account-card h2{margin-top:0}.account-card input{width:100%;border:1px solid var(--line);border-radius:11px;padding:11px;margin:5px 0 9px}.account-card button{border:0;border-radius:11px;background:var(--green);color:#fff;padding:11px 14px;font-weight:700}.account-card button:disabled{opacity:.45}.integrated-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px}.integrated-cards>button{min-height:86px;display:grid;grid-template-columns:42px 1fr 24px;align-items:center;gap:8px;text-align:left;border:1px solid var(--line);border-radius:15px;background:#fff;color:#24352f;padding:12px}.integrated-cards i{font-size:29px;font-style:normal;text-align:center}.integrated-cards b,.integrated-cards small{display:block}.integrated-cards b{font-size:17px}.integrated-cards small{margin-top:3px;color:var(--muted);font-size:12px;line-height:1.35}.integrated-cards em{color:var(--green);font-size:25px;font-style:normal;text-align:right}.other-record{width:100%;margin-top:10px;border:1px solid var(--green);border-radius:13px;background:#fff;color:var(--green);padding:12px;font-weight:700}.small-sheet{max-height:75dvh}.sheet-list{display:grid;gap:8px}.sheet-list button{border:1px solid var(--line);border-radius:12px;background:#fff;color:#24352f;padding:13px;text-align:left;font-weight:700}.calendar{margin-bottom:14px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px;touch-action:pan-y}.cal-head{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;margin-bottom:9px}.cal-head b{text-align:center;font-size:18px}.cal-head button{border:0;border-radius:10px;background:#edf3f0;color:var(--green);height:38px;font-size:24px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.cal-grid .dow{text-align:center;color:var(--muted);font-size:12px;padding:4px 0}.cal-grid>button{min-height:51px;position:relative;border:1px solid transparent;border-radius:9px;background:#fff;color:#24352f;padding:4px 1px}.cal-grid>button.selected-day{border:2px solid var(--green);background:#edf3f0}.cal-grid>button.today-day:not(.selected-day){background:#f2f5f3}.cal-grid>button>span{display:block;font-size:15px}.cal-grid>button>small{display:block;color:var(--green);font-size:8px;line-height:1}.cal-grid>button>i{height:8px;display:flex;justify-content:center;gap:2px;margin-top:2px}.cal-grid em,.cal-legend i{width:6px;height:6px;border-radius:50%;display:inline-block}.actual{background:#4d8a62}.planned{background:#df8b42}.private-dot{background:#956184}.cal-legend{display:flex;justify-content:flex-end;gap:10px;margin-top:8px;color:var(--muted);font-size:11px}.cal-legend i{margin-right:3px}.choice-dialog{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:flex;align-items:center;justify-content:center;padding:20px;background:#0008}.choice-dialog>div{width:min(430px,100%);border-radius:17px;background:#fff;padding:18px}.choice-dialog h2{margin-top:0}.choice-dialog button{display:block;width:100%;margin-top:8px;border:0;border-radius:11px;padding:12px;background:var(--green);color:#fff;font-weight:700}.choice-dialog button.danger{background:#a84945}.choice-dialog button.plain{background:#eee;color:#24352f}@media(max-width:370px){.integrated-cards{grid-template-columns:1fr}}.roadmap-link{margin-bottom:18px}.roadmap-link button{position:relative;padding-right:72px;border-color:#a9c4bb;background:#edf3f0}.roadmap-link em{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--green);font-style:normal;font-weight:700}.roadmap-page header small{color:var(--muted)}.roadmap-back{border:0;background:none;color:var(--green);padding:4px 0 10px;font-weight:700}.roadmap-current{border:2px solid var(--green);border-radius:16px;background:#edf3f0;padding:14px;margin-top:18px}.roadmap-current span{display:inline-block;border-radius:999px;background:var(--green);color:#fff;padding:3px 9px;font-size:12px;font-weight:700}.roadmap-current b{display:block;margin-top:9px;font-size:19px}.roadmap-current p{margin:5px 0 0;color:var(--muted);font-size:14px}.roadmap-promises{margin:0;padding:0;list-style:none;display:grid;gap:8px}.roadmap-promises li{position:relative;border:1px solid var(--line);border-radius:12px;background:#fff;padding:11px 11px 11px 36px;font-size:14px;line-height:1.5}.roadmap-promises li:before{content:"✓";position:absolute;left:12px;color:var(--green);font-weight:700}.roadmap-list{display:grid;gap:9px}.roadmap-item{display:grid;grid-template-columns:38px 1fr;gap:10px;border:1px solid var(--line);border-radius:14px;background:#fff;padding:12px}.roadmap-item.current{border:2px solid var(--green);background:#f4f8f6}.roadmap-item.done{background:#f3f3f1}.roadmap-number{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#eee9e0;color:#53605c;font-weight:700}.roadmap-item.current .roadmap-number{background:var(--green);color:#fff}.roadmap-item>div:last-child>b{display:block;margin-top:4px}.roadmap-item p{margin:5px 0 0;color:var(--muted);font-size:13px;line-height:1.5}.roadmap-status{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:11px;font-weight:700}.roadmap-status i{display:inline-flex;width:17px;height:17px;align-items:center;justify-content:center;border-radius:50%;background:#eee;font-style:normal}.roadmap-item.current .roadmap-status{color:var(--green)}.roadmap-item.current .roadmap-status i{background:var(--green);color:#fff}.roadmap-item.done .roadmap-status i{background:#6f817a;color:#fff}.profile-intro{border:1px solid #a9c4bb;border-radius:15px;background:#edf3f0;padding:14px}.profile-intro b{color:var(--green)}.profile-intro p{margin:5px 0;color:var(--muted);font-size:14px;line-height:1.5}.profile-intro small{display:block;margin-top:8px;color:var(--green);font-weight:700}.profile-list{display:grid;gap:9px}.profile-item{display:grid;grid-template-columns:46px 1fr;gap:10px;align-items:center;border:1px solid var(--line);border-radius:14px;background:#fff;padding:12px}.profile-item>i{display:flex;width:44px;height:44px;align-items:center;justify-content:center;border-radius:50%;background:#edf3f0;font-size:25px;font-style:normal}.profile-item b,.profile-item span{display:block}.profile-item span{margin-top:3px;color:var(--muted);font-size:12px}.profile-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:7px}.profile-actions button,.profile-restore{border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--green);padding:9px;font-size:13px;font-weight:700}.profile-actions button:disabled{opacity:.35}.profile-list.archived .profile-item{background:#f1f0ed}.profile-restore{grid-column:1/-1;width:100%}.profile-form{border:1px solid var(--line);border-radius:15px;background:#fff;padding:14px;margin-top:16px}.profile-form h2{margin-top:0}.profile-form label{display:block;margin:11px 0;font-weight:700}.profile-form input,.profile-form select{display:block;width:100%;margin-top:5px;border:1px solid var(--line);border-radius:11px;background:#fff;padding:11px}.profile-form>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.profile-form button{border:0;border-radius:11px;padding:11px;font-weight:700}.profile-form button.primary{background:var(--green);color:#fff}.profile-form button.plain{background:#eee;color:#24352f}.family-record-entry{display:grid;grid-template-columns:1fr auto;gap:9px 12px;align-items:center;border:1px solid #a9c4bb;border-radius:16px;background:#edf3f0;padding:14px}.family-record-entry b,.family-record-entry span{display:block}.family-record-entry b{font-size:18px}.family-record-entry span{margin-top:4px;color:var(--muted);font-size:13px;line-height:1.45}.family-record-entry button{border:0;border-radius:11px;background:var(--green);color:#fff;padding:11px 13px;font-weight:700;white-space:nowrap}.family-record-entry small{grid-column:1/-1;color:var(--green);font-weight:700}.family-record-intro{margin:0 0 13px;color:var(--muted);line-height:1.5}.family-record-form select{width:100%}.family-record-form fieldset{margin:14px 0;border:0;padding:0}.family-record-form legend{margin-bottom:7px;font-weight:700}.family-record-kinds{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.family-record-kinds button{min-height:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:1px solid var(--line);border-radius:12px;background:#fff;color:#24352f}.family-record-kinds button.selected{border:2px solid var(--green);background:#edf3f0;color:var(--green);font-weight:700}.family-record-kinds i{font-size:24px;font-style:normal}.family-record-warning{border-radius:10px;background:#fff2df;color:#765526;padding:10px;font-size:13px}.family-record-files{display:block;overflow-wrap:anywhere;color:var(--muted)}.owner-only-notice{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:14px 0 10px;border:1px solid #b6a7c8;border-radius:12px;background:#f5f0f8;padding:10px}.owner-only-notice b{color:#654c82;white-space:nowrap}.owner-only-notice span{color:var(--muted);font-size:12px;text-align:right}.family-record-form .save:disabled{opacity:.45}.entry-subject{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-bottom:5px;color:var(--muted);font-size:12px}.entry-subject span{font-weight:700}.entry-subject em{border-radius:999px;background:#f5f0f8;color:#654c82;padding:3px 7px;font-style:normal;white-space:nowrap}@media(max-width:370px){.family-record-entry{grid-template-columns:1fr}.family-record-entry small{grid-column:1}.family-record-entry button{width:100%}.owner-only-notice{align-items:flex-start;flex-direction:column}.owner-only-notice span{text-align:left}}.viewer .viewer-stage{width:100vw;height:100dvh;display:flex;align-items:center;justify-content:center;overflow:auto;padding:52px 0 calc(58px + env(safe-area-inset-bottom));touch-action:pan-x pan-y pinch-zoom;overscroll-behavior:contain}.viewer .viewer-asset{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain}.viewer .viewer-asset.zoomed{width:200%;height:200%;flex:0 0 200%}.viewer .viewer-stage.zoomed{align-items:flex-start;justify-content:flex-start}.viewer button{z-index:2;background:#0008}.viewer-close{top:calc(12px + env(safe-area-inset-top))}.viewer span{bottom:calc(18px + env(safe-area-inset-bottom))}.viewer-hint{position:fixed;left:50%;bottom:calc(42px + env(safe-area-inset-bottom));transform:translate(-50%);border-radius:999px;background:#0009;color:#fff;padding:6px 10px;white-space:nowrap;font-size:12px}.entry-title{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.entry-title>b{min-width:0;overflow-wrap:anywhere}.entry-title>button{flex:0 0 auto;border:1px solid #a9c4bb;border-radius:9px;background:#edf3f0;color:var(--green);padding:6px 8px;font-size:12px;font-weight:700}.edit-entry-kind{border-radius:11px;background:#edf3f0;padding:10px;font-weight:700}.edit-entry-kind span{color:var(--muted);font-size:13px}.edit-entry-form select{display:block;width:100%;margin-top:6px;border:1px solid var(--line);border-radius:11px;background:#fff;padding:11px}.edit-entry-safety{color:var(--muted);font-size:13px}.edit-entry-form .save:disabled{opacity:.45}@media(max-width:390px){.entry{gap:7px;padding:10px}.time{width:38px}.entry-title{flex-direction:column}.entry-title>button{align-self:flex-end;min-height:36px}}
