@import url("https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@400;500;700&display=swap");:root{--bg-top:#fff8fc;--bg-bottom:#f3f8ff;--surface:#ffffff;--surface-soft:#fffafd;--text:#5c4d63;--text-strong:#4a3d52;--muted:#9a8aa8;--border:#f0dce8;--border-input:#ecd9ea;--primary:#f5a8c5;--primary-hover:#ef8fb3;--primary-shadow:rgba(245,168,197,0.45);--lavender:#c9b8f0;--lavender-hover:#b9a3eb;--mint:#b8ebd4;--peach:#ffd4c4;--success-bg:#e8faf2;--success-text:#3d8f6e;--success-border:#b8e8d0;--error-bg:#fff0f3;--error-text:#c45c72;--error-border:#f5c4d0;--danger:#f5a0b0;--danger-hover:#ef889c;--radius-sm:14px;--radius-md:20px;--radius-lg:24px;--radius-pill:999px;--shadow-card:0 8px 24px rgba(180,140,170,0.12);--shadow-card-hover:0 12px 28px rgba(180,140,170,0.18);--shadow-btn:0 4px 14px rgba(245,168,197,0.35)}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:M PLUS Rounded\ 1c,Hiragino Maru Gothic ProN,Yu Gothic UI,sans-serif;background:linear-gradient(165deg,var(--bg-top) 0,var(--bg-bottom) 55%,#fef9f3 100%);background-attachment:fixed;color:var(--text);line-height:1.65}.app{max-width:720px;margin:0 auto;padding:1.5rem 1.15rem 3rem}header{text-align:center;margin-bottom:.5rem}h1{margin:0 0 .35rem;font-size:2rem;font-weight:700;color:var(--text-strong);letter-spacing:.04em}.subtitle{margin:0 0 1rem;color:var(--muted);font-size:.95rem;font-weight:500}.auth-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1.25rem;padding:.75rem 1rem;background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.auth-bar-email{margin:0;font-size:.9rem;font-weight:600;color:var(--text-strong);word-break:break-all}.auth-bar-label{color:var(--muted);font-weight:700;margin-right:.35rem}#logout-btn{background:linear-gradient(135deg,var(--lavender) 0,#ddd0f5 100%);color:var(--text-strong);box-shadow:none;min-height:40px;padding:.5rem 1.1rem;font-size:.9rem}#logout-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--lavender-hover) 0,var(--lavender) 100%)}#signup-btn{background:linear-gradient(135deg,var(--lavender) 0,#ddd0f5 100%);color:var(--text-strong);box-shadow:none}#signup-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--lavender-hover) 0,var(--lavender) 100%)}#message{min-height:1.25rem;margin-bottom:1.15rem;padding:.85rem 1.15rem;border-radius:var(--radius-md);font-size:.95rem;font-weight:500;display:none;border:2px solid transparent}#message.is-visible{display:block}#message.success{background:var(--success-bg);color:var(--success-text);border-color:var(--success-border)}#message.error{background:var(--error-bg);color:var(--error-text);border-color:var(--error-border)}.card{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:1.5rem 1.35rem;margin-bottom:1.75rem}.card h2{margin:0 0 1.15rem;font-size:1.15rem;padding-bottom:.65rem;border-bottom:2px dashed var(--border)}.card h2,label{font-weight:700;color:var(--text-strong)}label{display:block;margin-bottom:.4rem;font-size:.92rem}.is-hidden{display:none!important}input[type=email],input[type=password],input[type=text],select,textarea{width:100%;padding:.85rem 1rem;border:2px solid var(--border-input);border-radius:var(--radius-sm);font-size:16px;font-family:inherit;font-weight:500;margin-bottom:1.1rem;background-color:var(--surface-soft);color:var(--text);transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}input[type=text]::placeholder,textarea::placeholder{color:#c4b0c8}input[type=text]:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);background-color:#fff;box-shadow:0 0 0 4px rgba(245,168,197,.22)}.field-select{position:relative;z-index:2;margin-bottom:1.1rem}.field-select select{margin-bottom:0;min-height:48px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--surface-soft);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%239a8aa8' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}select:disabled{opacity:.7;cursor:not-allowed}@media (hover:none) and (pointer:coarse){select{-webkit-appearance:menulist;-moz-appearance:auto;appearance:auto;background-image:none;padding-right:1rem}}textarea{min-height:9rem;resize:vertical;line-height:1.6}.content-input-row{display:flex;gap:.65rem;align-items:flex-start;margin-bottom:1.1rem}.content-input-row textarea{flex:1 1;margin-bottom:0}#voice-input-btn{flex-shrink:0;width:52px;min-height:52px;padding:0;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--lavender) 0,#ddd0f5 100%);color:var(--text-strong);box-shadow:0 4px 12px rgba(201,184,240,.35)}#voice-input-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--lavender-hover) 0,var(--lavender) 100%)}#voice-input-btn.is-recording{background:linear-gradient(135deg,#ef889c,#f5a0b0);color:#fff;animation:mic-blink 1s ease-in-out infinite}@keyframes mic-blink{0%,to{opacity:1;box-shadow:0 0 0 0 rgba(239,136,156,.55)}50%{opacity:.7;box-shadow:0 0 0 10px rgba(239,136,156,.15)}}.form-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.25rem}button{min-height:46px;padding:.65rem 1.35rem;border:none;border-radius:var(--radius-pill);font-size:1rem;font-weight:700;cursor:pointer;font-family:inherit;letter-spacing:.03em;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}button:hover:not(:disabled){transform:translateY(-2px)}button:active:not(:disabled){transform:translateY(0)}button:disabled{opacity:.55;cursor:not-allowed;transform:none}#save-btn{background:linear-gradient(135deg,var(--primary) 0,#f8b8d8 100%);color:#fff;box-shadow:var(--shadow-btn)}#save-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-hover) 0,#f5a8c5 100%);box-shadow:0 6px 18px var(--primary-shadow)}#cancel-edit-btn{background:#fff;color:var(--muted);border:2px solid var(--border-input);box-shadow:none;display:none}#cancel-edit-btn:hover:not(:disabled){background:var(--surface-soft);color:var(--text);border-color:var(--lavender)}#cancel-edit-btn.is-visible{display:inline-block}#memo-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}.memo-item{border:2px solid var(--border);border-radius:var(--radius-md);padding:1.15rem 1.2rem;background:linear-gradient(145deg,#ffffff 0,var(--surface-soft) 100%);box-shadow:var(--shadow-card);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.memo-item:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.memo-item.is-editing{border-color:var(--lavender);background:linear-gradient(145deg,#fdfaff,#fff5fa);box-shadow:0 0 0 4px rgba(201,184,240,.25),var(--shadow-card)}.memo-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.65rem;padding-bottom:.55rem;border-bottom:2px dotted var(--border)}.memo-title{margin:0;font-size:1.1rem;font-weight:700;color:var(--text-strong);line-height:1.4}.memo-date{color:var(--muted);font-size:.82rem;font-weight:500;white-space:nowrap;background:var(--peach);padding:.2rem .65rem;border-radius:var(--radius-pill)}.memo-meta{margin:0 0 .4rem;font-size:.9rem;color:var(--text);padding:.35rem .65rem;background:rgba(201,184,240,.15);border-radius:var(--radius-sm)}.memo-meta-label{font-weight:700;color:#8f7dad;margin-right:.35rem}.memo-meta-empty{color:var(--muted);font-style:italic}.memo-excerpt a,.memo-meta a{color:#7b6ab8;font-weight:600;text-decoration:underline;text-underline-offset:2px;word-break:break-all}.memo-excerpt a:hover,.memo-meta a:hover{color:#5f4f9a}.memo-excerpt{margin:.5rem 0 1rem;padding:.75rem .9rem;color:var(--text);font-size:.95rem;font-weight:500;white-space:pre-wrap;word-break:break-word;background:rgba(184,235,212,.2);border-radius:var(--radius-sm);border-left:4px solid var(--mint);line-height:1.6}.memo-actions{display:flex;flex-wrap:wrap;gap:.55rem;padding-top:.25rem}.btn-edit{background:linear-gradient(135deg,var(--lavender) 0,#ddd0f5 100%);color:#fff;box-shadow:0 4px 12px rgba(201,184,240,.4)}.btn-edit:hover:not(:disabled){background:linear-gradient(135deg,var(--lavender-hover) 0,var(--lavender) 100%)}.btn-delete{background:linear-gradient(135deg,var(--danger) 0,#f8b8c8 100%);color:#fff;box-shadow:0 4px 12px rgba(245,160,176,.4)}.btn-delete:hover:not(:disabled){background:linear-gradient(135deg,var(--danger-hover) 0,var(--danger) 100%)}.list-status{color:var(--muted);text-align:center;padding:2rem 1rem;font-weight:500;background:var(--surface-soft);border-radius:var(--radius-md);border:2px dashed var(--border)}.list-status.error{color:var(--error-text);background:var(--error-bg);border-color:var(--error-border)}.ai-search-form{margin-bottom:1.1rem}.ai-search-row{display:flex;gap:.65rem;align-items:stretch}.ai-search-row input[type=text]{flex:1 1;margin-bottom:0}#ai-search-btn{flex-shrink:0;min-height:48px;padding:.5rem 1.2rem;font-size:.95rem;white-space:nowrap;background:linear-gradient(135deg,var(--lavender) 0,#ddd0f5 100%);color:var(--text-strong);box-shadow:0 4px 12px rgba(201,184,240,.4)}#ai-search-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--lavender-hover) 0,var(--lavender) 100%)}.ai-search-form .notice{margin-top:.75rem;margin-bottom:0}.ai-search-status{display:flex;align-items:center;gap:.75rem;margin:.75rem 0 0;font-size:.9rem;font-weight:600;color:var(--text-strong)}.ai-search-clear{min-height:32px;padding:.25rem .85rem;font-size:.85rem;background:#fff;color:var(--muted);border:2px solid var(--border-input);box-shadow:none}.ai-search-clear:hover:not(:disabled){background:var(--surface-soft);color:var(--text);border-color:var(--lavender)}.list-filter{margin-bottom:1rem}.list-filter label{margin-bottom:.4rem}.list-filter .field-select{margin-bottom:0}.auth-link-wrap{margin:-.35rem 0 1rem;text-align:right}.auth-back-link,.auth-link{color:#7b6ab8;font-weight:600;font-size:.9rem;text-decoration:underline;text-underline-offset:2px}.auth-back-link:hover,.auth-link:hover{color:#5f4f9a}.auth-back-link{display:inline-block;min-height:46px;padding:.65rem 1.35rem;border-radius:var(--radius-pill);background:#fff;color:var(--muted);border:2px solid var(--border-input);text-decoration:none;line-height:1.4}.auth-back-link:hover{background:var(--surface-soft);color:var(--text);border-color:var(--lavender)}.auth-help{margin:0 0 1.15rem;color:var(--muted);font-size:.92rem;font-weight:500;line-height:1.6}.notice{min-height:1.25rem;margin-bottom:1.15rem;padding:.85rem 1.15rem;border-radius:var(--radius-md);font-size:.95rem;font-weight:500;display:none;border:2px solid transparent}.notice.is-visible{display:block}.notice.success{background:var(--success-bg);color:var(--success-text);border-color:var(--success-border)}.notice.error{background:var(--error-bg);color:var(--error-text);border-color:var(--error-border)}.suggest-list{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-direction:column;gap:.75rem}.suggest-item{display:flex;align-items:flex-start;gap:.75rem;padding:.9rem 1rem;border-radius:var(--radius-md);border:2px solid var(--border);background:linear-gradient(145deg,#ffffff 0,var(--surface-soft) 100%);box-shadow:var(--shadow-card)}.suggest-item.priority-high{border-color:#f5c4d0;background:linear-gradient(145deg,#fff5f7,#fff0f3)}.suggest-item.priority-medium{border-color:#f3e2b3;background:linear-gradient(145deg,#fffdf2,#fff8e4)}.suggest-item.priority-low{border-color:#c3d9f5;background:linear-gradient(145deg,#f5f9ff,#eef5ff)}.suggest-priority{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-width:2.4rem;padding:.2rem .6rem;border-radius:var(--radius-pill);font-size:.85rem;font-weight:700;color:#fff}.suggest-priority.priority-high{background:#e0596f}.suggest-priority.priority-medium{background:#d9a514}.suggest-priority.priority-low{background:#5b8def}.suggest-body{min-width:0}.suggest-action{margin:0;font-size:.98rem;font-weight:600;color:var(--text-strong);line-height:1.5;word-break:break-word}.suggest-source{margin:.25rem 0 0;font-size:.82rem;font-weight:500;color:var(--muted);word-break:break-word}.suggest-actions{margin-top:0}#suggest-refresh-btn{background:linear-gradient(135deg,var(--lavender) 0,#ddd0f5 100%);color:var(--text-strong);box-shadow:0 4px 12px rgba(201,184,240,.4)}#suggest-refresh-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--lavender-hover) 0,var(--lavender) 100%)}.ai-format-actions{margin:-.35rem 0 1.1rem}#ai-format-btn{background:linear-gradient(135deg,var(--lavender) 0,#ddd0f5 100%);color:var(--text-strong);box-shadow:0 4px 12px rgba(201,184,240,.4)}#ai-format-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--lavender-hover) 0,var(--lavender) 100%)}