*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}:root{--main:#2e7d6b;--main-d:#216050;--soft:#eaf5f1;--line:#e2e2e2}html,body{color:#333;background:#f4f6f5;height:100%;font-family:Hiragino Sans,Yu Gothic,sans-serif}#app{background:#fff;flex-direction:column;max-width:700px;min-height:100vh;margin:0 auto;display:flex}header{background:var(--main);color:#fff;z-index:10;padding:11px 16px;position:sticky;top:0}header h1{align-items:center;gap:4px;font-size:19px;display:flex}.toolbar{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex}.toolbar input[type=search]{border:1px solid #ccc;border-radius:20px;flex:1;min-width:140px;padding:9px 12px;font-family:inherit;font-size:14px}.btn{cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #ccc;border-radius:20px;padding:8px 12px;font-family:inherit;font-size:13px}.btn.main{background:var(--main);color:#fff;border-color:var(--main)}.tagchip{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:20px;align-items:center;gap:4px;padding:3px 10px;font-size:12px;display:inline-flex}.tagfilterbar{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:6px;padding:0 12px 10px;display:flex}.cal-head{justify-content:center;align-items:center;gap:18px;padding:12px;display:flex}.cal-head button{cursor:pointer;color:var(--main);background:0 0;border:none;padding:4px 10px;font-size:20px}.cal-head .ym{text-align:center;min-width:130px;font-size:17px;font-weight:600}.weekrow{text-align:center;color:#999;grid-template-columns:repeat(7,1fr);padding:0 6px;font-size:11px;display:grid}.weekrow .sun{color:#d9534f}.weekrow .sat{color:#3a7bd9}.grid{grid-template-columns:repeat(7,1fr);gap:5px;padding:8px;display:grid}.cell{aspect-ratio:1/1.25;cursor:pointer;background:#fff;border:1px solid #e6e6e6;border-radius:8px;flex-direction:column;padding:4px;display:flex;position:relative;overflow:hidden}.cell.empty{cursor:default;background:0 0;border:none}.cell:not(.empty):hover{background:var(--soft)}.cell .dnum{color:#444;align-items:center;gap:2px;font-size:13px;font-weight:600;display:flex}.cell .dnum .pmark{font-size:9px}.cell.today{border-color:var(--main);border-width:2px}.cell.today .dnum{color:var(--main);font-weight:700}.cell .etitle{color:#2f2f2f;flex:1;margin-top:3px;font-size:11px;line-height:1.3;overflow:hidden}.cell .dots{gap:2px;display:flex;position:absolute;top:5px;right:5px}.cell .dot{border-radius:50%;width:7px;height:7px}.cell.hasentry{background:#eff8f4;border-color:#cfe8de}#listView{padding:8px 12px;display:none}.list-item{border:1px solid var(--line);cursor:pointer;border-radius:12px;margin-bottom:10px;padding:12px}.list-item:hover{background:var(--soft)}.list-item .li-date{color:#888;font-size:12px}.list-item .li-title{margin:2px 0 4px;font-size:15px;font-weight:600}.list-item .li-body{color:#555;max-height:40px;font-size:13px;overflow:hidden}.list-item .li-tags{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.empty-msg{text-align:center;color:#999;padding:40px 12px;font-size:14px}#loading{text-align:center;color:#888;padding:40px 12px;font-size:14px}.overlay{z-index:50;background:#0006;justify-content:center;align-items:flex-end;display:none;position:fixed;inset:0}.overlay.show{display:flex}.sheet{background:#fff;border-radius:16px 16px 0 0;width:100%;max-width:700px;max-height:92vh;padding:18px 16px 28px;overflow-y:auto}@media (min-width:700px){.overlay{align-items:center}.sheet{border-radius:16px}}.sheet h2{margin-bottom:2px;font-size:17px}.sheet .date-label{color:#888;margin-bottom:12px;font-size:13px}.sheet label{color:#666;margin:12px 0 4px;font-size:12px;font-weight:600;display:block}.sheet input[type=text],.sheet textarea{border:1px solid #ccc;border-radius:8px;width:100%;padding:9px 11px;font-family:inherit;font-size:15px}.sheet textarea{resize:vertical;min-height:130px;line-height:1.6}.tagpick{flex-wrap:wrap;gap:6px;display:flex}.photos{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.photo-add{color:#999;cursor:pointer;background:#fafafa;border:1px dashed #aaa;border-radius:8px;justify-content:center;align-items:center;width:72px;height:72px;font-size:22px;display:flex}.row-btn{gap:8px;margin-top:16px;display:flex}.row-btn .btn{text-align:center;flex:1;padding:11px;font-size:15px}.row-btn .btn:disabled{opacity:.6}.del-link{text-align:center;color:#c0392b;cursor:pointer;background:0 0;border:none;width:100%;margin-top:12px;font-size:12px;text-decoration:underline;display:block}.view-body{white-space:pre-wrap;margin-top:6px;font-size:15px;line-height:1.8}.view-tags{flex-wrap:wrap;gap:6px;margin:8px 0;display:flex}.pthumb{object-fit:cover;cursor:pointer;background:#eee;border-radius:8px;width:84px;height:84px;display:block}.photo-wrap{display:inline-block;position:relative}.photo-wrap .rm{color:#fff;cursor:pointer;z-index:2;background:#c0392b;border:none;border-radius:50%;width:20px;height:20px;font-size:11px;position:absolute;top:-6px;right:-6px}.cnt{text-align:right;color:#999;margin-top:2px;font-size:11px}.lightbox{z-index:100;background:#000000eb;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:16px;display:none;position:fixed;inset:0}.lightbox.show{display:flex}.lightbox img{border-radius:8px;max-width:94vw;max-height:70vh}.lb-actions{gap:10px;display:flex}.lb-actions .btn{background:#fff}.lb-hint{color:#bbb;text-align:center;font-size:11px}.tagedit-row{border-bottom:1px solid #f0f0f0;align-items:center;gap:8px;padding:8px 0;display:flex}.tagedit-row .swatch{border-radius:50%;flex-shrink:0;width:18px;height:18px}.tagedit-row .name{flex:1;font-size:14px}.tagedit-row button{color:#c0392b;cursor:pointer;background:0 0;border:none;font-size:13px}.newtag{gap:6px;margin-top:12px;display:flex}.newtag input{border:1px solid #ccc;border-radius:8px;flex:1;padding:8px 10px;font-size:14px}.color-opts{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.color-opt{cursor:pointer;border:3px solid #0000;border-radius:50%;width:26px;height:26px}.color-opt.sel{border-color:#333}
