#memo-launch{position:fixed;right:24px;bottom:24px;z-index:20;display:flex;align-items:center;gap:12px;padding:14px 20px;border-radius:14px;box-shadow:0 6px 24px #003d7033}
#memo-launch svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7}
#memo-count{background:white;color:#005a9e;min-width:24px;border-radius:6px;padding:1px 6px}
#memo-panel[hidden],#memo-form[hidden]{display:none}
#memo-panel{position:fixed;right:16px;top:16px;bottom:16px;width:min(414px,calc(100vw - 32px));z-index:35;background:#f5f8fc;border-radius:16px;box-shadow:0 16px 60px #102b4d40;display:flex;flex-direction:column;overflow:hidden;animation:memo-enter .2s ease-out}
@keyframes memo-enter{from{transform:translateX(24px);opacity:.7}to{transform:translateX(0);opacity:1}}
.memo-head{padding:22px 22px 18px;background:#fff;border-bottom:1px solid #dbe5ef}
.memo-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.memo-top h2{font-size:23px;letter-spacing:-.5px;color:#123d60;margin:0}
.memo-head p{margin:6px 0 16px;color:#516477;font-size:13px}
.memo-top button{padding:6px 10px}
.memo-tools{display:flex;gap:8px;justify-content:space-between}
.memo-tools select{min-width:0;max-width:180px}
.memo-body{padding:20px;overflow:auto;flex:1;overscroll-behavior:contain}
#memo-status{color:#a12518;font-size:13px;margin:0 0 12px;white-space:pre-wrap}
#memo-status:empty{display:none}
.memo-paper{position:relative;background:#e3f1fc;color:#163b56;border-radius:3px 14px 14px 14px;padding:19px 18px 16px;margin-bottom:18px;box-shadow:0 4px 10px #17334e0d;overflow-wrap:anywhere}
.memo-paper:before{content:'';position:absolute;top:0;left:18px;width:44px;height:5px;background:#87bce3;border-radius:0 0 3px 3px}
.memo-paper.soon{background:#fff0cb;color:#654818}.memo-paper.soon:before{background:#d4ac48}
.memo-paper.late{background:#fce8e4;color:#792f25}.memo-paper.late:before{background:#d99485}
.memo-paper.done{background:#e9eee9;color:#415441}.memo-paper.done:before{background:#9bb29b}
.memo-meta{display:flex;justify-content:space-between;gap:10px;font-size:12px;font-weight:700;margin-bottom:10px}
.memo-paper h3{font-size:17px;line-height:1.35;margin:0 0 7px;color:inherit}
.memo-note{white-space:pre-wrap;font-size:13px;line-height:1.55;margin:0 0 14px}
.memo-date{font-weight:750;font-size:13px;display:block;margin-bottom:6px}
.memo-mail{font-size:12px;line-height:1.5;margin:0 0 15px}
.memo-buttons{display:flex;gap:8px;flex-wrap:wrap}.memo-buttons button{padding:6px 10px;font-size:12px}
.memo-buttons .memo-delete{margin-left:auto;color:#a12518;background:transparent}
.memo-footer{padding:12px 20px;background:#fff;border-top:1px solid #dbe5ef;color:#516477;font-size:11.5px}
.memo-empty{padding:32px 8px;text-align:center;color:#516477}.memo-empty b{display:block;font-size:18px;color:#123d60;margin-bottom:8px}
#memo-form{display:grid;gap:14px;margin-bottom:20px;background:white;padding:18px;border-radius:12px}
#memo-form h3{margin:0;font-size:17px;color:#123d60}
#memo-form input,#memo-form textarea,#memo-form select{width:100%;min-width:0}
#memo-form fieldset{margin:0;border:1px solid #dbe5ef;border-radius:8px;padding:10px;min-width:0}
#memo-form legend{font-size:12px;font-weight:700;padding:0 4px;color:#475467}
#memo-form .memo-check{display:flex;flex-direction:row;align-items:center;font-weight:500;font-size:12px;gap:8px;padding:5px 0;overflow-wrap:anywhere}
#memo-form .memo-check input{width:16px;height:16px;flex-shrink:0;accent-color:#0078d4}
#memo-form small{font-size:11.5px;color:#516477}
#memo-form button:disabled,.memo-buttons button:disabled{opacity:.55;cursor:wait}
#memo-panel :focus-visible{outline:2px solid #0078d4;outline-offset:3px}
@media(max-width:600px){#memo-panel{top:8px;bottom:8px;right:8px;width:calc(100vw - 16px)}#memo-launch{bottom:16px;right:16px}.memo-body{padding:16px}}
@media(prefers-reduced-motion:reduce){#memo-panel{animation:none}}
